BYTE 03-05 Graphics in Depth

Download as pdf or txt
Download as pdf or txt
You are on page 1of 208

AY

'

2.40 in C

the .. l- aI

iis journal

SCIENTIFIC U8RARY
R 14 3 197P

PAT. & T.M. OFFICE

z:,aN

RE AD S for B USINESS
We've got it all together - the cost effectiveness and reliability of our 6800 computer system
with a high capacity 1.2 megabyte floppy disk system ... PLUS- an outstanding new DOS
and file management system.

1 MEGABYTE DISK SYSTEM


DMAF1 introduces a new level of capability to
small computer systems . This disk system features two standard size floppy disk drives using
the new double sided disk and two heads per
drive . Usable storage space of over 600 kilobytes
per drive , giving a total of over 1 .0 megabyte of
storage on line at all times . Ideal for small business applications , or for personal "super" systems.

DMA CONTROLLER

The controller occupies one main memory slot


in an SS- 50 bus and uses the Motorola MC-6844
DMA controller . The combination of a DMA

type controller and double sided disks give the .r


system speed of data transfer unobtainable with
smaller drives.
OPERATING SYSTEM

To compliment this outstanding hardware we


are supplying equally superior software. The
disk operating system and file management system is called FLEX. It is one of the most flexible and complete DOS's available for small systems , but just as important ; it is easy to use.
No one can match the variety of compatible
peripherals offered by Southwest Technical
Products for the SS - 50 bus and the 6800 computer system . Now more than ever there is no
reason to settle for less.

DMAF1 Disk System ( assembled ) ......................................$ 2,095.00


DMAF1 Disk System (kit) ............................................$2,000.00
68/2 Computer with 40K of memory ( assembled ) .........................$ 1,195.00

SOUTHWEST TECHNICAL PRODUCTS CORPORATION


219 W . RHAPSODY
SAN ANTONIO, TEXAS 78216
Circle 350 on inquiry card.

A fast Z80 microcomputer with up to 512 kilo-

from analog I/O to high-speed RAM


memory with our bank-select feature.

bytes of RAM, 4 disk drives and 1 megabyte

TRULY POWERFUL SOFTWARE


You have to have software. And
Cromemco is far in front there, too.
Our FORTRAN IV, for example, is
equal to the FORTRAN compilers
on large mainframes. Further, it (and
our other software) is low-priced.
Our 16K Z80 BASIC is one of the
fastest and most capable. Full 14digit precision.

of disk storage -with CRT terminal and fast


printer. Even an optional PROM programmer.
Strong software support, too, like FORTRAN
IV, Extended BASIC , and Macro Assembler.
PROFESSIONAL GRADEFOR PROFESSIONALS

THE ONLY MICROCOMPUTER


OFFERING 4 DISK DRIVES

Chances are you've already heard


that there is a Cromemco System
Three Computer. We've proudly previewed it at WESCON on the West
Coast and NYPC on the East Coast.

Further, the System Three comes


with two disk drives to give you 512
kilobytes of disk storage. Softsectored IBM format. Optionally, you
can have four drives with 1 megabyte of storage.

But you also know Cromemco. We


don't announce until we're ready to
ship.

Now we 're ready.


And what a computer we've got
for you.
It does it all.
It's a complete system-processor,
CRT terminal, line printer.
First, it's fast-1 microsecond nominal execution time and 250 nanosecond cycle time.

Its equally fast RAM memory is


large and enormously expandable32 kilobytes expandable to 512 kilobytes. No danger of obsolescence
from inadequate RAM capacity.

There's disk protection, too, since


in the LOCK position disks can't be
ejected while they are running.
21-SLOT MOTHERBOARD
This new CS-3 is a computer that
won't be outdated soon. It has a 21card-slot slide-out motherboard and
an S-100 bus so that you can plug in
all sorts of support circuitry. The
heavy-duty 30-amp power supply can
easily handle all this.

BROAD S-100 SUPPORT


The S-100 is the bus that Cromemco so strongly supports with
over a dozen plug-in circuits ranging

There's also our Z80 Macro Assembler and Linking Loader. Uses
Z80 mnemonics. Allows referencing
FORTRAN common blocks.

CRT TERMINAL AND PRINTER


The CS-3 terminal has 80-character
lines and a 24-line page with line
and page editing.
Note the separate numeric keypad
and cursor keypad.
The printer is fast-180 characters
per second; 132-column lines.

SEE AT YOUR DEALER


You have to see the CS-3 to fully
appreciate it and its low prices starting at $5990 in the rack mount version.
See it at your local dealer shown
on the other side of this page. He
has a demo to show you.
He also has brochures giving you
details.
You know the CS-3 is going to be
a sensation.
Better contact your dealer now.

v Cromemco
Circle 80 on inquiry card.

see next
page
BYTE May 1978

In This BATE
About the Cover:
The computer experimenter of the
future shown on this month's cover is
using a computer graphics terminal
created by artist Joel N Wilson to
make a point: computer graphics has
come of age. Future scenes such as
Joel's painting are not far off, and
this month's issue is largely devoted
to the fascinating world of computer
graphics.
Taking photographs of your video
display is an inexpensive alternative to
buying a printer or other hard copy
device for your computer. However,
it's not always as easy as it sounds.
Dr Dwight D Egbert gives some
valuable tips on the subject in The
Photograph Is Also a Hard Copy.
page 10

Real 3-D graphics? It sounds like an


impossible concept, even given the
magic of minicomputers, but that is
just what authors Timothy Walters and
William Harris have created. Read
Graphics in Depth : 3-D Adds a New
Dimension to Your Display and find
out how to create images that change
perspective as you vary your viewing
angle.
page 76

What's the difference between an


RF monitor and a direct video entry
monitor? Find out in Convert Your
TV Set to a Video Monitor. Dan
Fylstra explains the relative merits
of the two approaches to video displays, and gives you some idea of the
techniques necessary to implement
both methods.
page 22
Would you like to try some pseudocolor? How about an 8 level grey scale?
High density video graphics is an
exciting application of personal computing. There are many video display boards on the market to help you
get started. Read about one of them in
The Matrox ALT-256 Video Board,
by Gary Ruple.
page 24
4 May 1978 0 BYTE Publications Inc

page 32

Color graphics is an exciting branch


of personal computing. Ordinary video
display programs take on a new luster
when converted to color. Authors
Thomas A Dwyer and Margot Critchfield discuss the use of Color Graphics
on the Compucolor 8051.
page 32
Is there a practical microcomputer

'f3

PASCAL language system? Ken Bowles,


Qf.;the In1ti for Information Sys-

terns at the Unibersity of California


San Diego, outlines what is perhaps
!Ii j*of thet+rnost significant software
developments of the past year or so:
th UCSD PASCAL system now avail-

'1 ab 6or^ L'SI-1 1; 8080 and Z-80


machines and soon to be available for
other major general purpose microcomputer systems. Read Ken's account
of UCSD PASCAL: A (Nearly) Machine
Independent Software System.
page 46

A hidden line subroutine for your


plotter can make the difference
between an average plot and a professional looking one. The algorithms
aren't as difficult as you might think.
Read Hidden Line Subroutines for
Three-Dimensional Plotting by Mark
Gottlieb and find out more.
page 49
One way to learn more about
display systems for television is to
read a detailed description of a practical video driver program. John Webster
and John Young have done just that
in GRAPH: A System for Television
Graphics. In part 1, this month, the
authors provide background information and begin a detail discussion of
this character editing system used

for titling and graphics associated with


educational videotape production.
page 62

Did you ever wish your video display could handle Greek letters, subscripts, different size fonts, or even
APL characters? How about special
graphics characters? Find out how to
add these and many other characters
to your video display system in A
Programmable Character Generator by
Larry Weinstein.
page 79
When designing a light wand and
signal processor it is desirable to have
as few external variables as possible
affecting the output. In A Low Cost
Light Wand Amplifier, Robin C
Moseley examines some of the variables that must be considered and
describes a particular signal processor
which is tolerant of many external
variables.
page 92
Last month Steve Ciarcia described
the transmitter section of his AC wireless remote control system. This
month read the concluding description
of the receiver in Tune In and Turn
On, Part 2 , and start experimenting
with your own computer controlled
wireless appliance and light control
system.
page 97

This month, Jack Bryant and


Manot Swasdee complete their description of How to Multiply in a
Wet Climate with the details of multiplier hardware and a program to test
the multiplier in comparison with an
equivalent software multiplication.
page 704

LookToThe North Star HORIZON Computer.


HORIZON TT"- a complete, high-performance microprocessor
system with integrated floppy disk memory. HORIZON is
attractive, professionally engineered, and ideal for business,
educational and personal applicaticns.
To begin programming in extended BASIC, merely add a CRT
or hard-copy terminal. HORIZON-1 includes a Z80A processor,
16K RAM, minifloppyTM 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


2547 Ninth Street Berkeley , California 94710 (415) 549-0858
Circle 285 on inquiry card.

BYTE May 1978 5

The answer is a
It's the serious
solution to the
small computer
question.
Sol Systems are the key to effective, economical
small computer power. Sol Systems give you the force of a
powerful general purpose computer. the problem solving
capability of high level languages and the operational simplicity
of everyday office equipment.
From the ground up, Sol Systems were designed to do
a complete job without adding a load of costly extras. In fact,
when you compare the "everything included" price of
a quality, field proven Sol System with anything else on the
market, you'll be happily surprised to find out how little
the extra performance and convenience costs.

For example, complete Sol Systems with 16,384 bytes


of RAM memory start at less than $2500? Expanded systems
with 49.152 bytes of RAM memory, 1.5 million bytes of
on-line disk memory, disk operating system and Extended
Disk BASIC cost less than $8000? Both systems are fully
assembled, burned-in, tested and ready to go.

Sol Compatibility
Sol Systems feature the S-100 bus for pin-to-pin
compatibility with a wide variety of add-on devices such as
voice input and computer graphics. Standard Sol
parallel and serial interfaces will drive most standard printers,
modems and other peripherals.

A word about languages


No system is complete without software, and at Processor
Technology we have tailored a group of high level languages,
an assembler and other packages to suit the wide capabilities
of our hardware.
Take a look at our exclusive Extended BASIC as an example.
In cassette form, this BASIC features string and advanced
*U.S. prices only.

Sol System*
file handling, special screen commands, timed input, complete
matrix, logarithmic and trigonometric functions, exponential numbers, 8 digit precision and square root. The language
handles serial access files, provides tape rewind and
offers cursor control for graphics capability.
The disk version has all the number crunching talents
of the cassette BASIC plus instant access to data and programs
on floppy disks. It includes random as well as sequential
files and a unique ability to update sequential data in place.
Processor Technology FORTRAN is similar to FORTRAN IV
and has a full set of extensions designed for the "stand alone"
computer environment. Thousands of special application
programs available through books and periodicals have already

_.,been written in this well established language.


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

No wonder we call it the serious solution


to the small computer question.
It's the small computer system to do the general ledger and

the payroll. Solve engineering and scientific problems.


Use it for word processing. Program it for computer aided
instruction. Use it anywhere you want versatile
computer power!

Sold and serviced only by the best dealers.


Sol Systems are sold and serviced by an outstanding group
of conveniently located computer stores throughout the
United States and Canada. They are also available in Australia,
Europe, the United Kingdom, Central America, South
America, Japan and Singapore.
For more information contact your nearest dealer listed on
the following page. Or write Department B, Processor
Technology Corporation, 7100 Johnson Industrial Drive,
Pleasanton, CA 94566. Phone (415) 829-2600.
Circle 305 on inquiry card.

Processor T- chnology

Editorial

Your
Sol dealer
has it.

On the Uses of
Snowstorms in
Computer Science

By Carl Helmers

Articles Policy
BYTE is continually seeking quality
manuscripts written by individuals who
are applying personal computer systems,
designing such systems, or who have
knowledge which will prove useful to
our readers . I or a more formal description of procedures and requirements,
potential authors should send a selfaddressed , stamped envelope to BYTE
Authors' Guide, 70 Main St, Peterborough NIT 03458.
Articles which are accepted are
purchased with a rate of up to $50 per
magazine page , based on technical
quality and suitability lur BYTE's
readership. Each month, the authors
of the two leading articles in the reader
poll (BYTE's Ongoing Monitor Box or
"BOMB'') are presented with bonus
checks of $100 and 550 . Unsolicited
materials should be accompanied by full
name and address , as well as return
pus tage.

8 May 1978

BYTE

By the time you read this, the events of


this past week will be history as the seasons
progress. Monday evening (Feb 6 ) it began
to snow a bit in Peterborough. It had apparently been snowing through most of the day
at places further south along the eastern
seaboard, but I had no expectation of anything out of the ordinary. After all, the
morning news and weather reports I listened
to had said we might get a foot of snow,
but that is hardly unusual. One of the reasons for locating one's home and place of
business in the hills of New Hampshire is
to take advantage of those opportunities
for transient beauty which are presented
each year by a full cycle of seasons. All
six seasons - Summer, Foliage, Winter,
Mud, Spring and Black Fly - come and go
in a regular cycle each year. Since the first
week of February is solidly within the
Winter phase of the cycle, another snowstorm is not a major event.
The beautiful clear day full of sunshine
which is this present Wednesday certainly
speaks well of the climate. But in between
Monday and Wednesday was that equally
natural event which was a winter's gale,
or "Nor'easter" as this type of storm is
called by the local people. Already, the
people responsible for writing instant history
books have started calling the weather
conditions yesterday by the name "The
Great Blizzard of '78." The pundits of
course were not particularly original, for a
very similar term is often applied to a storm
of approximately 90 years earlier in 1888.
And the pundits also show a particular
regional bias. I don't recall any special terms
of endearment applied to the storm which a
half a week earlier had given New England
torrential rains while the Midwest was
racked with almost equivalent snows and
hurricane like winds. But somehow, if a
large amount of snow becomes your own
provincial local problem in Philadelphia,
New York, Providence or Boston, it becomes
"The Blizzard of '78," ayup. Very simply,
what happened was that a capricious storm
decided to sit on Cape Cod for most of
Tuesday, channelling water laden air off the
Continued on page 135

Publication,

Inc

Circle

AL: Birmingham : ICP, Computerland , 1550-D


Montgomery Hwy., (205 )979-0707. AZ: Tempe:
Byte Shop, 1425 W. 12th PI., (602)894-1129;
Phoenix : Byte Shop , 12654 N. 28th , ( 602x942-7300; Tucson : Byte Shop , 2612 E. Broadway,
(602)327-4579. CA: Berkeley : Byte Shop,
1514 University, (415)845-6366 ; Costa Mesa:
Computer Center, 1913 Harbor, (714)
646-0221, Hayward : Byte Shop , 1122 " B" St.,
(415)537-2983 , Hayward : Computerland of
Hayward , 22634 Foothill Blvd., (415 ) 538-8080;
Lawndale: Byte Shop , 16508 Hawthorne,
(213)371-2421; Mt. View: Byte Shop, 1063 El
Camino, ( 415)969 - 5464; Mt. View : Digital
Deli, 80 W. El Camino, ( 415)961 - 2670; Orange:
Computer Mart, 633-B W Katella, (714)
633-1222; Pasadena : Byte Shop, 496 S. Lake,
(213)684-3311; Sacramento: Micro-Computer
Application Systems, 2322 Capitol, (916)
443-4944; San Francisco : Byte Shop , 321 Pacific,
(415)421 - 8686; San Jose : Byte Shop, 2626
Union, (408)377-4685 ; San Rafael: Byte Shop,
509 Francisco , ( 415)457-9311; Tarzana: Byte
Shop, 18424 Ventura, (213)343-3919; Walnut
Creek: Byte Shop, 2989 N. Main , (415)933-6252.
CO: Boulder: Byte Shop , 3101 Walnut,
(303)449 - 6233 ; Denver: Byte Shop, E. 1st Ave. &
University, ( 304)399-8995 . FL: Ft . Lauderdale:
Byte Shop, 1044 E. Oakland Pk., (305)561-2983;
Miami: Byte Shop , 7825 Bird, (305)264-2983,
Tampa : Microcomputer Systems, 144 So. Dale
Mabry, ( 813)879 - 4301. GA: Atlanta : Computer
Mart , 5091-B Buford , ( 404)455-0647. IL:
Champaign: Computer Co., 318 N. Neil, (217)
359-5883; Numbers Racket , 6231/z S. Wright,
(217)352-5435; Evanston: itty bitty machine co,
1322 Chicago, (312)328 - 6800; Schaumburg:
Data Domain, 1612 E. Algonquin . ( 312) 397-8700.
IN: Bloomington: Data Domain , 406 S. College,
(812)334 - 3607 ; Indianapolis : Data Domain, 7027
N. Michigan . (317)251-3139.
IA: Davenport :
Computer Store , 4128 Brady, (319)386-3330.
KS: Overland Park: Personal Computer Center,
3819 W 95th St., (913)649-5942.
MA: Boston:
Computer Warehouse Store, 584 Commonwealth,
(617)261 - 2700 . MD: Towson : Computer Etc..
13A Allegheny, (301)296-0520. MI: Ann Arbor:
Computer Store, 310 E. Washington, (313)
995-7616 ; East Lansing : General Computer Store,
1310 Michigan , (517)351-3260; Troy: General
Computer Store, 73 W. Long Lake Rd., (313)
689-8321 . MN: Minneapolis : Computer
Depot, 3515W. 70th, (612)927-5601 . NJ: Cherry
Hill: Computer Emporium , 2438 Route 38,
(609)667-7555; Hoboken: Computer Works, 20
Hudson PI., (201)420-1644; Iselin: Computer
Mart, 501 Rt . 27, (201 ) 283-0600 . NY: Endwell:
The Computer Tree, 409 Hooper Rd., (607)
748-1223, New York: Computer Mart, 118 Madison,
(212)686 - 7923 ; White Plains : Computer

Corner, 200 Hamilton, (914)949 - 3282. NC:


Raleigh : ROMs ' N' RAMS, Crabtree Valley
Mall, (919 )781-0003. OH: Columbus : Byte Shop,
2432 Chester, ( 614)486 -7761; Dayton:
Computer Mart. 2665 S . Dixie, (513 ) 296-1248.
OR: Beaverton : Byte Shop , 3482 SW Cedar
Hills, (503 ) 644-2686: Eugene : Real Oregon
Computer Co.. 205 W 10th, (503)484-1040;
Portland: Byte Shop, 2033 SW 4th Ave., (503)
223-3496. RI: Warwick : Computer Power,
M24 Airport Mall, 1800 Post Rd., (401)738-4477.
SC: Columbia : Byte Shop , 2018 Green,
(803)771 - 7824. TN: Kingsport : Microproducts
& Systems, 2307 E. Center, (615)245-8081.
TX: Arlington: Computer Port, 926 N. Collins,
(817)469 - 1502 ; Arlington: Micro Store.
312 W. Randol Mill Rd., (817)461 - 6081 ; Houston:
Interactive Computers , 7646 % Dashwood,
(713)772-5257; Lubbock: Neighborhood
Computer Store , 4902-34th St .. ( 806)797-1468;
Richardson : Micro Store , 634 So . Central
Expwy., ( 214)231 -1096. VA: McLean: Computer
Systems Store , 1984 Chain Bridge, (703)
821-8333 ; Virginia Beach : Home Computer
Center, 2927 Va. Beach Blvd ., ( 804)340-1977.
WA: Bellevue: Byte Shop, 14701 NE 20th,
(206)746 - 0651 ; Seattle : Retail Computer Store,
410 NE 72nd, (206)524-4101 . WI: Madison:
Computer Store . 1863 Monroe , ( 608)255-5552;
Milwaukee: Computer Store, 6916 W. North,
(414)259-9140 . D.C.: Georgetown Computer
Store, 3286 M St. NW. (202)362-2127.
CANADA : Toronto, Ont: Computer Mart, 1543
Bayview, ( 416) 484 - 9708 ; First Canadian
Computer Store , 44 Eglinton Ave. W., ( 416)
482-8080 , Vancouver, B.C.: Basic Computer
Group. 1438 W. 8th, (604)736-7474; Pacific
Computer Store, 4509 Rupert, (604)438-3282.

Processor
305

on

inquiry

card.

B
-Subsystem
Each board is a standout.

Together, they're a powerhouse.

In the beginning there were boards.


thousands of them.
That's how we started in the business.
Making memories and interfaces for
other people's computers... and making
them better.
Now that our own Sol has become
the number one small computer, you
might think were putting less emphasis
on our board business.
Not so.
We're just doing more creative things
with them.

One neat package gets your


computer on the air.
For example, we've built Subsystem
B, which ties together five Processor
Technology modules into a completely
integrated system that makes other
S-100 Bus computers work almost as
well as our Sol.
Circle 305 on inquiry card.

Subsystem B includes a memory


module, three input/output modules,
a general purpose memory, and
appropriate software.
A specialized software program
called CUTER knits together
your computer and its peripherals to
create an integrated, smoothly
working system.
Its the fastest, cleanest way to get on
line, and it costs less than if
you bought each module separately.
You get your choice of two low
power, reliable memory modules in 8K
or 16K capacity.
Our VDM-1 video display module
(still 5199 in kit) is the industry standard
display device with over 6,000 in use.
Our CUTS high speed, low cost
(5149 in kit) audio cassette interface is
the most reliable on the market and is
supported by our broad line of cassette

software including Extended BASIC,


FORTRAN' PILOT' FOCAL and
numerous others.
And our 3P +S input/output module
offers a low cost way to handle
virtually all the I/O needs of any S-100
Bus compatible computer system.
There are close to 10,000 in the field.
Price is just 5149 in kit.
Yes, we may have become the maker
of the Number I small computer the Sol. But we haven't neglected the
quality of our board business. We
can't afford to... because we use many
of them in our own computers.
For our most recent literature and
price list see your dealer or write
Processor Technology Corporation,
Box B, 7100 Johnson Industrial Drive,
Pleasanton, CA 94566. (415) 829-2600.

ProcessorTechnology
*Acailable soon.

U.S. prices only.

Dr Dwight D Egbert
c/o 1639 Madison Av
Memphis TN 38104

The Photog raph Is Also a H ard Cop y

Photo 1.
Even with the arrival of low cost alphanumeric printers for hobby computers, there
are still several situations in which photographs from video displays are the most
satisfactory form of hard copy. This is particularly true when you are displaying graphs
or image data in black and white, or with
almost any color display. In fact, most professionals working with color displays are
still forced to photograph their video displays to obtain color hard copy. At present,
satisfactory color hard copy devices range in
price from $50,000 to well over $500,000.

Likewise, the current small system printers are not suitable for image data, whether
black and white or color. Image data differs
from the usual alphanumeric and graphics
data because the display is no longer binary
(black or white, color or no color). Instead,
image data is displayed in a two-dimensional
array or raster, and each element of the
array or each picture element (pixel) can
10 Ma, 1978 BY I L PuhIlceuon, In,

possess one of several grey levels or colors.


In the field of personal computing, the
Cromemco Dazzler is capable of displaying
image data in up to a 64 by 64 pixel array
with each pixel one of 16 possible grey
levels or 15 possible colors. The Apple II
has a similar mode of operation with 16
colors and black available in a 44 high by
40 wide array. For these types of displays
it will probably be many years before a
viable alternative to photography exists for
low cost hard copy.
There are several techniques you can
employ to produce photographs of video
displays that will insure consistently high
quality results. Many kinds of cameras can
be used with these techniques, but by far
the easiest to use is the single lens reflex.
Some models of Polaroid cameras equipped
with close-up attachments also work well.
Whichever camera you use, it is essential
that you attach it to a solid mount. This
might be a tripod, a low cost camera clamp,
or a device of your own construction. The
camera should be positioned perpendicular
to the video display screen so that the screen
is centered and almost completely fills the
viewfinder. As with most of the techniques
discussed here, consistency is paramount
if you want to obtain reliable and repeatable
results. To achieve consistency in camera
positioning, it is desirable to build some
simple mechanism to hold the camera in the
same location every time you use it. Alternatively, if you use a tripod, mark the leg
positions on the floor with tape, or at least
measure the distance from the screen to the
camera with a tape measure.
Once the camera is mounted, the room
lights should be dimmed or preferably
turned off when you actually take a picture.
If the room contains windows, pull the
shades or completely block them. You will
obtain the best results in a completely dark
room. If you cannot completely eliminate
light from the room, position the display
so that any light sources are behind it to
prevent light reflections from the screen.
Make a habit of observing any such reflections while looking through the camera
viewfinder. Normally, reflections will not be

Photo 3.

Photos 1 thru 5: Some examples of high


resolution color graphics photographed by
the author from various high resolution
color graphic displays, using techniques
similar to those described in this article.
Photo 7 is a false color image of farmland
obtained from an aircraft by a NASA 24
channel multispectral digitizing scanner. The
data was converted and displayed on a high
resolution color monitor at the NASA
Goddard Institute for Space Studies in
New York. Photos 2 and 3 were recorded
by LANDSAT satellite and processed by
the General Electric Image 100 image
analysis system. The LANDSAT system
records four black and white images taken
in different parts of the light spectrum.
After analysis, the Image 100 displays grey
scale values or other computer derived features as arbitrary false colors. Photo 4 was
recorded from an aircraft and processed on
the Image 100 system. Photo 5 is a false
color image created at the University of
Kansas Center for Research, Remote Sensing
Laboratory, using their Identification, Discrimination, Enhancement Combination
System (IDECS).
MM,,^ 1978

B' IL Publication, 11 1

Photo 4.

noticed unless you are consciously looking


for them, but they will be obvious in the
resulting photographs. If you find that you
are unable to eliminate reflections of the
camera and yourself, you can overcome
this with a simple device. To eliminate the
camera reflection, use a piece of black
lightweight cardboard or stiff paper somewhat larger than the camera. Cut a round
hole in the center of the paper just large
enough for the camera lens to fit through,
and attach it to the lens with either tape
or a filter adapter ring. You can eliminate
reflections of yourself by standing to one
side of the camera during the exposure.
This is facilitated by the use of a shutter
cable release, which also guards against
camera movement during the typically long
exposure times.
There is one case when you might want
to intentionally use room light when photographing a display. If you are photographing
a vector display or oscilloscope screen
as opposed to a raster scan video display,
you can use a dim room light to reduce
contrast. A desk or table lamp placed behind
the display screen is usually sufficient. If
you're going to do this often, it might be
worthwhile to make a few tests with
different lamp intensities to determine the
proper ratio of background to display
lighting. When using this technique, be
conscious of potential reflection problems.
Next, it is necessary to adjust the video
display properly. This is the most important
factor in obtaining high quality photographs.
The use of excessive contrast and/or bright12 May 1978 eJ BYTE Publications In,

ness when adjusting the display can degrade


images. For good quality photographs, the
display should appear slightly "flat" with
lower contrast than used for normal viewing,
and there should be absolutely no sign of
blooming or smearing of the high intensity
areas. You can achieve this condition
through an iterative adjustment of the
contrast and brightness controls. First, lower
the contrast somewhat from its normal
setting. Then, adjust the brightness control
until you can just see dim grey over the
entire background raster where there is no
signal present (ie: no image or characters).
If, at this point, the image appears excessively low in contrast, turn the contrast
up slightly and readjust the brightness to
obtain a barely visible background. Alternatively, if the image appears too contrasty, or if the high intensity areas are
smeared, turn the contrast down slightly
and readjust the brightness. The secret is
to obtain a display with a dark grey background raster and slightly lower contrast
than you think is proper.
Since this procedure requires qualitative
judgement on your part, it is very important
to experiment with a test roll of film using
several slightly different settings. Throughout the test be sure to record the video
display control positions and camera settings
for each exposure. Otherwise, by the time
you have the developed film ready to
evaluate, you will probably find it impossible to duplicate any of the test conditions.

If you are using a DC coupled video

Give your M
minidisks
io hiappy,

home.

You know your VERBATIM"minidisks are


tough. Long-lived. Rugged. Now, chances
are good that your minidisks will last forever.
The reason? The Mini Data File.
ITC's Mini Data File is a neat new
way to store and ship your
VERBATIM minidisks. Made from
high-impact plastic, the Mini Data
File is lightweight and convenient. It
protects your data in ways that a file
drawer never could. No more dust, for
instance. And no more damage from tough,
everyday handling.

For a limited time, ITC will give you this


X $4.50 storage box free when you buy ten

VERBATIM minidisks.
Check your local VERBATIM dealer or
computer suppliers store. And if you don't
know a dealer near you, call us.
We want to see your data happy and safe.
Call Toll Free : ( 1) 800-821 -7700, Ext. 515
(In Missouri call:

800-892 -7655, Ext. 515)


Information Terminals Corp.

323 Soquel Way, Sunnyvale, CA 94086


(408) 245-4400
Circle 177 on inquiry card.

BYTE May 1978 13

Although any shutter speed within this


range is adequate, I prefer 1 /2 or 1 /4 second,
which usually results in a reasonable f-stop
setting with my particular film.
Automatic exposure controls and light
meters are only partially effective in this
application. In order to utilize these aids,
your test display should contain an even
mix of light and dark pixels. Or, if you are
photographing an alphanumeric display,
it should be nearly filled with text. As a
rule of thumb, if your display is about 1/2
full of text, decrease the light meter exposure by 1 /2 f-stop, and if your display is
1 /4 full, decrease the meter exposure by
one full f-stop. Also, during the initial tests,
it is wise to bracket the determined exposure
by making two additional exposures at each
test setting: one at one f-stop more exposure, and one at one f-stop less exposure.

Photo 5.
input, you can use the results of this test to
determine the optimum contrast and brightness settings for your equipment. YOU can
mark these and use them for all photographing. Also, you can achieve the most
consistent results this way. However, if you
are using capacitor coupled video or RF
(radio frequency) input, the contrast and
brightness are somewhat data-dependent
and you may need to make slight adjustments for different displays. Even in this
case, though, a single setting of the contrast
and brightness controls can be used most
of the time, and marked settings should
certainly be used as a constant reference.
When making the initial tests it is also
necessary to determine the proper film
exposure. For static video display patterns,
the shutter speed you use is not critical.
The only consideration is that it must be
longer than 1/30 of a second, since this is
the time required for one complete screen
refresh. Likewise, the exposure time should
not normally exceed 1 second to prevent
problems with film reciprocity failure.
14 M,o 1978` BPI E Nubli,,tlum Im

The proper film exposure also depends on


which film you are using. For color, I prefer
Kodak Ektachrome -64 daylight type (ASA
64), and for black and white, Kodak Panatomic-X exposed at ASA 64 instead of the
rated ASA 32. With either of these films and
a properly adjusted video display, a good
starting exposure is 1 /2 second at f/4. If
you do not have an exposure meter, you can
make your initial tests with this basic exposure together with two bracketing exposures of plus and minus one f-stop. If you
prefer another film you can adjust the basic
exposure according to your film's ASA
rating. For example, ASA 125 film requires
one f-stop less exposure, and ASA 32 film
requires one f-stop more exposure. [At
BYTE we have had good results using the
new high speed Kodak Ektachrome (ASA
200), a macro close-up lens with f-stop set
using the through-the-lens meter, and
1175th second exposure in a dark room.
The color photos in Carl Helmer's Apple 11
review, page 18 of the March 1978 issue,
were made this way... CM/
When using color film always use daylight
type, not tungsten or indoor type. Daylight
film faithfully reproduces the color balance
of the video display. Also, I recommend
that you avoid color negative films in favor
of color slide or transparency film, unless
you do your own color printing or are
willing to pay the cost of custom color
printing.

With a little bit of care, and using these


techniques, you should be able to use your
camera as a high quality black and white
or color hard copy device. But remember:
to avoid frustration and to ensure consistently high quality results, it is important
to establish, by test, a set of standard
settings for both the video display controls
and camera exposure.

The Ultimate Turn-on

On /off control everywhereby computer over the AC wiring


Now it's simple and economical
to control AC devices remotely from
an S-100 or Apple II computer.
Mountain Hardware's new IntrolTM
system delivers on/off commands
over the existing AC lines - so you
don't have to string a foot of wire!
Control at any AC outlet. The
Introl system impresses a codemodulated 50 KHz control signal
on the house wiring Then decodes
the signal at any outlet to switch
AC devices on and off. You can
control lights, refrigerators, TVs,
solenoid valves, sprinklers, burglar
alarms - and many other things we
leave to your fertile imagination.
With the addition of input sensors
to your computer system, you can
automatically control variables such
as temperature and soil moisture.

Here's how it works . You plug


in a single AC Controller board at
the computer bus and connect the
AC Interface Adapter to any convenient 115 VAC outlet. The AC
Controller is now connected to
address as many as 64 channels
remotely. But it's completely isolated

from the 115v power, so there's no


chance of short or shock.
At any outlet where you seek
control, plug in a Dual Channel AC
Remote. Then plug one or two
devices to be controlled into the
box. Every AC remote has two
independent 500 watt channels.
When commanded by the computer,
the Dual Channel AC Remote turns
the devices on and off independently When polled by the computer, the Dual Channel AC Remote
sends a signal back, telling the
computer the status of each device.
Bidirectional communication provides error free operation.
Simple programming. You write
your control program in BASIC or
Assembler language. Software subroutines for the control programs
come with the equipment along
with complete documentation. If
you have an S-100 computer, you
can program on/off commands at
any day and time using our optional 100,000 day Calendar/Clock
Board. A self contained power
source assures fail safe operation.

Modest prices . The AC Controller, for both the S-100 and Apple
II computers, costs $149 in kit form
or $189 completely assembled and
tested. Each Dual Channel AC
Remote costs $99 as a kit or $149
assembled and tested. Thus, a fully
operative system in kit form can be
yours for as little as $248.
The Calendar/Clock Board for
S- 100's costs $179 in kit form, $219
assembled and tested.
All prices are f.o.b. Ben Lomond,
CA Prices are USA Domestic. California residents add 6% sales tax.
Where to find it . The Introl
system can now be found at computer shops throughout the U S. and
Canada. Drop by and ask for a demonstration. Mountain Hardware,
Inc., may be reached at Box 1133,
Ben Lomond, CA 95005. Phone
(408) 336-2495.
AC Controller (Apple)

rr
e
Dual Channel AC Remote

AC Controller (S- IOO(


Circle 260 on inquiry card.

I ^ Mountain Hardware

RYTC May 1978 15

Photo 1: A three-dimensional "square spiral" being generated by the authors' microcomputer


controlled display system. At right is an oscilloscope screen displaying a series of points around
the perimeter of the screen. It appears that the points are being displayed simultaneously
because of the exposure time needed for the photograph, but they are actually being displayed
at different times. By synchronizing the display with the rotation of the mirror (at left), a true
three-dimensional image is created. Viewers can "see behind" the images, and perspective
changes with viewing angle.

Graphics in Depth
Timothy Walters
William Harris
The Computer Factory
51 Brattle St
Cambridge MA 02138

16 May 1978 0 BYTE Publications Inc

Introduction
Regular readers of BYTE have already
seen many articles and advertisements concerning graphic displays. A graphic display
adds direct visual impact to the computer
output, communicating directly in a nonverbal manner. The advantages of this kind
of display in specific applications are obvious. But what about adding a third dimension to the display?
Many drawings are representations of
three-dimensional data in two dimensions;
with the ability to display in three dimensions it would not he necessary to use perspective or other cues to suggest an impression of depth. Instead, an architectural
drawing, Space War, 3-D Life or abstract
graphic designs could he displayed directly.
An image displayed in this manner would
appear to exist in space; viewers could

"look behind" the image to a degree and see


it from different perspectives by simply
changing their viewing angle.
How can a three-dimensional display be
built? Several techniques have been used in
the past. One general method involves
presenting separate views to each eye by
means of a special viewing apparatus familiar
to anyone who has gone to a 3-D movie or
used a stereopticon. Many people find it
fairly easy to train themselves to merge two
stereo images presented side by side by
crossing or "walling" their eyes. This does
not require any special viewing equipment,
and anyone who is going to view a lot of
stereo images might want to learn this technique. Since it does require some training an
untrained friend may not be able to view a
graphics demonstration in a full three
dimensions without the special apparatus.

(2a)

3-D Adds a New


Dimension to Your Display
(2b)
Photos 2a and 2b: The
authors' laboratory. Photo
2b shows a close-up of the
3-D display apparatus. The
mirror is shown at left
mounted on its cardboard
tube, with the oscilloscope
behind it. The Digital
Group computer mainframe is at right.

May 1978 C BYTE Publications Inc 17

(3b)

a
Photos 3a, 3b and 3c: Photos 3a and 3b were taken from slightly different angles to form a stereoscopic pair. The image is generated by the program in listing 3; readers can view the image in 3-D using the techniques described in the text. If you have
access to a stereopticon, it may facilitate the process. Photo 3c shows the distorted image of the house as it appears on the
oscilloscope screen. It should be emphasized that photos 3a and 3b show the three-dimensional effect of the display at only one
viewing angle; the actual effect of looking down into the rotating mirror is much more realistic because the image changes shape
as the observer's viewing angle changes within a cone of visibility.

An example of separated stereo pairs is


shown in photo 3. The images may be
merged together by focusing the eyes at a
distance until the two blurred images merge,
and then focusing the eyes on the images
without letting the images separate . One way
to aid the eyes to merge these two images is
to use two paper tubes to look at the images.
With practice , the eyes will be able to view
the image comfortably and without strain.
With this technique , the right eye views the

Figure 1: One method for generating a three-dimensional display. A vertical


mirror is rotated in front of an oscilloscope screen. A volume of space is thus
defined in which points can be made to appear by displaying them on the
screen at the right time. One disadvantage of this method is the relatively
restricted viewing area caused by the position of the oscilloscope.
18 May 1978 BYTE Publications Inc

right image and the left eye views the left


image. The differing positions of the various
lines in the two images are matched up and
interpreted by the brain as if they correspond
to real lines at different depths. Viewed
properly, the house should appear as it would
from an aerial view. If the pairs are merged
in the opposite manner (by crossing the eyes
to look at a point close to the observer and
then refocusing), the apparent angles are
reversed and the house will appear to turn
"inside out." This technique may be aided
by focusing the eyes on a finger held above
the page. If you are unable to fuse stereo
images by moving the eyes, it may be necessary to purchase a stereo viewer from an
optics supplier to view this kind of display.
It is quite easy to generate these stereo
images on a high resolution plotter or
graphics terminal by calculating the appropriate perspective views for each image. This
produces realistic three-dimensional images
when viewed properly; however, they are
not auto-stereoscopic, that is, they do not
appear to be stationary three-dimensional
objects when the observer moves around to
different positions. Instead, they appear to
move around to follow the observer. However, with some mechanical construction, a
display system can be constructed that
produces a true three-dimensional image
viewable from a wide range of observer positions. The hardware and software system
described in this article can produce displays
containing up to 2000 points with a posiContinued on page 116

EX3000 a n ew multi -use r


multi-tasking
computer system.
This complete series of computer systems embody architectural
concepts previously found only in costly large scale computers. The
primary concepts used in the EX3000 computer systems are distributed processing for hardware and multi-tasking for system software. The EX3000 systems distribute system processing functions to
those system components that are best suited to perform those tasks.
This state-of-the-art technology was prohibitive until the recent introduction of cost effective computational and control microprocessors,
along with programmable peripheral circuits to perform preassigned
, dicated tasks. Coupling these cost effective components with the
stributed processing techniques proven by many large mainframe
computer manufacturers, Extensys Corporation has been able to provide exceptionally powerful and flexible systems. Through the
efficient use of system components in a modular structure, the
EX3000 Computer Systems allow configurations that meet a
wide variety of specific applications as well as offering expansion
capability to satisify increasing usage demands.
The hardware of the EX3000 Computer Systems consist of subsystems and boards. Three subsystems are provided:
FOS1000 Floppy Diskette Subsystem with Ito 4 Megabytes of on-line mass storage.
MTS40x Multiple Terminal Subsystem with 8 or more
independent RS-232c serial interfaces.
TPS400 Terminal/Operator Processor Subsystem with
keyboard, CRT, RS-232c serial interface, and
expanded video attributes.

Other p/c boards which are included in the EX3000 system are:
RM650 Memory board with 16K to 64K bytes of
RAM storage.
MM16 Memory Management board with bank switching
up to 1 megabyte of RAM memory and a priority
DMA mechanism for high speed DMA transfers.
MPU805 8085 Central Processor with on-board PROM
space (16K), prioritorized vectored interrupts,
and combination interval timers/event counters.
EMOS-IV,Extensys Multiprocessor Operating System, furnishes
fundamental EX3000 system software. This multi-tasking operating
system provides a high level interface between application programs
and EX3000 hardware components. EMOS-lV is a multi-process,
multi-user operating system which provides all file handling
capabilities as well as complete program development tools. Multiuser EMOS-IV provides memory protection for each user. It also
provides inter-system communication to allow multiple EX3000
systems to operate as a unit with a common data bank along with
secured individual user data bases.
Higher level languages including EXTENDED BASIC, COBOL and
ANSI FORTRAN which are EMOS- compatible offer added flexibility to generate application programs & development systems.
The EX3000 systems offer both high performance and cost-effective computer power to OEMs and end users. Join the Third Revolution in computer design by investigating the distributed processing/
multi-tasking capabilities of microprocessors built-into the Extensys
EX3000 Computer Systems.
For more information on the
EX3000 Computer Systems and how
they can satisfy your processing needs,
give us a call.

corporation
380 Bernardo Avenue
Mountain View, CA 94040
(415) 969-6100

Circle 135 on inquiry card.

BYTE May 1978 19

enjoy the real satisfaction a personal


computer can bring, today and
in the future.

i5 colors & hi-resolution


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

Back to basics, and


assembly language too.
Apple speaks three languages: fast
integer BASIC, floating point BASIC
hich personal copuer will be
for scientific and financial applications,
most enjoyable and rewarding for you?
There are Apples in major universities, and 6502 assembly language. That's
Since we delivered our first Apple' II
helping teach computer skills. There
maximum programming flexibility. And,
in April, 1977, more people have chosen are Apples in the office, where they're to preserve user's space, both integer
our computer than all other personal
being programmed to control invenBASIC and monitor are permanently
computers combined. Here are the
tories, chart stocks and balance the
stored in 8K bytes of ROM, so you
reasons Apple has become such an
books. And there are Apples at home, have an easy to use, universal language
overwhelming favorite.
where they can help manage the family instantly available. BASIC gives you
Apple is a fully tested and assembled
budget, control your home's environgraphic commands: COLOR=, VLIN,
mainframe computer. You won't need
ment, teach arithmetic and foreign
HLIN, PLOT and SCRN. And direct
to spend weeks and months in assembly. languages and, of course, enable you
memory access, with PEEK, POKE
Just take an Apple home, plug it in,
to create hundreds of sound and
and CALL commands.
hook up your color TV* and any cassette action video games.
Software:
tape deck-and the fun begins.
When you buy an Apple II you're
Ours and yours.
To ensure that the fun never stops,
investing in the leading edge of
and to keep Apple working hard, we've technology. Apple was the first comThere's a growing selection of prespent the last year expanding the Apple puter to come with BASIC in ROM,
programmed software from the Apple
system. There are new peripherals,
for example. And the first computer
Software Bank-Basic
new software, and a 16-chapter Owner's with up to 48K bytes RAM on one
Finance, Checkbook, High
Manual on "How to Program in BASIC." board, using advanced, high density
Resolution Graphics and
There's even a free Apple magazine
16K devices. We're working to keep
more. Now there's a User
to keep owners on top of what's new
Section in our bank, to make
Apple the most up-to-date personal
Apple is so powerful and easy to use computer money can buy. Apple II
it easy for you to obtain
that you'll find dozens of applications.
programs developed
delivers the features you need to

by other Apple owners. Our Software


Bank is your link to Apple owners all
over the world.

live with

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

error-free operator interaction.

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

Apple peripherals
are smart peripherals.

New from Apple.

Watch the far right column of


this ad each month for the latest in our
growing family of peripherals. We call
them "intelligent interfaces ." They're
smart peripherals, so you can plug
them in and run them from BASIC
without having to develop custom software. No other personal computer
comes close to Apple's expandability.
In addition to the built-in video inter-

Introducing the Apple


Communication Interface

face, cassette I/O, two A/D game paddles, and two more A/D inputs, Apple
has eight peripheral slots, three TTL
inputs and four TTL outputs. Plus a
powerful, state-of-the-art switching
power supply that can drive all your
Apple peripherals, including two disks.

Available now.
Apple is in stock and ready for
delivery at a store near you. Call us for
the dealer nearest you. Or, for more
details and a copy of our "Consumer
Guide to Personal Computers," call
800/538-9696
or write Apple

Computer, Inc.,
10260 Bandley
Drive, Cupertino,
CA 95014.

Apples of the world unite! Now


you can, with our new intelligent communication interface card. Just plug
it in and it turns your Apple into an
intelligent terminal that can go on line
with other terminals,
time-sharing
computers and,
especially, with
other Apples.
You can even
play Tele-Pong!
Everything you
need is on one
small card.
With a modem,
it enables your
Apple to communicate by phone at 110/300 baud RS232
full duplex I/O. The card is fully assembled and tested and has all required software in on board ROM.
It's controlled by simple BASIC com-

mands. And it's available from stock.


Peripherals in stock
Hobby Board, Parallel Printer Interface, Communication Interface.
Coming soon
High speed serial printer interface,
General purpose serial interface,
Printer II , Printer IIA, Disk II ,
Monitor II.
Apple II plugs into any standard TV using
an inexpensive modulator (not included).

Circle 15 on inquiry card.

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

Those math programs I wrote


last week-I just rewrote them using
Apple's mini-assembler and got them
to run a hundred times faster.

Apple's smart peripherals make


expansion easy. Just plug 'em in and
they're ready to run. I've already
added two disks, a printer and the
communications card.

Product Description:

The Matr ox ALT-25 6

V ideo B oard
The ALT- 256 is an Altair ( 5-100) bus
compatible graphics card that gives a resolution of 256 by 256 dots . This display is
useful for professional graphics applications such as computer aided design , simulation, business and educational displays, and
plotting curves.
The display memory on the ALT-256
consists of 16 4 K dynamic memory integrated circuits in the 16 pin package. The
dynamic memory refresh is handled by the
video scan circuitry so that no processor
time is required for this function.

Gary Ruple
Matrox Electronics Systems
POB 56 Ahuntsic Sta
Montreal Quebec H3L 3N5
CANADA

are built in), selectable by on board address


jumpers. The dot addressing is done in X-Y
fashion. Output ports 1 and 2 are used as
registers for the X and Y positions, respectively, to position the cursor at the selected
dot. Output 0 is used to write the intensity
of the dot: 00 for black and 01 for white.
After the dot intensity is loaded, the ALT256 will require 3.4 ps to write the dot in
the display memory (ie: to allow for internal
synchronization of the wire operation, video
read scan and dynamic memory refresh).
Since the 8080 processor almost always requires more than 3.4 s to load the next dot
address and data, the processor can run at its
full speed. Also, there will be no streaks or
flashes on the display no matter how fast the

Board Addressing
The board is addressed as four contiguous
output ports and one input port (10 ports

VIDEO -I VIDEO
OUT
GENERATOR

SHIFT REGISTER
4

CRYSTAL
CLOCK
ROW ADDRESS
STROBE(RAS)AND
COLUMN ADDRESS
STROBE (CAS) FOR
DYNAMIC MEMORY
HORIZONTAL
COUNTER

DYNAMIC
MEMORY
ARRAY

11
N HORIZONTAL
VIDEO
TIMING

-- MEMORY

Figure 1: Block diagram of


the Matrox A L T-256 video
display board.

MEMORY ADDRESS
MULTIPLEXER

READ-WRITE
CONTROL

X
REGISTER
VERTICAL
COUNTER

VERTICAL
VIDEO
TIMING

ERASE SCREEN
CONTROL

WRITE DOT
CONTROL
AL
N

Y
REGISTER

INSTRUCTION DECODE
+5V
4

VOLTAGE
REGULATOR
If

ALTAIR (5-100) BUS INTERFACE


+ 12V

VOLTAGE
REGULATOR

Al

24 May 1978 BYTE Publications Inc

ZENER
REGULATOR

The Computer for the Professional


The 8813 was built with you, the professional , in mind.
It quickly and easily processes cost estimates , payrolls,
accounts , inventory , patient / client records and much
more . You can write reports, briefs, and proposals on
the 8813 's typewriter keyboard , see them on the video
screen , and instantly correct , revise, or print them.
Using the 8813, one person can process what would
normally require many secretaries , several bookkeepers,
and a great deal of time. And data storage takes a small
fraction of the space used by previous methods.

You don't need to learn complicated computer languages. The 8813 understands commands in English. If
you want to write your own programs, the 8813 includes a
simple computer language, BASIC, that you can master in
a few days. The 8813 slashes the professional's overhead.
It's a powerful time and money-saving ally. Prices for
complete systems including printer start at less than $ 8,000.
See the 8813 at your local dealer or contact PolyMorphic
Systems, 460 Ward Drive, Santa Barbara, California, 93111,
(805) 967-0468, for the name of the dealer nearest you.

PolyMorphic
Systems

BYTE May 1978 25

255,255

0,255

dots are equivalent to 8 K bytes of memory.


(You would also have to keep track of dot
position in the byte.)
Theory of Operation
The ALT-256 has four major blocks:
the video sync generator, scanning circuitry, cursor and interface electronics,
and 65,536 by 1 memory ( see figures 1
and 2). The sync generator consists of a
crystal oscillator and a divider chain. This
divider chain produces all timing signals
for the memory scanning as well as horizontal and vertical sync. The video sync
generator can be programmed by jumpers
for either the European or the American
video standard.

x.Y

The scanning circuitry consists of multiplexers which provide proper address, and
read and write signals for the programmable
memory.

0,0

Figure 2: Display coordinate system for video


displays (MTX-Graph software).

INCREASING x -+

255,0

processor accesses the card since the write


operation is internally synchronized.
Output port 3 is used as an erase screen
command to either clear the screen or to set
it all white according to data bit 0: 0 = black,
1 = white. The erase operation can take up
to 33 ms. The status port ( INO) has been
provided as a means of checking the status
of the ALT- 256. The following is a description of the status bits:
Bit 0: When 0 the display is ready.
When 1 the display is being erased
and should not be accessed.
Bit 1: When 0 the display scan is in the
video portion.
When 1 the display scan is in
the vertical blanking period allowing access of the display when
not visible. This is useful for
dynamic motion and animation
synchronization.
The X-Y addressing scheme provides the
programmer with a way to address individual
dots. A horizontal or vertical line requires
only one address to be updated for each new
dot. A 45 diagonal requires each address
to be incremented or decremented. Using
output ports as registers and as a means
of addressing the card also conserves memory
space, since the 65,536 directly addressable

26

May 1978 BYTE Publications Inc

The cursor consists of two 8 bit latches


(the X and Y address registers) which are
loaded by the processor. Necessary interface address and timing decoding is accomplished by the Altair (S-100) bus interface logic.
The refresh memory has 16 4 K dynamic
memories (IC type 4096) organized as a
65,536 by 1 bit memory.
Power supplies for 5 V, 600 mA; 12 V,
100 mA, and -5 V, 10 mA are generated
by on board voltage regulators.
Multiple Boards
The ALT-256 may be used in multiple
board systems for color graphics or grey
scale applications. Any reasonable number
of boards may be used. When more than
one is used, one board must be chosen as
the master and the others are configured
as slaves synchronized to the master. There
is an on board jumper allowing use as a
master or slave and a socket provided for
connecting the sync signals and video between master and slaves. Single or multiple
boards may also be slaved to an external
sync generator such as a TV camera signal
or broadcast video.
Software
MTX Graph, the software package
available for the ALT-256, provides all the
commonly used low level graphics routines,
and is configured as a series of subroutines
that occupy hexadecimal memory locations
0104 to 04FF. Multiple boards can be
supported by up to a maximum of eight
bits of color or grey scale information.
Features of the package are described in
table 1.

TARBELL SETS STANDARDS


For Hobbyists and Systems Developers
Sales to thousands of hobbyists over the past two years have proven the Tarbell Cassette
Interface to be a microcomputer industry standard. Tarbell Electronics continues research and
development to produce new and efficient components to fill hobbyists' changing needs.

TARBELL
CASSETTE INTERFACE
Plugs directly into your IMSAI or ALTAIR'
Fastest transfer rate: 187 (standard) to 540 bytes/second
Extremely Reliable-Phase encoded (self-clocking)
4 Extra Status Lines, 4 Extra Control Lines
37-page manual included
Device Code Selectable by DIP-switch
Capable of Generating Kansas City tapes also
No modification required on audio cassette recorder
Complete kit $120, Assembled $175, Manual $4
Full 6 month warranty on kit and assembled units

1.1.1.>tlIef^lt.Il^

TARBELL FLOPPY DISC


INTERFACE
Plugs directly into your IMSAI or
ALTAIR' and handles up to 4
standard single drives in daisychain.
Operates at standard 250K bits
per second on normal disc format
capacity or 256K 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.
Full 6-month warranty and extensive documentation.
PRICE:

Kit $190 ...... Assembled $265

,wags 'i1 at1 F


4 1R1i' lull
^i i1^t Ji1 i
t^

CP/M with BASIC-E


and manuals: $100

Compatible Disc Drives


Ask about our disc drives priced as low as $525.

Gold plated edge pins


Takes 33 14-pin ICs or
Mix 40-pin, 18-pin, 16-pin and
14-pin ICs
Location for 5 volt regulator
Suitable for solder and wire wrap
Model 1010
ALTAIR/IMSAI compatible
Price : $28.00
For fast, off the shelf delivery, all Tarbell Electronics products may be purchased from computer store dealers
across the country. Or write Tarbell Electronics direct for complete information.

TARBELL
PROTOTYPE
BOARD

'ALTAIR is a trademark/tradename of MITS, Inc.


CP/M is a trademark/tradename of Digital Research

20620 South Leapwood Avenue , Suite P


Carson, California 90746

(213) 538-4251
Circle 360 on inquiry card .

BYTE

1978 27

Photo I a.

Photo 7b.

Photo 2a.

Photo 2b.

Photo 3a.

Photo 3b.

Photos 1 to 3: Some examples of grey scale and pseudocolor images produced by the A L T-256 video board. The grey scale
photos were produced by feeding the output from a TV camera through a slow scan analog to digital converter. Next, the 3
bit digitized output was processed through three A L T-256 video boards and a digital to analog converter to give an 8 level
video signal. The color pictures were produced by feeding the outputs from the video boards directly to the red, blue and
green inputs of an RBG color monitor (see figure 3).
28 May 19780 BYTE Publications Inc

Meet The North Star Family


THE NORTH STAR S-100 FAMILY-four high performance products at attractive low prices. Our boards are
designed for use in the North Star HORIZON computer
and other S-100 bus computers using 8080 or Z80 processors. Visit your computer store for a demonstration, or
write for our free color catalog.

available. The MDS includes the S-100 interface board


with on-board PROM for system startup, Shugart minifloppy disk drive, cabling and connectors, and DOS and
BASIC software on diskette. Kit: $699. Assembled: $799.
Additional drive - Kit: $400. Assembled: $450. Single
Drive Cabinet: $39. Optional Power Supply: $39.

16K RAM BOARD

Z80A PROCESSOR BOARD

No other S-100 bus memory can match the performance


of the North Star 16K RAM at any price. This low-power
board has been designed to work at full speed (no wait
states), even at 4MHz with both Z80 and 8080 systems.
Memory refresh is invisible to the processor, bank switching is provided and addressability is switch selectable in
two 8K sections. Best of all, a parity check option is available. Kit: $399. Assembled: $459. Parity Option - kit:
$39. Assembled: $59.

The North Star ZPB brings the full speed, 4MHz Z80A
microprocessor to the S-100 bus. Execution is more than
twice the speed of an 8080, and the ZPB operates in systems both with and without front panels. The ZPB includes vectored interrupts, auto-jump startup, and space
for 1K of on-board EPROM. Kit: $199. Assembled: $259.
EPROM Option - kit: $49. Assembled: $69.

MICRO DISK SYSTEM


The North Star MDS is a complete floppy disk system with
all hardware and software needed to add floppy disk
memory and a powerful disk BASIC to S-100 bus computers. The North Star MDS is widely considered one of
the best designed and most complete S-100 bus products

HARDWARE FLOATING POINT BOARD


If you do number crunching, then this board is for you.
The FPB performs high-speed floating point add, subtract,
multiply and divide with selectable precision up to 14
decimal digits. Arithmetic is up to 50 times faster than
8080 software, and BASIC programs can execute up to
10 times faster. A version of North Star BASIC is included.
Kit: $259. Assembled: $359. Prices subject to change.

NORTH STAR * COMPUTERS


2547 Ninth Street Berkeley, California 94710 (415) 549-0858
Circle 285 on inquiry card.

BYTE May 1978 29

Table 7: Features of MTX


GRAPH, a software package available for the ALT256 graphics board.

1. Variable Resolution : The display resolution


may be set to 256 by 256, 128 by 128, or
64 by 64 through software control.
2. Point Plot : A dot corresponding in size to
the resolution selected may be displayed at
any arbitrary point by specifying X-Y
coordinates.

3. Line Vector Graphics: Lines can be drawn


from the current cursor position to the
endpoint specified by the user.
4. Alphanumeric Display : A full ASCII character generation routine is provided. Characters can be positioned anywhere on the
screen. Carriage control characters are
correctly interpreted. Character size is
adjustable.

5. Animation Synchronization : This feature


is used to synchronize animated display
updates with the vertical scan.
6. Color Option : The software package supports a 3 card color or grey scale system

Photographs

All subroutines use standard Cartesian


coordinates with the display occupying the
first quadrant. As shown in figure 2, the
origin (X = 0, Y = 0) is defined as the
bottom left point on the display. X increases
in value to a maximum of 255 at the right
edge, while Y rises to a maximum of 255 at
the top. If the ALT-256 is jumpered for
American Standard scan (240 lines displayed), the lowest Y coordinate displayed
is 16, and points with coordinates from 0 to
15 cannot be seen.
Grey Scale and Color Applications

and research applications (ie: many NASA


space pictures are processed this way).

In the grey scale configuration, multiple


boards provide binary intensity information.
All boards have the same address decoding
and sync signals. Each board has a dot
intensity bit (output port 0) which is normally tied to data bus bit DO. In a typical
3 board color or grey scale system, the
intensity bit is changed on two boards to
be D1 and D2 (or any other bits you choose),
thus writing three binary bits for each write
operation. This method allows computation
of grey scale and single instruction load of
all bits making up a single picture element
(often contracted to "pixel" in graphics
literature). The TTL video outputs from the
three boards are fed to a simple 3 bit digital
to analog converter.

TTL VIDEO I

RED

TTL VIDEO 2

30 May 1978 BYTE Publications Inc

In a color scheme, the best results are


obtained by directly driving the red, green
and blue guns of a color monitor with the
video signal from three boards, as in figure
3. An ordinary color TV can be modified
to accept separate color inputs. This should
not be undertaken by anyone who lacks an
understanding of color TV and electronic
design. The alternative is to generate an
encoded composite color signal. An application note available from Matrox gives details on a color encoder circuit.

The photos accompanying this article


were generated by feeding a TV camera
output through a slow scan analog to digital
converter. The 3 bit digitized output was
then fed to a 3 card ALT-256 graphics
system. The grey scale pictures were produced
by feeding the outputs of the three cards
to a 3 bit digital to analog converter. The
resulting pictures have eight discrete grey
levels. The color pictures were produced by
feeding the outputs of the three cards to the
red, blue and green (RBG) inputs of an RBG
color monitor. The resulting eight color
pictures are pseudocolored. This means that
a different color has been assigned arbitrarily ^`
to each grey level in the original picture.
Pseudocoloring is used in many industrial

as described later in this article.

Figure 3: Connecting an
RBG (red green blue)
monitor for 8 color operation using three A L T-256
boards.

RGB (Red Green Blue) Color

GREEN
TTL VIDEO 3

BLUE

H SYNC
V SYNC

RED GREEN BLUE


(RGB) MONITOR

Conclusion
The Matrox ALT-256 represents one
approach to high resolution graphics capabilities for the Altair (S-100) bus. Multiple
board systems can be used for medical
displays, research applications, pseudocolor
imaging, fast animated displays, computer
aided design, sophisticated computer games
and computer generated art. For the Star
Trek freak, now there is available a real (if
imaginary) universe to save, rather than a
slow printer banging out descriptions.
For the artist, a canvas; the researcher,
a window; and the kids, an electronic
sketch pad.

Note : The completely assembled, tested and


burned in ALT-256 board is available for
$395 from Matrox Electronic Systems, POB 56,
Ahuntsic Station, Montreal, Quebec H3L 3N5
CANADA. Also available is the ALT-2480,
an Altair (S-100) compatible alphanumeric
generator board, which can be used in conjunction with the ALT-256 to produce simultaneous graphics and alphanumeric displays.

b'

4
114-

4br^Cdl?ja'^,o .9 ' 9
Q

& 4'irjh..

wr e,

A/Q rh y 9

r rr

blumei

v' a vH

are finally
released!
Volume VI

Volume VII

Yes and it still contains what was previously


advertised. A fully disk interactive business
package with A/R, Inv., A/P, ledgers, tax totals,
payroll records, more.

Here is that Chess program you have been


waiting for as well as a disk interactive Medical
Billing package with patient history file.

As a bonus it also co ^n s e,lsers


11 Manual for
our Firmware Ledgerpace Th e1 extra
ig"
r
pages contain report formats,e a
tines and our very powerful program ACBS1 used
to create the powerful file structured data base.

$49.95

Also included is our disk interactive


Processing package
(revision 0).

Word

$39.95
Add $1.50/Vol. for U.P. S. and handling except to APO and PO addresses.
Foreign orders add $8/Vol. for air shipment - US dollars only. No purchase
orders over $50.

Now Released -Vol. VIII-Homeowners Programs ( Includes Federal Income


Tax Program ) see our new ad on page 23.

VOLUME I - $24.95;
VOLUME II - 24.95
VOLUME III - ;39.95
VOLUME IV - 9.95
VOLUME V - 9.95

OUR SOFTWARE IS COPYRIGHTED AND MAY NOT BE


REPRODUCED OR SOLD.
Due to the numerous copyright violations on
our earlier volumes - until further notice we
are offering a REWARD leading to the arrest
and conviction of anyone reproducing our
software in ANY way without our written
permission . This includes diskettes , paper and
magnetic tape , cassettes , records, paper

SCIENTIFIC
RESEARCH

220-B Knollwood
Key Biscayne, FL 33149
Phone orders 800-327-6543
Information 305-361-1153
AVAILABLE AT MOST COMPUTER STORES
10% discount on purchases of entire set . Offer expires December 30, 1977

RANKAMERICARD

master charge
B

etc. _

honored

BYTE May 1975 31

Color Graphics

Thomas A Dwyer
Margot Critchfield
Project Solo
University of Pittsburgh
Pittsburgh PA 15260

on the Compucolor 8051


The ancient wisdom that says "a picture
is worth a thousand words" has a special
significance for the computer age. With
machines that can generate output faster
than anyone can read it, there's no doubt
that we need new ways to represent this
avalanche of data. The best answer (so far)
seems to be in computer graphics: sophisticated pictures that show the results of all
this computation in a form that is easy to
interpret and even easier to remember.

One of the most dramatic ways to


improve graphical output is to add color.
Color graphics conveys information to
human viewers that is hard to appreciate
until it's experienced. The change from
black and white to color is at least as
impressive as the change from monaural to
full stereo sound.
Until a few years ago, the hardware for
color graphics was both rare and expensive.

Photo 1: The Compucolor 8051 with extended ASCII keyboard and "floppy
tape" storage. The tapes are similar to 8 track music cartridge tapes, except
that they are shorter. More recent models use a floppy disk system for
storage.
32 May 1978 BYTE Publications Inc

This situation is changing, however, mainly


through the efforts of manufacturers who
have devised ingenious ways to use the
technology of color TV in conjunction with
computer technology.
One of the first products designed for this
purpose was the Cromemco TV Dazzler. It
consists of two Altair (5-100) compatible
boards with a coaxial cable output to a
color monitor. Several examples of color art
produced with the TV Dazzler were shown
in December 1976 BYTE. That issue also
contained the article, "The Cybernetic
Crayon," that gave an example of an 8080
assembly language program for the Dazzler.
The Compucolor 8051 .,/A more recent example of personal color
systems is the Compucolor 8051. It comes
in the form of a complete computer system
packaged in a cabinet not much bigger than
a 19 inch color television. That's impressive
because the cabinet contains the processor,
memory, interface, programmable read only
memory, graphics controller, power supplies,
and a 19 inch color display tube. The colors
are of much greater purity than those
usually seen on TV because the system uses
a very wide bandwidth (75 MHz) and the
three color circuits (red, green, blue) are
kept separate. This is the same approach
used in professional color monitors. Since
any of these colors can be on or off, eight
colors (including black) are available.
Photo 1 shows a typical system consisting
of the computer and color display in the
large cabinet, a keyboard for input, and a
dual 8 track tape cartridge unit for mass
storage.

The large screen holds 48 lines of 80


characters each, about four times the number of lines found on most video displays.
When characters are used for graphics, there
are 3840 plotting positions available. But a
finer division of each character into a 4 by 2
array of "points" is also possible, as figure 1
indicates. In point plot mode, one character

block becomes eight "point" positions. Each


of these points (which is really a small
rectangle) can be turned on or off separately. This means there are 160 point
positions for the horizontal direction (X
axis), and 192 points for the vertical direction (Y axis). So a total of 30,720 points
can be plotted.

I CHARACTER MODE POSITION , 8 POINT PLOT MODE POSITIONS

A special hardware feature called "vector


graphics" is also available. This makes it
possible for the computer to draw approximations to straight lines on the screen if
you simply tell it where to start (X0, Y0),
and where to finish (X1, Y1). The hardware
calculates all the point positions in between
and plots them automatically.

by positive integers with X going from 0 to


159, and Y going from 0 to 191. To make
Y=X*X fit on the screen, we divided by 100
(because when X=99, Y=9801 which would
be way off the screen ). Our graph will look
something like the one in figure 2.

The Compucolor 8051 comes with a


BASIC interpreter stored in read only
memory. This means that you never have to
load BASIC: you call for it by just pressing
two keys (Escape, followed by W).
The BASIC interpreter has all the standard features and a few extra ones (including string arrays). It also has the special
key word PLOT. This feature makes it
easy to program graphics of all kinds in
color. Let's look at some examples of how
it works.

Using Compucolor BASIC


The word PLOT is used in BASIC statements of the form

Figure 1: Division of
screen character into a
2 by 4 array of "points. "

Example 2: Here is a program to plot a sine


function. We let X go from 0 to 159, but
actually plot SIN(X/13). This causes the
argument of SIN to go from 0 to slightly
over 12 radians, giving about two cycles of
the function. Since the SIN function has
values from -1 to 1, we multiply it by 95
and then add 95. This causes Y to go from
0 to 190. The program is initiated by the
command PLOT 12, which means "clear
screen."
10
20
30
40
50
60

PLOT 12:PLOT 2
FOR X=0 TO 159
Y=95*SIN(X/13)+95
PLOT X: PLOT Y
NEXT X
PLOT 255

'Clear screen, enter plot mode


'Get X
'Calculate Y
'Plot X, Y
'Back to line 20
'Exit plot mode

Adding Color
25 PLOT I

where I is an integer from 0 to 255. When


PLOT I is initially used, the value of I determines what mode you enter. There are quite
a few modes. The main mode is "point
plot" (PLOT 2). After you enter a "mode,"
the meaning of PLOT I is different, and it
depends on what mode you're in.
Example 1: Suppose we want to plot the
curve Y=X2. We first use PLOT 2 to put the
program in point plot mode. After saying
PLOT 2, each pair of PLOT statements that
follow will then give the X and Y positions
of the point to be plotted. When finished
plotting points, we use PLOT 255 to escape
from the plot mode we're in. Here's a program that plots 100 points of our curve:

The preceding programs plot in whatever


color the machine was using last. Color
can be changed with either the PLOT 6
or the PLOT 29 modes. After entering
the PLOT 6 mode, the statement PLOT I
produces various combinations of foreground colors, background colors, and
"blink" states, all depending on the
value of I. For example, I = 0 to 7 gives the
eight possible foreground colors on a
background of black with no blink.
The PLOT 29 mode is a little simpler.
It allows only foreground (which means the
actual point being plotted) color to be
specified. It is followed by PLOT I, where
I specifies color according to the codes:
16=black, 17=red, 18=green, 19=yellow,

10 PLOT 2
20 FOR X=0TO99
30 LET Y = INT(X*X/100)
40 PLOT X:PLOT Y
50 NEXT X
60 PLOT 255

To understand the output of this program


you have to know that the "origin" for
point plot mode is the point (0, 0), and that
it is located in the lower left corner of the
screen. All points (X, Y) must be described

(159,191)

(99,98)

ORIGIN (0.

O)-

11

-(159,0)

Figure 2: A display of the


equation Y=X2.
May 1978BYTE Publications Inc 33

Figure 3: A display of the


line running from points
(0,96) to (159, 96).

x0

20=blue, 21=violet, 22=cyan (light blue),


and 23=white.
We'll illustrate this feature in a moment,
but let us first look at an example of a
subplot mode (a mode that follows the
PLOT 2 main mode).

X=159
Y=96

Y -96

Bar Graph Mode


Figure 4: A display of the
line running from points
(80,0) to 80,190).

After entering PLOT 2 mode, you can go


into several subplot modes. For example,
PLOT 250 means enter the X (horizontal)
bar graph mode. It is followed by three
PLOT statements that tell where to put the
bar graph and how long to make it.

Y 190
X -80

x080

YO-

PLOT 2: PLOT 250


PLOT 0: PLOT 96: PLOT 159
10
20
30
40
50
60
70
80
90
100
110
120
130

PLOT 12
PLOT 29. PLOT 19
PLOT 2
PLOT 246: PLOT 0: PLOT 0: PLOT 190
PLOT 250: PLOT 0: PLOT 95: PLOT 159
PLOT 255
FOR X = 0 to 159
PLOT 29: PLOT 1 7+X/22
Y = 95"SIN(X/13)+95
PLOT 2
PLOT X: PLOT Y
PLOT 255
NEXT X

'Erase screen
'Set color= yellow

This directs the program to draw a horizontal bar (line) from X=0 to X=159, 96
units up on the screen (the Y position). See
figure 3. The code for Y (vertical) bar graphs
is PLOT 246.

'Go into main plot mode

'Plot Y bar graph


'Plot X bar graph
'Exit plot mode
'Get X
'Set a color depending on X
'Calculate Y

'Point plot mode

PLOT 2: PLOT 246


PLOT 0: PLOT 80: PLOT 190

'Plot one point

'Exit plot mode


'Back to line 70

The latter draws a vertical bar (line) from


Y=0 to Y= 190, 80 units to the right (the
X position ). See figure 4.

Listing 1: A BASIC program for graphing a sine function in seven different


colors.

M
I

Photo 2: A plot of the sine


function, which changes
the color of the plotting
point cyclically. The axes
are drawn with bar graph
mode.
34 Mav 1978? BYTE Publications Inc

NEW

A Combined Program
The program shown in listing 1 graphs the
sine function using seven different colors
(codes 17 to 23). It also uses the bar graph
mode to plot the X and Y axes for the
graph. The axes are drawn in yellow (code
19). The output of this program is shown in
photo 2. Notice in line 100 that PLOT 2
serves a dual purpose. It puts the machine
in both main and point plot mode. A more
interesting example of the output possible
from bar graph mode is shown in photo 3.

Vector Mode
The bar graph modes are used to draw
horizontal and vertical lines. Vector mode
allows you to draw lines (called vectors)
between any two points. This means slanted
lines can be drawn on the screen. Start with
PLOT 253, then give the coordinates of the
starting position with PLOT XO:PLOT Y0.
The next command should be PLOT 242,
followed by the coordinates of the end
position with PLOT X1:PLOT Y1. (Any
variable names can be used; we find these
easy to remember.) The program in listing 2
lets you draw vectors on the screen using
seven colors in sequence. (Black is not
used because it would draw an "invisible"
line.)
If you wish to draw lines where the end
point of one is the starting point of the next
one (as in drawing polygons), you need only
use PLOT 253 once. The program in listing 3
draws random vectors in this fashion,
making an attractive abstract type of
drawing. The output is shown in photo 4.

Incremental Plot
Another submode that can follow PLOT
2 is the PLOT 251 incremental plot, which
allows you to move the graphic "point"
element (really a small rectangle) by a small
"increment" (or step). There are eight
directions in which you can move, shown
by the arrows in the following diagram:

'\

to

. . .I. . .

4-

-+ 8

---

1-

--

Photo 3. A display of concentric rectangles produced in the bar graph mode.

PLOT 12:C=0
C=C+1
IFC> 7THENC=1
PLOT 6:PLOT C
PRINT"TYPE X0, Y0-1INPUT XO, Y0
PRINT"TYPE X1, Y1";
INPUT X1, Y1
PLOT 2
PLOT 253:PLOT XO:PLOT YO
PLOT 242:PLOT X1 :PLOT Y1
PLOT 255
GOTO 20

10
20
30
40
50
60
70
80
90
100
110
120
130

'Erase screen
'Start with color code 1
'Only allow seven color codes
'Set the color
'Get starting point

'Get end point


'Go into plot mode
'Draw vector starting at X0, YO...
.to X1, Y1
'Exit plot mode
'Repeat

Listing 2: A BASIC program enabling the user to draw vectors on a color


video screen using seven colors in sequence.

10
20
30
40
50
60
70
80
90

K=16
PLOT 12:PLOT 2
PLOT 253:PLOT 79:PLOT 91
K=K+1
IF K>23 THEN K=17
PLOT 255:PLOT 29:PLOT K
X=160*RND(1) :Y= 190*RND(l)
PLOT 2:PLOT 242:PLOT X:PLOT Y
GOTO 40

'Initialize color selector


'Enter plot mode
'Start vector in center
Select color ...
.between 17 and 23
'Turn on color
'Choose random point
'Draw vector

Listing 3: A BASIC program that draws a chain of random vectors.

10
15
20
30
40
50
60
70
80
90
100

PLOT 12
PLOT 2:PLOT 80:PLOT 92
FOR C=17 TO 23
PLOT 255:PLOT 29:PLOT C
PLOT 2.PLOT 251
E = 2 T INT(4* RND(1) 1
FOR K = 1 TO 5*RND(1)+5
PLOT E
NEXT K
NEXTC
GOTO 20

'Erase screen
'Plot a point in middle of screen
'Select a color
'Activate color
'Go into incremental plot mode
'Choose direction
'Choose number of steps

'Plot in direction E
for K steps
'Get next color and direction
'Repeat the whole cycle

Listing 4: A BASIC program to produce a random walk pattern.


May 1978 (s) BYTE Publications Inc 35

Photo 4: A random vectors program display.


Color is changed cyclically for each new vector.
The listing overwrites
some of the vectors because it was done after
interrupting the run.

5 PLOT 29iPLOT1?
]O PLOT2
:^O PLOT253,PLOT74^ 0 91
K=16 ; ^
3i^ ,;=160lRNO( 1 ): i=1 O 0( 1
!
LOT242 PLOT:: P L OT Y

4-1 l1=1,'

44 IF K<24 THEN

111-TV-

48 PLOT 255'PLOT c '


LT;D
REkDy

Photo 5: Output from the


random walk program
after 20 seconds. When the
plotting point "walks off"
the edge of the screen, it
reappears on the opposite
side due to wraparound in
the display memory.

The numbers next to the arrows are "direction codes." A given direction is selected
by using the proper direction code in a
second PLOT statement. For example, to
plot a point in the middle of the screen
and then move it one "increment" to the
right, use the following instructions:
10 PLOT 2:PLOT 80:PLOT 92
20 PLOT 251 :PLOT 8

PLOT 251 means "increment (move) the


point," and PLOT 8 means "to the right."
The distance moved is very small (the
width of one point).
The next program (see listing 4) uses
this feature to produce what is called a
random walk pattern. We'll use only the
direction codes 1, 2, 4 and 8. These will be
generated by the formula
E = 2 t INT (4'RND(1) )

So we randomly get the numbers 20=1,


21=2, 22=4 and 23=8. Our point will randomly "decide" to move down, up, left
and right.
To make the pattern even more interesting, we use another random number
(from 5 to 9) to decide how many increments (small steps) to take in each direction.
We also change colors. The result is a rather
striking weave-type color abstraction.
(Actually, random walk techniques originated for practical reasons. They are used in
solving several types of mathematical and
scientific problems that can't be handled by
conventional methods.) Line 50 selects a
random direction, and the loop 60-80 determines how many increments to take in that
direction. The main loop 20-90 repeats the
process for seven different colors. The
program goes on indefinitely, filling the
screen to any density you wish. Photo 5
shows the output of this program after
3 6 May 1978 G BYTE Publications Inc

tomorrow's computer here today .. .


( N D
Mrffia go 9(^)T
O,V
only from the D i g ital Group

rSr^r5r5r4r rr'rr!

Basic systems for


personal computing
If you are just getting into personal computing and are looking for a starter system,
you have two choices : a computer kit with RAM memory only or a fully assembled computer
with BASIC-in-ROM. From reading this magazine and talking to computer buffs it should be
obvious that it is desirable to have a computer capable of communicating in the programming
language BASIC : This language allows you to instruct the computer in English-like phrases
and to use any of the thousands of standard programs written in' BASIC (there are probably
several in this magazine).
If you purchase a (RAM - only) computer kit you will have to buy additional RAM (4K to
8K), a terminal , and cassette interface for a total cost of about $1000 to run BASIC after you get
the kit together and working . Your reward for this endeavor will be a wait of about 15 minutes
every time you turn the computer on just to load BASIC into the machine!
Your other alternative is a BASIC-In-ROM computer. These machines have BASIC
built in so that it is there whenever the computer is turned on. BASIC - in-ROM computers are
also usually fully assembled and cost far less than the RAM-only kits because they are massproduced by the thousands.
But, you must be careful when selecting a BASIC - in-ROM computer. Some models
do not have full-feature BASIC . Instead they have Tiny BASIC or 4K BASIC which cannot run
most of the standard BASIC programs available . Still others have other shortcomings such as
a small calculator- style keyboard which makes program entry difficult, or most important,
lack of expansion capability, preventing the computer from growing with you.
Ohio Scientific offers you a line of expandable computers with full - feature 8K
BASIC - in-ROM . They all come fully assembled and tested , but give you the option of
economizing by supplying the simple things - power supply, keyboard and TV, if desired, so
that you get the most computer power for your dollar.
Compare Ohio Scientific ' s $298 BASIC-in-ROM Model 500 Board ( 1MHz clock),
which has our Version 3.3 BASIC , against other small computers , as in the independent article
"BASIC Timing Comparisons" (Kilobaud, Oct. 1977, p. 23). In this test, the Model 500 excelled
over all our personal computing competitors , and was second in performance only to our
Challenger disk systems , compared against twenty -eight other computer systems . And the
Model 500 is our lowest-cost machine! Our larger models are even more dramatic in a comparison with any competitive models.
Having the fastest full - feature BASIC ROMs certainly isn't the only criterion
necessary for a superior computer system , but it sure helps . Ohio Scientific offers all the other
features necessary , including a full line of computer accessories complete with 15 accessory
boards available in over 40 configurations . Many Ohio Scientific accessories are so innovative
that no one else in the industry has them - such as dual port memory boards, multiprocessing CPU's and big disks.
Ohio Scientific has other unique features for the personal computerist . For instance, there is Ohio Scientific' s Small Systems Journal, published bi-monthly, a full
magazine aimed specifically at the owners of Ohio Scientific computers . If you are looking for
a personal computer , be sure to look carefully at Ohio Scientific . We think you will find that we
have the system for you.

Model 500 Board

Super Kit

A full 8K BASIC-in-ROM computer on a board. This unit


contains a 6502 microprocessor with our powerful 8K
BASIC-in-ROM, 4K of RAM memory, and a serial port
which can be jumpered for 20ma current loop or RS-232.
The board can be plugged into any standard OSIbackplane and expanded by our full line of accessory
boards. The user must simply supply + 5V and - 9V power
and the serial terminal to be up and running in BASIC.
$298.00

An ideal starter computer system. The Super Kit includes


a Model 500 CPU Board with 8K BASIC in ROM, CPU, and
4K of RAM, full buffering for expansion, an eight-slot backplane board, and a Model 440 Video I/O Board. Model 440
provides full CRT functions when connected to a video
monitor or modified television set and a standard ASCII
keyboard. The user must simply provide + 5V and - 9V
power, an ASCII keyboard, and a modified television set or
monitor to have a full computer system with 8K BASIC-inROM, 4K user space and a CRT terminal with scrolling.
$398.00

Challenger H. P

Challenger II Disk Systems

Our very popular fully packaged BASIC-in-ROM computer.


Challenger IIP contains the Model 500 CPU Board with 4K
of RAM, our new 540 32x64 character video display,
keyboard and complete audio cassette interface. The unit
also has internal power supplies and a four-slot backplane
with two open slots for expansion. The user has only to
connect a monitor or modified television set to its output,
and he is ready to program in BASIC. To store programs
and data files, he needs only to connect a conventional
audio cassette recorder to the built-in audio cassette interface. The unit is fully assembled and ready to go.
$598.00

The ultimate in personal computing offered by Ohio


Scientific is the Challenger II system with single- or dualdrive full-sized floppy disk. Each floppy stores 250,000
characters. The Challenger II is available as a video
system with keyboard so that all the user needs is a television or monitor for operation; or as a serial version where
the user must supply his own terminal. Challenger II disk
systems automatically load in BASIC and now have an extensive library of high-performance programs. The programs are ideal for the advanced hobbyist, educational
users, industrial development and small business applications. Challenger II disk systems are very economical. For
instance, a 16K disk system with 250,000 bytes of disk
storage starts at under $ 2000.00

OHIO sa1E mwc

For more information contact an Ohio Scientific


dealer or send $ 1 for our 64-page buyers' guide.

1333 S. Chillicothe Road Aurora, Ohio 44202


(216) 562-3101

,K 41

OS-65U The New Standard


in Micro Computer Operating Systems
System design goals: Create a simple, concise crash proof operating system which is easy for business
programmers to utilize and simple for office workers (and other non-computerists) to use. The system must have
the highest performance in the microcomputer industry and must be able to support present day floppy and hard
disks as well as tomorrow's CCD and bubble memories without any user program modifications.
This may sound outlandish but we developed just such a system and here's how:
First, we started with a fresh copy of Microsoft's super fast 91/2 digit BASIC for the 6502. (This BASIC out
benchmarks every other microcomputer BASIC using the 7 Kilobaud benchmarks except for our own ultra fast 6
digit BASIC.)
We knew that all operating system commands and features should be an integral part of this BASIC
language so we put them right in the BASIC itself. This means that all OS features can be accessed in the immediate or command mode and as part of BASIC programs. All syntax such as file names can be literal strings or
BASIC variables.
We started with some simple but powerful extensions to BASIC to make the business system programmer happy- like $L,$R, INPUT#(D),and PRINT#(D).$Land $R are PRINTsubcommands which automatically output
numeric data in dollars and whole cents in neat columns just like "PRINT USING" only simpler and quicker.
The optional # specifier in LIST, INPUT and PRINT statements allows the user to route I/O directly to the
console, 16 RS-232 ports, a cassette port, RS-232 and parallel printer ports and word processing printers, not to
mention video displays and parallel keyboards.
We then added a continuous memory file system-the real achievement of OS-65U. This file system has
no tracks, sectors or records. The user simply allocates storage capacity to each file when he creates it. (On a
CD-74 Hard Disk this can be over 72,000,000 bytes or characters.) The user can then directly address every entry in
the file with no awareness of any block, sector or track structures. Data files can simultaneously contain strings
and pure numeric data. Files can be accessed sequentially and randomly.
Data files are handled with standard syntax including OPEN "File", CLOSE(File), PRINT % (File) and INPUT % (File) and the very special INDEX(File). INDEX is a special BASIC variable/function which specifies the file
address of the next entry to be input or output to that file. If you leave it alone, it operates sequentially. However,
you can change it at any time to force a random access. This remarkable function can be on either side of a BASIC
equation and can take on any value within the storage range of an opened file. For example, all of the following are
legal in OS-65U:
INDEX (1) = INDEX(1) + 10 (Causes 10 characters to be skipped)
B = INDEX (1) (Sets B =current index)
INDEX (3) = INDEX(8) /2 (Equates two file positions, useful in sorts and merges)
INDEX(5) = A*50 (Sets up a random access on an array with 50 character elements)
Where (N) is a channel number or shorthand notation for an open file, and is assigned by
the OPEN command.
This may seem exotic but it is really super simple and incredibly powerful. Besides your files always
automatically revert to simple sequential operation of you choose to ignore indexes.
And, finally, forthose of you who would really hate to give up plain old sequential files, we added a FIND
command. FIND searches for up to a 32 character string with optional "don't care" characters and will
automatically scan any file from the beginning or other specified index. The FIND command is implemented in
straight line page zero 6502 code (the fastest programming technique on the fastest micro) and searches files at
over 250,000 bits per second.
Only three statements are needed to support a sequential file in a BASIC program; only four to support a
random file. A mere seven statements are required to use an indexed sequential file system as part of a program!
A Benchmark: A Challenger III equipped with a CD-74 running OS-65U can access any account entry in a
500 account one million byte randomly ordered ledger file by an alphabetic key string up to 32 characters long in
less than 40 milliseconds (typically) using a simple two level ISAM file structure supported by a total program only
10 statements long. That's performance!
OS-65U also hosts multilevel passwords, elaborate error checking, programmable error recovery and
end user niceties like warnings and automatic recovery when an "off" or non-existent peripheral is accessed.
Programs and files in OS-65U can be fully secured so that they cannot be listed, copied or even accessed if
desired.
OS-65U is available now for use on any Ohio Scientific floppy or hard disk based computer with 32K of
RAM or more. A $199, it's quite possibly the best computer investment you'll ever make.

The Challenger M System


Designed for small business computing.
Uses the 510 triple processor CPU Board, runs 6502,
6800, 8080 and Z-80 programs.
Available with up to 1 Megabyte of RAM memory; high
reliability static RAM is standard; low-cost dynamic RAM
is optional.

Single- or dual-drive floppy disks store 250,000


characters per surface - 3 to 4 times the storage of minifloppies.
all Supports our ultra-fast 6-digit BASIC (see "BASIC Timing Comparisons," Kilobaud, Oct. 1977, p. 23, where Ohio
Scientific out-benchmarks all of our competitors) and our
new super-fast 9-digit business BASIC.

Powerful operating systems support all standard I/O


ports including multiple terminals, line printers, video
display and disk.
Disk supports: sequential, random and index sequential
files.

Applications software, including:


WP-1, a powerful disk-based Word Processor.
DMS, a unique data-base management system which
supports continuous disk addressing of up to 250,000
characters per file.
Complete business packages including Accounts
Receivable, Accounts Payable, Ledger, Payroll, Inventory
and Taxes.
Two factory-supported terminal options and two factorysupported line printer options.

Optional 74-Megabyte hard disk for $6000. Reel-to-reel


mag tape coming soon.
all, Optional 16-user operating system with time share and
distributed processing capabilities.

Optional rack mounting and rack enclosures.


Leasing programs and maintenance contracts available
through many dealers. Optional nationwide field service
coming soon.
Challenger III systems have extremely high
performance-to-cost ratios. For example, a system complete with triple processor CPU, 32K bytes of static RAM, a
serial I/O port, dual drive floppy disks (500K bytes of online storage), fully assembled, plus DOS, BASIC and a
demonstration program library costs $3590 fully assembled.

REPRESENTATIVES

DEALERS
The Abacus
Niles Rd
Berrien Springs MI 49103
16161 429 3034

Delaware Microsystems
92 L mall St Al
Newark DE 1911'
1302) 738 3700

American
Eq uip Microprocessors
p ly Corp
u Milwauee
ment
Avve
up
Pranevrew IL 60069
(3121 634-0076

Great Lakes Photo . inc


5001 Eastman Rd
Mmland MI 18640
15171 631 5461

Computer Mart 01 New York


118 Madison Ave
New York NY 10010
12121 686 7923
Computer Place
R.
910
RD 11
Jcplin MO 64801
14171 781-1986
Computer Power
P 0 Bex 28193
San Diego CA 92128
17141 746-0064
Com p uter Sho p ( AncomI
288 Norfolk St
Cambndge MA 02139
16171 661-2670

0010 SCIENTIFIC
1333 S. Chillicothe Road Aurora, Ohio 44202
(216) 562-3101

H/B Com Pu tern


217 Easl Mam SI
Gharlotlesville VA 22903
1804) 295-1975

Abacuz Data
P O Box 276
0,1 CIty. PA 16301
Associates Consultants
33 Ogden Ave
East Wlll "I" NY 11596
15161 746-1079
BRAG Microcomputers
19 Cambndge St
Rochester NY '4607

17161442-5861
8 1 Shop
24
2432 Chester Lane
Microcomp
Columbus OR 43221
P 0 Box 1221
6141 486-7761
Fond Du Lac WI 54935
Computer Business
141419'22 2515
P 0 Box 171
Microcomputer Workshop LaPorte IN 46350
234 Tennyson Terr 12191 362-5817
Wdlramsville NY 14221
Custom Computer Systems
1823 Lowry AY, North
i7161632-8270

Minneapolis MN 55411

Mitro Computer World

rn12) 588.3944

Grand Rapids MI 49',03


!6161 051-891/

Johnson Computer
P 0 Box 523
Medna. OH 44256
2161 725-4560

Small Computer Systems


4450 Trinity Avenue
Salt Lake COy UT 84120
18011 962 7635

Omega Computing, Ltd


you 220 . Station P
TOmnro. Ont MSS 25/
1416) 425-9200

Pan Atlantic Computer Systems, GmbH


61 Darmslad.
rankturasse 78
West Germany
rmany
;081021 3206
Secom Systems
541.1 New Peach Tree Rd
Chamblee GA 30341
14041934 3272
Small Computer Systems
3140 Wallalae Ave
Honolulu. HI 96816
18081 732 5246
Systems Engineering Enterprises
Surte 307
1749 Rockville Pike
Rockville MD 20852
13011 468-1822
TeN-Aids, Ine
I nc 1513 Crain Si
Evanston IL 60202
3171378-0110
Total Data Systems
125 hallway Lane
Fort Collins CO 80521
13031482-6215
Tritomp. Ine
18 Alameda Square
Denver CO 80223
3031 935-1100
Yingce, Inc
2 World Trade Cnh
Penthouse 107th Floor
New Ymk NY 10048
.2121 7751184

For more information contact an Ohio Scientific


dealer or the factory . Be sure to specify your interest
in business systems.
BYTE May 1978 43

T chaiciI
forum

A Raster Scan Graphics Suggestion


Tello D Adams
619 Woodhaven PI
Richardson TX 75080

Technical Forum is a feature intended as an interactive


dialog on the technology of
personal computing. The subject matter is open-ended, and
the intent is to foster discussion and communication
among readers of BYTE. We
ask that all correspondents
supply their full names and
addresses to be printed with
their commentaries. We also
ask that correspondents
supply their telephone numbers, which will be printed
unless we are explicitly asked
to omit them.

In reference to your editorial (October


1977 BYTE, page 6) you seem to have overlooked a pertinent color refresh storage
method. While a 256 by 256 matrix is great
if you want to create a 256 square checkerboard, most graphics (including cartoons)
don't look that way; therefore, storage
for every picture element is a waste of bandwidth. Most graphics consist of areas of
color, usually with a limited number of
changes over the screen width.
Let us presume that a representative byte
consists of four bits of color information (16
colors) and four bits of intensity data (grey
scale = 16). A raster scan system is not a
series of random events. The beam position
can be predicted at all times, therefore, if a
clock driven 256 counter (eight bits) is
provided, the horizontal position of the
beam is uniquely defined. The game now becomes one in which the beginning address on
a line (eight bits) and the color and intensity
information (eight bits) from that point to
the next change is stored (parallel 16 bit or
two bytes if your access is fast enough) in sequence in memory. Each 16 bit word is
pulled from memory and stored in two 8
bit registers. When the counter (horizontal

line position) matches the address register,


the color and intensity information is transferred into a driving register which holds it
and drives the video conversion circuits until
the next change. This event also causes the
next double byte to be retrieved from the
memory and loaded into the "standby
register." The driving register could also be
combined (logically) with a character generator to provide an interesting set of alphanumerics. Now let's look and see what we
have got. We need a sync signal to mark the
beginning of the frame, but no line counter,
unless you want to digitally control the
vertical retrace, as a given address only
occurs once per line. (But you do need one
byte of address which is numerically larger
than the first address of the next line. This
can be an actual "used" number or a "fake"
at n = 225.) We use only one double byte
per color or intensity change. If you assume
an average of ten changes per line (and in the
"cartoon" world that is a lot) and 256 lines,
that equates to 2,560 double bytes (5,120
bytes) which is far short of the 64 K + bytes
(7.8%) it would take to define every picture
element, yet 256 by 256 resolution is still
achieved (information and resolution are not
the same). This would seem to provide one
practical solution to the high resolution
color graphics problem for small users, and
is instantly expandable as more memory
becomes available.

495
ALPHA Z - 80" $
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.)
* Z-80 is a registered trademark of Zilog Inc.

ADS

44 May 1978"BYTE Publications In,

ALPHA DIGITAL SYSTEMS


Data Acquisition , Computation and Control
ROUTE 4 BOX 171A
BOONE, NORTH CAROLINA 28607

Circle 5 on inquiry card.

The future belongs to those with The Blues


from Cybercom.
Join the growing number of users worldwide
who are discovering the exceptional quality,
plus prompt delivery and significant cost
savings. And the new year holds even more
promise now with our MB6A 8K RAM board
(450 NS) reduced to just $165, and our
MB7 16K RAM board now only $449. Also,
you might want to check out our new
1/0 -4 board that offers two serial I/O ports
(2-1 and 2 -0) and two parallel ports (2-I and
Circle 335 on inquiry card.

2-0), eliminating jumpers, priced at $149.50.


Seek out Cybercom's full and versatile line
at your local computer hobbyist store, or
contact us directly, if you want to build a

world of the future today.

Es ebb=o-7
A Division of Solid State Music
2102A Walsh Avenue
Santa Clara, CA 95050
Telephone (408) 246-2707

MB7 16K
RAM board.

Ask for The True Blues.


BYTE May 1978 45

Lanceace.0

Forum

UCSD PASCAL
A (Nearly) Machine

Independent Software System

Kenneth L Bowles
Professor , Director
Institute for Information Systems
University of California San Diego
La Jolla CA 92093

(for Microcomputers and Minicomputers)


Overview

Languages Forum is a
feature which is intended as an
interactive dialog about the
design and implementation of
languages for personal computing. Statements and
opinions submitted to this
forum can be on any subject
relevant to its purpose of
fostering discussion and
communication among BYTE
readers on the subject of
languages. We ask that all
correspondents supply their
full names and addresses to
be printed with their commentaries. We also ask that
correspondents supply their
telephone numbers, which will
be printed unless we are explicitly asked to omit them.

46 May 1978 BYTE Publications Inc

This article describes a complete interactive software system which can operate
virtually without change on many different
microcomputers and minicomputers. Because
the semiconductor industry is evolving new
equipment very fast, it is becoming a practical necessity to have machine independent
software to prevent rapid obsolescence of
large application programs. The software
described here has been developed at the
University of California San Diego (UCSD),
and is available to anyone for a $200 subscription fee. This article presents an appeal
to readers of BYTE for help to bring about a
true community-wide software system for
business, educational and other professional
users of small computer systems. Help is
needed from the user community, since the
manufacturers have so far avoided standardizing software except as regards some
aspects of programming languages. For
single user microcomputers, it appears to
be far more practical to standardize the
entire software system than the language
processor alone!
The Software System
UCSD PASCAL is a complete interactive
software system for small computers, yet
it offers many features normally found only
on medium and large scale machines. It is
designed to operate, with minimal adaptation, on most microcomputers or minicomputers based on 8 bit bytes or 16 bit
words. Supported versions are now available
for use on machines based on the Digital
Equipment LSI-11 or other PDP-1 1 processors, and on the 8080 and Z-80 microprocessors. Having first been sent to users
in August 1977, the system is in use on
approximately 60 mainframes using these
processors (as of mid February 1978), and

the list of both users and processors has


started to grow rapidly. Versions not yet
supported by the Project are operating,
or nearly operating, on four other processors (General Automation 440, Univac
V75, Nanodata QM-1, National Semiconductor PACE). The UCSD PASCAL Project
is discussing arrangements with various
manufacturers whereby supported versions
can be released for most other popular
microprocessors, and additional inquiries
would be welcomed.
The system is written almost entirely in
the PASCAL programming language, extended for system programming and for disk
based interactive applications. Far more than
a simple compiler for PASCAL, it should be
viewed as a complete and fully integrated
system which is self-maintaining, and generally independent of software from any
other source. The system operates in a small
pseudomachine (interpreter) which can be
written in the native machine language of
conventional processors, or can be microprogrammed on machines which provide
that capability. The object code processed
by the PASCAL pseudomachine is compressed relative to conventional object code,
and consumes roughly one third to one half
as much space as the native object code of
most present day processors. A feature to be
implemented soon will allow mixing PASCAL
pseudocode routines, for efficient use of
memory, with native code routines, for fast
processing.
The system is the product of a growing
project team, and is evolving rapidly in an
upward compatible way. As of early 1978,
the system represents the equivalent of about
15 full-time years of programming and
design effort. Major components of the
Continued on page 170

..04

'I

TECHNICAL
DESIGN SYSTEM MONITOR BOARD I I
LABS
COMPUTER SYSTEMS by
Technical Design Labs
THE SMB II IS A FLEXIBLE MULTIFUNCTION BOARD WHICH PROVIDES A VARIETY OF FEATURES
COMMONLY REQUIRED IN MICROCOMPUTER SYSTEMS.
SYSTEM MONITOR BOARD 11

FLEXIBLE 1/O

The SMB II features two serial ports with baude rates individually selectible from 110 to 9600 baud. Additionally, a single 8 bit
parallel port with two control lines is provided. These ports allow interfacing to most commonly used I/O devices such as CRTs,
TTYs or parallel reader/punch devices. Interfacing is simplified by the use of a flat ribbon connector.
MASS STORAGE
Using most inexpensive cassette tape recorders, this updated and improved Audio Cassette Interface may be switch selected to operate
at either 1200 or 2400 baud. The necessary serial port and the software drivers for saving and loading programs using this interface
are provided as part of the operating system.
RAM and EPROM

Sockets are provided which allow the insertion of two 2708s or 2716s which may be addressed at any 1K page border in memory.
One 2708 is supplied with the SMB which contains many useful extensions to the ZAPPLE monitor.
Sockets for 2K of static RAM, addressable at any 1 K border in memory are also provided. This scratch pad space is tremendously
useful for the creation of additional monitor extension routines and I/O drivers. 1 K of this static RAM is provided with the SMB 11.
SYSTEM CONTROL
Perhaps the most useful feature of the SMB is the inclusion of the Z80 ZAPPLE MONITOR in 2K of masked ROM. This executive
program allows complete system control, including debugging , and extensive I/O control directly from the keyboard. Also, hardware
implementations allow "Jump -on-reset " to ANY 256 byte border in memory.

FEATURES:
2K Zapple Monitor in ROM (for Z-80)
8080 version available on special order
Up to 4K of 2708/2716 EPROM may be used
Sockets for two 2708/2716 EPROMs are provided
One 2708 with extension routines comes standard
Sockets for 2K static RAM
1 K Static RAM provided as standard
1200/2400 Baud Audio Cassette Interface
Two Serial ports, 110 to 9600 baud (one may be RS232 or current loop)
One 8 bit parallel port with control bits
RAM, ROM and EPROM may be readdressed in memory
Generates Interrupt
Optional on-board MWRITE generation
Wait-state generation for 4MHz operation
TECHNICAL
DESIGN
LABS RESEARCH PARK BLDG. H 1101 STATE ROAD PRINCETON, NEW JERSEY 08540
Circle 365 on inquiry card.

( 609) 921-0321
BYTE May 1978 47

it's a good bet the company


you bought your computer from
doesn't even make peripherals!

t .ui

TV M

son

7"

F-11'. 'e

Our asf bly


,1df o.f fora `t

. p .

tsx (

wunique

Heathkit Catalog
Read about nearly
400 money-saving,
fun-to-build
electronic kits.
Use coupon Ira send for
your mail order catalog

mtw i i

wither

ch

of ceived to

itLs,, e?hfli:

or bring coupon to a
Heathkit Electronic
Center for your catalog..

putrs,, but,

----------------11
HEATH

Schlumberger

Heath Company, Dept . 334-410


Benton Harbor, MI 49022

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

Name
Address
City
C

48 BYTE May 1978

Boni=

City, 94053, 2001 Middlefield Rd., Phone'4 3 `


8155; Sacramento, 95825, 1860 Fulton Ave Phone:,
916-486-1575; San Diego ( La Mesa, 92041), 8363
Center Dr., Phone: 714461-0110; San Jose (Campbell, 95008), 2360 S. Bascom Ave., Phone. 408377-89,20; Woodland Hills, 91384, 22604 Ventura
blvd., Phone: 213-883-0531; COLORADO: Denver,
80212, 5940 W. 38th Ave., Phone: 303422-3400;,,
CONNECTICUT: Hartford (Avon, 06001), 395 W.
Main St. (Rte. 44), Phone: 203-678-0323; FLORWA:
Miami (Hialeah, 33012), 4705 W. 16th Ave., Phone:
305-823-2280 ; Tampa, 33614, 4019 West Hilts
borough Ave., Phone: 813-686 2541; GEORGIA:
Atlanta, 30342, 5285 Roswell Rd., Phone: 404-2524341; ILLINOIS: Chicago, 60645, 3462-66 W. Osvon Ave., Phone: 312-583.3920; Chicago (downers Grove, 60515), 224 Ogden Ave., Phone: 312-869,'1304; INDIANA : Indianapolis, 46220, 2112E; 62nd
St., Phone: 317-257-4321; K ANSAS
S: Kansas City
(Mission60202), 5960 Lamar Ave., Phone. 91 ',
362-4486; KENTUCKY : Louisville, 40243, 12401.:
Shelbyville Rd., Phone: $02-245-7811; I OUISIANA:
New Orleans (Kenner, 70062), 1900 VeteranMemorial Hwy., Phone: $04-722-6321; MARYLAND;,
Baltimore, 21234 , 1713 E. Joppa Rd., Phone: 301,
661-4446; Rockville , 20852, 5542 Nicholson Lane,
Phone: 301-881-5420; MASSACHUSETTS: Boston
(Peabody, 01960), 242 Andover St., Phone: 617-.
531-9330; Boston (Wellesley , 02181), 165, Worcester Ave. (Rt. 9 just west of Rt. 128), Phone:
617-237-1510; MICHIGAN : Detroit, 48219, 18645
W. Eight Mile Rd., Phone: 313-535-6480, E. Detroit, 48021, 18149 E. Eight Mile Rd., Phone: $13-.
772-0416; MINNESOTA : Minneapolis (Hopkins,
55343), 101 Shady Oak Rd., Phone: 612 93871;
MISSOURI: St. Louis ( Bridgeton), 63044, 3794
McKelvey Rd., Phone: 314-291-1850 ; NEBRASKA, ,." ,
Omaha , 68134, 9207 Maple St., Phone: 402.391-2071; NEW JERSEY : Fair Lawn, 07410, 35-07
Broadway (Rte. 4), Phone: 201-791-6935; Ocean,
07712, 1013 State Hwy. 35, Phone: 201-775-1231,
NEW YORK : Buffalo (Amherst, 14226) ,3476 Sheri
dan Dr., Phone; 716.835-3090; Jericho, Long Island, 11753, 15 Jericho Turnpike, Phone: 516-334III; Rochester, 14623, 937 Jefferson Rd., Phone:
716-244-5470; White Plains ( North White Plains,
10603), 7 Reservoir Rd., Phone: 914-761-7690;
OHIO: Cincinnati ( Woodlawn , 45216), 10133
Springfield Pike, Phone: 513-771-8850 Cleveland,`
44129, 5444 Pearl Rd., Phone: 216-886-2590; Columbus, 43229, 2500 Morse Rd., Phone* 6144767200: Toledo , 43615 , 48 S. Byrne Rd., Phone: 413537-1887; PENNSYLVANIA : Philadelphia, 1 9149,
6318 Roosevelt Blvd., Phone. 215-288-0180; Frazer
(Chester Co.), 19355, 630 Lancaster Pike (Rt. III),'.
Phone: 215-647-5555; Pittsburgh, 15235, 3482 Wm.
Penn Hwy., Phone: 412-824-3564 ; RHODE ISLAND:
Providence (Warwick, 02896 ), 558 ,Greenwich
Ave., Phone: 401-738-5150; TEXAS: Dallas, 75201,
2715 Ross Ave., Phone; 214-826.4053; Houston,
77027, 3705 Westheimer, Phone: 713-623-2090;
VIRGINI A: Alexandria, 22303, 6201 Richmond
Hwy., Phone: 703.765-55516; Norfolk (Virginia
Beach, 23455), 1055 I ndependenc a Blvd., Phone.
804-460-0997; WASHING TON, Seattle, 98121, 22,21
Third .Ave., Phone:
, U9 17,2; WISCONSIN:

State

P-146

Circle 160 on inquiry card.

Figure 1: A computer generated three-dimensional


function plot using the
author's hidden line subroutine.

Hidden Line Subroutine s


for Three-Dimensional Plotting
A hidden line subroutine is used to eliminate lines which are behind surfaces and
which in real life one would not he able to
see in a computer generated plot of a solid
object in two dimensions. A hidden line subroutine makes the final picture more realistic.
A three-dimensional Cartesian function is
a function such as
F(x,y) = 4xcos(3y) + 1 /ex
where the value for the z coordinate is a
function of both X and Y.
This article considers the various steps
necessary for a hidden line routine that
handles functions of this kind. The algorithm will not work for functions plotted
in spherical coordinates or for complex
three-dimensional figures such as a house.
The hidden line subroutine should be
written in a general form so that the user
can attach the subroutine to any appropriate
program without having to rewrite it.
First, one must have a program that generates the X and Y values that the hidden
line subroutine will operate on. Briefly, this
involves a program to generate an X and a Y
FOR NEXT loop; generate a Z value; rotate
to get a new (x',y',z'); scale; put through a
perspective function and come out with an

(x,y) point. This is the point on the screen


(or paper) to which one would normally
draw a line. However, we now take this (x,y)
point and GOSUB to our hidden line subroutine.
Let us first draw a function of this kind
without hiding any lines (see figure 2). Note
that one point seems to ruin the appearance
of the graph because the viewer sees immediately that a surface is being formed. When
a point goes "behind" the small mound, the
subjective feeling is that it should be hidden.
We need a rule that will handle all points
that should be hidden and leave other points
alone.
One difference between this point and all
the previous points is that it is lower (along
the Y axis) than the corresponding point in
the previous line. "Corresponding" here
means the same X value. Thus, our rule
states that if for any point (x,y), the Y value
is lower than any previous Y value for the
same X value, it should be hidden. To do
this, we must save the necessary values; for
the above rule, we need to know the highest
valued Y for every X.
Let us assume the screen has a resolution
of 1024 along the X axis and 800 along the
Y axis (such as in the case of the Textronix

Mark Gottlieb
4342 Sunset Beach Dr NW
Olympia WA 98502

May 1978 BYTE Publications Inc 49

4013 graphics terminal). Thus, we have


1024 possible X locations. But we need to
know only the highest valued Y for each X.
This means that if we have a 1 by 1024
matrix we can store the highest valued Y in
the corresponding X location. We can keep
our matrix updated with the following
BASIC statement:
100 B(X,1) = B(X,1) MAX Y

Figure 2: The first crude plot function shows problems encountered when no
hidden line algorithm is used. The subroutine would hide that portion of
the fourth line from the front that "goes behind" the high point in front of
it.

Figure 3: In this case the algorithm has correctly hidden some points but
has failed to show others which emerge at the bottom of the plot.

Figure 4: Improved algorithm reveals the bottom of the curve as a series of


solid lines (compare with figure 3).

This statement always keeps the matrix full


of the highest valued Y for each X location.
In order to implement our rule in the
hidden line program, we need a check such
as:
If Y < B(x,1)
Then don't draw this line.
Implementing what is already known, the
graph might look like the one in figure 3.
The program hides all of the lines shown
as broken lines because all the Y values for
those X values are less than the highest Y
value for that X value. However, we see
that we would like to have seen the part of
the dip which comes out beneath the graph.
In other words, we want our graph to look
like the one in figure 4.
Instead of hiding all the lines whose Y
value is less than the highest Y value for that
particular X, we should say "Hide all lines
whose Y value is less than the highest Y and
greater than the lowest Y value for that
particular X." This involves storing the lowest
Y value, also. We do this by using the matrix
with dimensions (1024,2). In column 1 we
store the highest Y value and in column 2
the lowest Y value for that X. The matrix
can be kept up-to-date this way:

B(X,1) = B(X,1) MAX Y


B(X,2) = B(X,2) MIN Y
This statement keeps the matrix full of
the highest and the lowest valued Y for each
X location. Thus, the new check for the
hidden line routine looks like this:

A Note About the BASIC Employed in These Examples:

The BASIC employed in these examples is the interpreter available with


the author's computer. Most features are similar to a typical extended BASIC
which includes matrix operations (MA T keyword). As noted in text, the file
oriented operations which are used to initialize the matrix B can be replaced
by a FOR ... NEXT loop at lines 310 and 320 in listing 6. (Lines 130 and 140
would then be deleted.)

If Y < B(X,1) AND Y > B(X,2)


Then don't draw.

5535 RETURN

One small technical problem arises which


is easily solved. We need to solve for only
two points in order to get a line between
them, but our (1024,2) matrix has not been
told what is between these two points. Thus,
for each new point solved, we must go
through the matrix, starting from the X
value where we last left off, and fill in the
Y values for each of these new Xs until we
get to the X value of our new point (x,y).

Listing 1: A BASIC program used to calculate points between the endpoints


of a line segment for plotting purposes.

This process involves solving the equation


for a straight line given the two points and
then filling in the Y values for each X

5505 U6=SGN(X-X9)
5510 IF U6=0 THEN 5535

5515 FOR U7=X9 TO X STEP U6


5520 S8=Y9+S9*(U7-X9),B[U7,2I=B[U7,21 MIN S8,B[U7,1I=B[U7,11 MAX S8
5530 NEXT U7

50 May 1978 BYTE Publications Inc

YO U CA N H AVE BOT H ...


"MPTHAS 'IOU
TNT TO SIM"

"Natural Sounding
Speech"

=+nt1^^l^nou nnllll^Hrt(II un I,

S-100 BUS

CTEDIT
PARAMETER EDITOR
SOFTWARE
(STD. WITH CT-1)

CSR1
SYNTHESIS - BY-RULE
SOFTWARE
(OPTIONAL)

C71
l

"AE2NIYTHIHNX YUW
WAANT TUW SEY."
phonetic spelling
CT-1 parameter data

ONLY COMPUTALKER
GIVES YOU THE CHOICE
No other speech synthesizer available offers you the flexibility of the Computalker Model CT-1. The parameter
editor program , CTEDIT, allows direct manipulation of all 9 control parameters . CTEDIT and parameter data
tapes are furnished with the CT- 1 synthesizer board.
The optional CSR1 software package translates ASCII phonetic text strings to speech output. CSR1 is simple
to use and is the easiest way to create new speech . CSR1 can also be called as a subroutine from user's code
for applications involving program controlled voice output.
The CSR1 phonetic rule system generates control parameters in the same form as used by CTEDIT. Thus, it is
possible to further edit the output of the rule system , to achieve natural sounding speech output with minimum
effort.
CT-1 assembled 8 calibrated 395.00 Software is available on CPM 8",
CSR1 phonetic rules software 35.00 North Star 5 1/.", CUTS, TARBELL,
Calif. residents add 6% sales tax MITS ACR, Paper Tape.

COMPUTALKER CONSULTANTS
1730 21st Street , Suite AB, Santa Monica , CA 90404 ( 213) 392-5230/828-6546

Circle 61 on inquiry card.

BYTE May 1978 51

Figure 5: Plot made without the intersection routine. Incorrect intersecting


lines are caused when line
segments which are partly
visible and partly hidden
are plotted.

desired answer is 200. We can solve the problem by filling all of the elements in the second
column with the highest value we might
need, 800 in this case.

along that line for our matrix. This routine


is called upon almost every time a new point
is generated, and, therefore, is executed
many times. This is the one step that makes
this method of hidden line processing slow,
and thus should be made as condensed as
possible. A suggested routine is shown in
listing I. In this routine, U6 causes the FOR
NEXT loop to go forward or backward
depending on where X is in relation to X9.
X9 and Y9 are set equal to the previous
points throughout the program. U7 becomes
the X value for each point along the line and
S8 the corresponding Y value. S9 is the
slope of the line and is determined earlier
in the subroutine. Matrix B is the 1024 by 2
matrix for storing the high and low Ys.
One small item which must not be overlooked is that the initial values of the 1024
by 2 matrix elements must be set. Suppose
we initially set each element to 0. While
drawing the first line, suppose the first point
is (300,200). When the program executes the
line which reads

100 B(X,1) = B(X,1) MAX Y


B(X,2) = B(X,2) MIN Y

Figure 6: Plot made using


the intersection routine
(compare with figure 5).
Each line segment is tested
to see if it is partially
hidden. If so, it is subdivided into sections
which are either visible or
hidden.

element B(300,1) will take the MAX of 0


and 200 which is 200; this is correct. However, element B(300,2) will take the MIN of
0 and 200 which is 0. This is incorrect; the

One way (used in my program) to fill the


first column with Os and the second with
800s is to use a file. The initial conditions are
read from the file onto the matrix at the
beginning of each program. Another way, of
course, would be to employ a FOR ... NEXT
loop.
The few techniques learned so far form
a good basis for a hidden line subroutine.
Plotting a function with a hidden line subroutine and incorporating what has been
determined so far gives a graph like the
one shown in figure 4. An outline for the
hidden line subroutine would be similar to
this:

If Y < B(X, 1) and Y > B(X, 2)


Then don't draw.
Otherwise draw.
Fill in points in matrix.
Return to main program.
Figure 4 looks respectable; at least the
right lines are hidden. However, something
is not quite right. When we need to hide a
point, we cannot simply draw a line to that
point. This leads to the problem seen in the
graph; the lines do not meet the surface of
the graph when they go behind; when
coming out, they start emerging before
they are completely clear of the surface.
Obviously, some improvement on our
hidden line subroutine is needed.
We need an algorithm to find the intersection. When a point lies behind the surface, we must find a new point on the

5205
5210
5215

S7=X-X9,U2=0,X1=X9,U1=1
UNTIL U1>128 DO
U1=U1*2

5220

IF U2 THEN 5235

5225
5230

x1=x1+s7/U1
GOTO 5240

5235

X1=X1-S7/UI

5240

Y7=S9*(X1-X9)+Y9

5245
5250

IF U3 THEN 5456
IF Y9> B[X9,2 ] THEN 5270

5255
5260
5265

IF Y7>B[X1,21 THEN U2=1


IF Y7< B[X1,2 ] THEN U2=0
GOTO 5280

5270
5275
5280
5285
5290

IF Y7<B[X1,11 THEN U2=1


IF Y7 >B[X1,1 ] THEN U2=0
DOEND
X5=X,Y5=Y
X=X1,Y=Y7

5455

REM ** FOR U3=1:COMING OUT ***

5456
5457
5458

IF Y>B[X,1 I THEN 5460


IF Y7< B[X1,2 ] THEN U2=1
IF Y7> B[X1,2 ] THEN U2=0

5459

GOTO 5280

5460
5465

IF Y7>B[X1,1] THEN U2=1


IF Y7< B[X1,1 ] THEN U2=0

5470

GOTO 5280

Listing 2: A BASIC routine that searches for


intersections between line segments.
52 M..y 1978

BYTL Publi,,no- Inc

surface of the graph. If we draw a line to a


point that should be hidden, we will intersect the surface at this new point which we
are trying to locate: the point of intersection.
This becomes tricky. The basic procedures
necessary to determine the point of intersection are as follows:

Find the equation for the line which


passes through the previous point
and the new point behind the surface.
Step along this line from the old X
value to the new X value until we
find an X where the Y for that X is
the same ( within one point of resolution) as the highest (or lowest) Y for
that same X. This is the intersection
point to which we draw to intersect
the surface , or from which we start
drawing when coming from behind
the surface.

Suppose the point outside of the surface


is (505,200 ) and the new point which goes
behind the surface is ( 575,188 ). If we step
along the line joining them in the X direction, from X = 505 to X = 575, it could
take up to 70 steps until the intersection
point is found.
A much more elegant and time saving
approach is to perform a "binary search"
along the line to find the intersection point.
For the previous example in which there
were 70 steps , we could get to within one
point of resolution from the point of intersection in seven steps. I go through the binary
search method eight times to accommodate
longer line segments.
Listing 2 shows the segment of my hidden
line subroutine that searches for the intersection point . Ul is a binary loop; U2 tells
whether to go forward or backward along
the line segment whose length is S7; X1 is

5600 REM ** FILL IN LEFT SIDE **


5610 IF X4=-1 THEN GOTO 5640
5620 X4=X,Y4=Y
5630 RETURN
5640 X8=X9,Y8=Y9
5650 X9=X4,Y9=Y4
5660 S9=(Y-Y9)/(X X9)
5670 GOSUB 5500

the new X location along the line segment as


the search continues; Y7 is the solution to
the line equation between the two points
at the new X value Xl ; and U3 calls a further
nested subroutine if one is trying to find the
intersection point while coming out from
behind the surface. Finally, after the program
executes the loop eight times, X1 and Y7
are the coordinates of the intersection point
(X1,Y7). Figures 5 and 6 show the before
and after effects of the intersection routine.
Figures 7 and 8 show what happens to
a graph with and without a process called
"left and right side fill-in." The edges of
the graph in figure 8 appear messy. This is
because on the left edge, for example, when
a line comes into the preceding left edge,
it does not appear to intersect it; instead it
goes a bit too far. This can be seen with
the aid of the dotted line. The problem is
solved by adding an imaginary dotted line
into the matrix of 1024 by 2. Although we
do not draw the edge lines on the screen
which we could do, we "draw" them into
the matrix. Thus, when a line is about to
intersect with an edge, it will have an imaginary boundary in the matrix with which to
intersect.
The matrix fill-in is accomplished by
taking the point at the beginning of a new
line and the point for the beginning of the
previous line and calling them (X,Y) and

Figure 7: Graph made


with `left and right side
fill-in. " The term refers to
an imaginary "edge " at the
borders of the surface
(shown in dotted lines).
This edge enables the
algorithm to accurately
handle lines drawn near
the edges.

Figure 8: Graph made


without the "left and right
side fill-in " feature in
the algorithm. In this case
the routine cannot accurately handle intersections
at the edges of the surface
(see arrows).

5680 X9=X8,Y9=Y8
5690 GOTO 5620
5700 REM ** FILL IN RIGHT SIDE **
5710 IF X3-1 THEN 5740
5720 X3=X,Y3=Y
5730 RETURN
5740 X8=X9,Y8=Y9
5750 X9=X3,Y9=Y3
5760 S9=(Y-Y9)/(X-X9)
5770 GOSUB 5500
5780 X9=X8,Y9=Y8
5790 GOTO 5720

Listing 3: Two routines used to "fill in" the


left and right sides of the graph so that no
line intersections occur (see figures 7 and 8).
M." 1978 Hvn PunI, tio,, In, 53

300
302
303
305
310

FOR B=0 TO 1
X3=Y3=X4=Y4=-1
READ =2,1
MAT READ tt2;B
FOR T=-E TOE STEP E/K

320
330
340
350
355
360
365
370
380
390

FOR G=-E TO E STEP E/K


U9=G
IF B=0 THEN 370
A[1,1]=T
A[ 1,2 ]=G

A[ 1,3 I =T*G*(T*T-G*G)/(T*T+G*G)
GOTO 400
A[1,11=G
A[1,21=T
A[ 1,3 1 =T*G*(G*G-T*T)/(G*G+T*T)

400

410
420
430
440
450
455

MAT C=A*Q

X=FNP(C[ 1,11*300/E)+512
Y=FNP(C[ 1,2] *300/E)+400
GOSUB 5000
NEXT G
NEXT T
NEXT B

Listing 4: A routine to create crosshatched plots.

(X9,Y9), respectively. Then GOSUB 5500


(the fill-in points for the matrix subroutine)
will fill in all the Y values for each X value
along this line segment. Do the same thing
for the right side, or the last point in each
line.
The subroutine in listing 3 is accessed at
the beginning and end of each line for the
left side and the right side, respectively.
X3 and X4 are initially set equal to -1 at
the beginning of the program. This tells
the routine that it is the first point in the
graph and thus a line cannot be drawn
between it and the previous point, which
does not exist. After the first line is drawn,
the previous points become (X4,Y4) and
(X3,Y3) for the left and right sides respectively. S9 is the slope of the line needed in
the fill-in routine.
Crosshatching is a method of drawing
graphs with sets of orthogonal lines. For
many graphs, this enhances the overall
appearance and definition. The crosshatch
program draws two separate graphs, one
for the horizontal direction, and the other
for the vertical. When the graph in the horizontal direction is completed, all initial
conditions used in the hidden line subroutine
must be reset. This includes reinitializing
by placing the Os and 800s into the 1024 by
2 matrix as described earlier.

Figure 9: A plot made without crosshatching.

Figure 10: The same function as figure 9, but with crosshatching.


54 May 1978 '> BYTE Publications Inc

One must also change the FOR NEXT


loops for the X and Y axis: instead of keeping
the Y value constant while stepping along
in the X direction for a complete line, we
hold the X value constant while stepping
along in the Y direction.
A more efficient method consists of
assuming the X to be the Y and the Y to be
the X the second time around. An example
is shown in listing 4. Matrix A contains the
X,Y and Z values for use in rotation. Matrix
Q is the final three-dimensional rotation
matrix calculated elsewhere in the program.
In the B loop, B = 0 is for the horizontal
direction, B = 1 for the vertical direction.
Notice the values assigned to matrix A when
B changes from 0 to 1. Function FNP is the
perspective function defined in the beginning
of the program. GOSUB 5000 is for the
hidden line subroutine. The function is for
the graph shown in figure 7. Figures 9 and
10 show the effects of crosshatching.
In certain graphs, such as figure 11, lines
must go behind very narrow regions. Here in
the upper portion of the spikes we encounter
difficulties. Using the method described so
far for hidden lines, we solve for a new point
and test to see whether that point is behind
something. We can now determine if it should
be hidden. Let us see what happens when we

Radio Shack's personal computer system?


Thi s ad just might make you a bel iever.
TRS-80 " Breakthru"
TRS-80 microcomputer
12" video display

You can't beat


the 4K system at

Professional keyboard
Power supply

Cassette tape recorder


4K RAM, Level-I BASIC
232-page manual
2 game cassettes

$599
... or the step-up
16K system at

TRS-80 " Sweet 16"


Above, except
includes 16K RAM

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

TRS-80 " Educator"


Above, except
includes 4K RAM and
screen printer

$1198
... or the Level-II
16K/printer/disk

TRS-80 "Professional"
Above, except
includes 16K RAM,
disk drive, expansion
interface, and
Level-II BASIC

system at

$2385

So how are you gonna beat the system that


does this much for this little? No way!
...The amazing new
32K/Level - I I/2-disk/
line printer system at

TRS-80 " Business"


Above, except
includes 32K RAM,
line printer,
and two disk drives

$3874

Get details and order now at Radio Shack stores and dealers in the USA, Canada, UK, Australia, Belgium, Holland, France, Japan.
Write Radio Shack, Division of Tandy Corporation, Dept. C-001, 1400 One Tandy Center, Fort Worth, Texas 76102. Ask for Catalog TRS-80.

Radio /haeK
The biggest name in little computers

BYTL May 1978 55

5035
5040
5045
5050
5060
5065
5070
5075
5080
5085

Figure 11. Problems can occur when lines go behind very narrow regions,
but the line's endpoints are both visible.

Figure 12: Solution to the problem illustrated in figure 71. The routine
checks additional points along the line segment and makes changes accordingly.
100 00=1
110 U4=0,F=U5=1
120 L9=75
130 FILES *,*
140 ASSIGN "BLANK",2,T2
150 DIMA[1,3],C[1,31
160 DIM Q[3,31,B[1024,21
165 REM PERSPECTIVE FUNCTION
170 DEF FNP(F)=D7*F/(D7-C[ 1,31)
180 REM E=STEP VALUE AND K= x STEPS
190 E=10,K=20

200 I=-E,I2=E
210 REM D7=DISTANCE FROM (0,0,0) FOR PERSPECTIVE
220 D7=30
230 REM X2,Y2,Z2 ARE DEG. TURN AROUND X,Y,&Z AXIS
240 X2=-75,Y2=0,Z2=30

250
260
270
280
290

W=3.1416/180
X2=W*X2
Y2=W*Y2
Z2=W*Z2
GOSUB 6000

300 X3=Y3=X4=Y4=-1
310 READ =2,1
320 MAT READ ^2;B
325 REM Y AXIS LOOP

330 FOR T=-E TO E STEP E/K


340 IF T>-.05 AND T<.05 THEN T=0
345 REM X AXIS LOOP
350 FOR G=-E TO E STEP E/K

360 IF G>-.05 AND G<.05 THEN G=0


370 U9=G
380 R=SQR(G*G+T*T)
390 A[1,1(=G
400 A[1,21=T
405 REM ACTUAL FUNCTION
410 A[1,3]=8/(R+1)*COS(R*1.2)
420 MAT C=A*Q
425 REM SCALING, PERSPECTIVE & OFFSET
426 REM GOSUB TO HIDDEN LINE ROUTINE
430 X=FNP(C11,11*300/E)+512

440 Y=FNP(C11,21*300/E)+400
450 GOSUB 5000
460 NEXT G
470 NEXT T
480 END

Listing 6: A BASIC program used to create the plot shown in figure 13. Two
subroutines, at line numbers 8100 and 8200, are not included in this listing,
but must be supplied by the user. These are a routine to draw an invisible
vector to point (x,y) at line number 8100, and a routine to draw a visible
vector to point (x,y). These correspond respectively to the movement of a
plotter's pen without contact and with contact. The details of the routines
depend on the display hardware used.
56 May 1978

B', IL Publkati-, I,,

L8=SQR((X-X9) ^2+(Y-Y9)-2)
IF L8>L9 THEN DO
L2=X9,L5=X,L6=Y,S6=(Y-Y9)/(X-X9)
L7=(X-X9)/(L8/L9),L4=Y9-S6*X9
FOR X=L2 TO L5-L7 STEP L7
Y=S6*X+L4
GOSUB 5090
NEXT X
X=L5,Y=L6
DOEND

Listing 5: A routine used to refine the


hidden line algorithm so it can correctly
handle line segments which are visible at
each end but obscured in the middle (see
figures 11 and 12).

approach and go behind the upper portion


of one of the spikes in figure 11.
Suppose the new point is just to the left
of one of the spikes. The hidden line routine
sees that the point is visible and should
therefore have a line drawn to it from the
previous point. Suppose the next point is
behind the spike: the hidden line routine
will see this and draw a line to the intersection point on the left edge of the spike.
All is well and the graph continues.
But suppose on the next pass (near the
tip of the spike) that the next point is again
just to the left of the spike. It should be
visible, so we draw a line to that point from
the previous point. If the next point is to the
right of the spike, the hidden line routine
sees that this point on the graph should be
seen, and thus a line is drawn from the
previous point (which is to the left of the
spike) to the point on the right of the spike.
A line is drawn across the spike. This problem is apparent in the figure.

The problem of lines going through narrow


regions which are in front is caused by the
fact that the hidden line routine checks only
to see if a line should be hidden at the endpoints of each line. If both endpoints are
outside of the spike, it does not know that
it is crossing the spike and draws a line across
the spike.
The only way to overcome this problem
is to check at points between the two endpoints to see if they go behind any region.
If so, draw the line accordingly to hide any
portion of the line that goes behind the
region.
Here is a method for solving this problem.
At the beginning of the program, decide on a
maximum length of segment you wish to
draw. If you are using a length of 5, for
example, and the length of a normal line
from endpoint to endpoint is 60, the program would divide this line into 12 segments
and use the hidden line routine as though
these were 12 consecutive lines. One should
choose the maximum length of line on the

Listing 6, continued:
4985
4987
4990
4992
4995
4997
5000
5005
5010
5015
5020
5025
5030
5033
5034
5035
5040
5045
5050
5060
5065
5070
5075
5080
5085
5090
5099
5100
5105
5110
5115
5120
5125
5130
5135
5140
5145
5150
5151
5155
5160
5165
5170
5175
5180
5181
5200
5205
5210
5215
5220
5225
5230
5235
5240
5245
5250
5255
5260
5265
5270
5275
5280
5285
5290
5295
5300
5305
5310
5315
5320
5321
5400
5401
5405
5410
5415
5420
5425
5430
5435
5450
5454
5455
5456
5457
5458

REM U1 Thru U9;S7-S8-S9;X1,Y1 Thru X9,Y9 **


REM U8 = 0 (Last In ); U8=1 (Last out ) ***********
REM ***SET 1=1ST X & 12=LAST X *********** t
REM ***U4=0,F=U5=1 * X4=Y4=X3=Y3=-1 **** J
REM ***** Let U9 = Value of X step ***********
REM SET L9= MAXIMUM LENGTH OF LINE ****
IF X>1023 OR X<1 THEN U4=1
IF X>1023OR X<1 THEN RETURN
IF U9=I AND Y < B[X,1 ] and Y > B[X,2] THEN 5140
IF U9=I OR U4 THEN GOSUB 5600
IF U9 = I2 THEN GOSUB 5700
U3=0
IF U9=I OR U4 THEN 5155
IF X-X9 = 0 THEN 5125

Variables used in the Hidden Line Routine

Variables to set at beginning of Program

REM STEPS 5035-5085 DIVIDE LINES INTO LINES OF LENGTH L9


L8=SQR((X-X9)"'2+(Y-Y9)"2)
IF L8 > L9 THEN DO
L2=X9,L5=X,L6=Y,S6=(Y-Y9)/(X-X9)
L 7=(X-X9) /(L8/ L9) ,L4=Y9-S6* X9
FOR X=L2 TO L5-L7 STEP L7
Y=S6*X+L4

GOSUB 5090
NEXT X
X=L5,Y=L6
DOEND

IF X-X9 = 0 THEN 5145


U3=0
S9=(Y-Y9)/(X-X9)
IF U8 = 0 THEN 5400

IF Y<B[X , 1 J AND Y>B[X,2] THEN 5205


U8=1
IF U9=I THEN 5155
GOSUB 8200
GOSUB 5500
GOTO 5145
U8=0
X9=X,Y9=Y
RETURN
REM RETURN TO MAIN PROGRAM
X9=X,Y9=Y

GOSUB 8100
GOSUB 8200
U4=0
U8=1
RETURN
REM RETURN TO MAIN PROGRAM
REM *** FIND INTERSECT ***

S 7=X-X9,U 2=0,X 1=X9,U 1=1


UNTIL U1>128 DO
U1=U1*2
IF U2 THEN 5235
X 1=X 1+S 7/U 1
GOTO 5240
X1=X1 -S 7/U 1
Y7=S9*(X1-X9)+Y9
IF U3 THEN 5456
IF Y9>B[X9,21 THEN 5270
IF Y7>B[X1,21 THEN U2=1
IF Y7<B[X1,21 THEN U2=0
GOTO 5280
IF Y7<B[X1,1 J THEN U2=1
IF Y7>B [ X1,1] THEN U2=0
DOEND
X5=X,Y5=Y
X=X 1,Y=Y7

IF U3 THEN GOTO 5425


U8=0
GOSUB 8200
GOSUB 5500
X9=X5,Y9=Y5
RETURN
REM RETURN TO MAIN PROGRAM
REM ***TEST U8=0***
REM U8=0 IF LAST POINT WAS HIDDEN
IF Y>B[X,21 AND Y<B[X,1 J THEN 5145
U8=1,U3=1

X8=X,Y8=Y
GOTO 5205
GOSUB 8100
GOSUB 8200
X=X8,Y=Y8,U8=1
GOTO 5125

Figure 13: A representative plot with the hidden


line subroutine. The program to generate it is
shown in listing 6.
5459
5460
5465
5470
5500
5505
5510
5515
5520
5530
5535
5600
5610
5620
5630
5640
5650
5660
5670
5680
5690
5700
5710
5720
5730
5740
5750
5760
5770
5780
5790
6000
6001
6002
6010
6020
6030
6040
6050
6060
6070
6080
6090
6100
6110

GOTO 5280
IF Y7> B(X1,1J THEN U2=1
IF Y7 < B[X1,1 ] THEN U2=0
GOTO 5280
REM ***** FILL IN POINTS *****
U6=SGN(X-X9)

IF U6=0 THEN 5535


FOR U7=X9 TO X STEP U6
S8=Y9+S9*(U7-X9),B[U7,2I=B[U7,21 MIN S8,B[U7,1I=B[U7,1] MAX S8
NEXT U7
RETURN
REM ** FILL IN LEFT SIDE **
IF X4#-1 THEN GOTO 5640
X4=X,Y4=Y
RETURN
X8=X9,Y8=Y9
X9=X4,Y9=Y4
S9=(Y-Y9)/( X-X9)
GOSUB 5500
X9=X8,Y9=Y8
GOTO 5620
REM ** FILL IN RIGHT SIDE **
IF X3#-1 THEN 5740
X3=X,Y3=Y
RETURN
X8=X9,Y8=Y9
X9=X3,Y9=Y3
S9=(Y-Y9 )/(X-X9)
GOSUB 5500
X9=X8,Y9=Y8
GOTO 5720
REM MAT ROTATE
REM 6010-6110 MAKES MATRIX Q THE
REM FINAL ROTATIONAL MATRIX
MAT Q=ZER

Q[ 1,1 ] =COS(Z2)*COS(Y2)
Q[2,1 J=-1*SIN(Z2)*COS(Y2)
Q[ 3,11 =-1*SIN(Y2)
Q[1,2J=COS(Z2)*(-1)*SIN (X2)*SIN (Y2)+SIN(Z2)*COS(X2)
Q[2,2 J =SIN(Z2)*SIN(X2)*SIN(Y2)+COS(Z2)*COS(X2)
Q[ 3,2]=-1*SIN(X2)*COS(Y2)
Q[ 1,3 J =COS(Z2)*COS(X2)*SIN(Y2)+SIN(Z2)*SIN(X2)
Q[2,3] =-1*SIN (Z2)*COS (X2)*SIN(Y2)+COS(Z2)*SIN(X2)
Q[3,31 =COS(X2)*COS(Y2)
RETURN

REM PART OF THE INTERSECTION ROUTINE

REM ** FOR U3=1 :COMING OUT ***


IF Y>B[X,1 J THEN 5460
IF Y7 < B[X1,2] THEN U2=1
IF Y7> B[X1,21 THEN U2=0

8100 REM A ROUTINE TO DRAW AN INVISIBLE VECTOR TO (X,Y)


8101 REM OR TO PICK THE PEN UP TO LOCATION (X,Y) (NOT INCLUDED)
8200 A ROUTINE TO DRAW A VISIBLE VECTOR TO (X,Y) (NOT INCLUDED)
9999 END

.1,,s 1978 R1 It Puhka,iun. In, 57

Circle 73 on inquiry card.

basis of the screen resolution and the accuracy desired. For greatest accuracy, use 1 as
the greatest length of a line. This would,
however, take a very long time to compute
and draw. A happy medium should be chosen
depending on the graph being drawn. Figure
12 shows the results of using this method.

And we're giving you what you want.


a comprehensive product line. Hardware, assembled or
kits, and software from major manufacturers. Plus books and
current literature. Financing available.
a trained , enthusiastic staff. We'll help you choose or
design the system that's right for you. No high pressure here.
service when you need it. We won't sell you something
we can't keep running.
a brand new facility
in Pennsylvania.
We'll be able to
serve our South JerseyPennsylvania customers
more efficiently now.
a bigger, better New
Jersey store. We've
enlarged our showroom
in Iselin . Now there are
more displays you can
try out. There's more
"` room to stock the
products you need.

Listing 5 is the routine used in the hidden


line routine to divide each line into lengths
no longer than L9. X9 and Y9 are the coordinates for the previous point. L8 is the
length of the line being tested. GOSUB 5090
sends the new coordinates into the remaining
portion of the hidden line routine. This routine may not be elegant, but it does work.
Listing 6 is the complete listing for the
graph plotted in figure 13. I have given a
complete program to help the programmer
when any specific obstacles come up which
are not explained in this article.
The program still contains a few "bugs"
which crop up occasionally due to the
simplicity of the algorithms used, so it is
by no means the ultimate hidden line
program. If any readers can write that ultimate hidden line routine, please let me
know.

The Microcomputer People.'"

Computer Mart of New Jersey


Computer Mart of Pennsylvania
New Jersey Store
501 Route 27
Iselin, NJ 08830
201-283-0600
Tue.-Sat. 10:00-6:00
Tue. & Thur. ti19:00

Pennsylvania Store
550 DeKalb Pike
King of Prussia, PA 19406
215-265-2580
Tue.-Thur. 11:00-9:00
Fri. & Sat. 10:00-6:00

(our only locations)

A P DIP Jumpers make the connection


Faster and Easier.
FLAT RIBBON CABLE ASSEMBLIES
WITH DIP CONNECTORS
AP DIP Jumpers are the low-cost, high quality solution for
jumpering within a PC board; interconnecting between PC
boards, backplanes and motherboards; interfacing Inout/Output signals; and more.
All assemblies use rainbow cable. Standard lengths are 6, 12,
18, 24 and 36 inches.
SINGLE - ENDED DIP JUMPERS DOUBLE- ENDED DIP JUMPERS
Arrow Denotes Pc' No 1 Arrow Denotes Pin No 1

rl
Available with 14, 16, 24 and 40 contacts.
Mate with standard IC sockets.
Fully assembled and tested.
Integral molded -on strain relief.
Line-by- line probeability.
Faster and Easier is what we're all about.
A P PRODUCTS INCORPORATED
Box 110 72 Corwin Drive
Painesville , OH 44077
(216) 354.2101 TWX: 810.425-2250
58 May 1978 7)

BYTE

No.
Contacts

Length No.
36 "
Contacts

Length
6"

Length
12"

Length
18"

Length
24"

Length
36"

14

924102-36-R 14
$2.33

924106.6 R 924106 12-R 924106-18-R 924106-24-R 924106-36-R


$2.41
$2.82
$3.43
$261
$302

16

924112 36 R 16
$2.59

9241166R 924116-12-R 924116-18-R 92411624R 92411636R


62.65
$2 88
$3.11
$3.34
63.80

24

92412236-R 24
$400

924126-6-R 92412612-R 924126-18-R 924126-24-R 924126-36-R


$4.15
$4.50
$4.85
$5 20
$590

40

924132 40
$671

924136-6-R 924136
$6.93
$7.52

Publications

Inc

Circle

14

924136-18-R 924136-24-R 924136-36-R


$8.11
$8.70
$9 88

on

inquiry

card.

/00

Clearly displays the results of a

fined features as: upper and

careful blending of Old World

lower case / 24 line x 80 char-

Elegance

with today's New

acters / address cursor / tabbing /

World of Technology. This

dual intensity / numeric pads /

blending is what creates char-

auto repeat / 15 baud rates / aux.

acter in the IQ 120, and such re-

port and optional printer port.

so if you are one who is serious about what terminal to buy, contact SOROC where character along with quality and design
excellence is part of each and every display $995.00

SOROC

165 FREEDOM AVE., ANAHEIM , CA 92801


TECHNOLOGY, INC. 714.
992-2860 800.854-0147

Circle

346

on

inquiry

card.

BYTE

M ay 1978 59

Ppepamming Quickies

PLOT3D:
A Function
4 44
44 4++4
4 4
+
++4 4+
44 44

Plotting Program

+4444
4

+ + +

4+ 4 4 4* 4 4

4
4
4
4

4 4

4
4
+

+ 4 +

Mike Stoddard
16681 Lynn St
Huntington Beach CA 92649

4 4

4 4
+ + 4 + 4

4
+

+ 4 4+ 4+ 4

4
4

4
4 4

4 +

4+

4+

+ 4 + +

+ 4 + 4 + 4 4 + + + + 4 + 4 +
1
4
4
4
4+
4
4

4+

+ + 4 +

+ 4 + 4 4

4+

+ +

+ 4 4 +
+ 4 4 +

4+

4++

4++

4+

4+

4+

4+

Figure 1: Plot of Z = -30 * EXP(-f(x,y)2 / 100)


(DEF FNA (Z) = -30*EXP(-Z*Z/100))

4
4
4 4 4 4 +

+ 4

4 +

4
4
4 + 4 4 + 4 +

+ 4 4 4 4 4 4+
4

+
4

4 4

4
4
4

4 + 4
4 4

4 4
+

+4

4*

4
+ 4

4 +

4 *

+ + 4 + 4

4 4 4 4 4 4

Figure 2: Plot of Z = . 001 * (f(x,y)3 + f(x,y) - 25)


(DEF FNA (Z) = .001 *(Z*Z*Z+Z-25))
60 May 1978, BY7 L PobJj io,,s Inc

Most programmers have used FORTRAN


or BASIC to generate a two-dimensional plot
as part of their program. If they needed a
three-dimensional plot, it was usually done
on a pen plotter instead of printer or terminal output devices. Since most small
systems lack a pen plotter, this program may
be used to give a three-dimensional rendering
of a normally two-dimensional function.
By printing the third axis horizontally along
the carriage of the terminal, the usual
"hidden line" problem becomes trivial. In
the sample program of listing 1, line 60
defines an exponential cosine function
which normally plots as a decaying sinewave.
Line 120 sets up the X axis values to be in
the range -30 to +30. Line 160 calculates
the Y axis values based on the expression
302 -X2, hence the X-Y axis sectional will
be circular (remember the general equation
of a circle is X2+Y2=R2, where R will be the
radius). The Z axis coordinate is then calculated in line 190 and the tilted 45
degrees to give a rotated view. Lines 200
through 290 pick the correct plotting symbol to use and then decide whether the point
is visible or hidden. To correctly view the
finished plot, remove it from the terminal,
rotate it back 90 degrees, and then do a little
"curve-fitting" by connecting the dots along
the lines of corresponding symbols.
To change the plotted equation, redefine
function A (called FNA in the program) in
line 60. Figure 1 shows the plot of the
equation given in the program. Figures 2, 3,
and 4 show different functions and their
corresponding plots. Note that all figures
have been rotated left by 90 degrees from
the way they are actually printed.

10 REM "PLOT3D" == FUNCTION PLOTTING PROGRAM


20

REM WRITTEN BY MIKE STODDARD

30
40
50
60
70

REM
REM
REM
DEF
DIM

03-03-77

FIRST . DEFINE A NORMAL 2-DIMENSIONAL FUNCTION.


IN THIS CASE. IT WILL BE A DECAYING COSINE
FNA(Z)=30* EXP (-Z*Z/100)
*
A( 2).BS(1)

f i + # + k

80 REM DEFINE THE PLOTTING SYMBOLS


90 LET Af="+*"

110 LET K=5


120 FOR X =-30 TO 30 STEP 1.5
130 LET L=O
140 LET P=1
150 REM CALCULATE X-V PLANE PLOT LIMITS
160 LET VS=K* INT ( SOR (900-X*X)/K)
170 FOR Y=Y1 TO -V1 STEP -K

4
f

+
w

w
4

*
4

180 REM CALCULATE Z AXIS VALUES AND TILT 45 DEGREES


190 LET Z= INT (25+ FNA( SOR (X*X+Y*Y))-.707106*Y)
200
GOSUB
210 REM TEST FOR HIDDEN LINE
220 IF Z(L GOTO 300

340
4

+
#
*

230 LET L-Z


240 REM TEST FOR SAME PLOT LINE
250 IF P IF Z=Z1 GOSUB 340
260 PRINT TAB (Z); B*;
270 REM SET HIDDEN /VISIBLE PLOT POINT

*
4

+
4

280 IF P LET ZI-Z


290 LET P--O
300 NEXT Y
310
PRINT
+
320
NEXT
X
+
+

330 GOTO 390

340 REM SWITCH THE SYMBOLS SO ALL POINTS ON

350 REM ONE LINE WILL BE THE SAME SYMBOL


360 LET B$=A$
A*(2).B
+
370 LET A$
380
RETURN

w
390
END
w

#
*

Listing 1 : The program "PLO T3D" used for


three-dimensional projections into twodimensional plots. The function defined at
line 60 is plotted by the terminal printer
using standard graphics of an ASCII character set.

#
4

+
4

+
w

"++

+ +
*

+*
+

#
+

*4
*

+4
*

4 4
+

4
4

+
*

4
+

4
4

+
+

4
4

4
4

4
*
+

*
*

Figure 3: Plot of Z = 30 *(EXP( f(x,y)2 / 100) + SlN(f(x y) / 5))


(DEF FNA (Z) = 30*(EXP( Z*Z/100)+SIN(Z/5)))

+ * +

4
*
4
4
*

4 4 +

4
4
*

+
* 4

+
*

4 4
*

*
+

Figure 4: Plot of Z = 30 * SlN(f(x,y) l 5)


(DEF FNA (Z) = 30*SlN(Z/5))
May 1978 ') BY I L Publiinllom it 61

GRAPH :

A Syste m for Te levisi on G raphics


Part 1

John Webster
John Young
Audio Visual Services
University of New Brunswick
Keirstead Hall
Fredericton NB CANADA E3B 5A3

Our department of Audio Visual Services


at the University of New Brunswick makes
extensive use of small format videotape
recording for instructional and research
purposes. Tapes are recorded either in a
studio situation or with portable recorders.
Most programs are then edited, and require
the addition of graphics ranging from simple
titles or names superimposed over the
picture to more complex charts and graphs
that will be incorporated in the final
production.

Authors' Note:
This project was a valuable learning experience
for us. Attempting to
explain a program step
by step in English turns
out to be a bit lengthy,
but we hope that the
final result is a package
with real teaching and
learning potential for
anyone new to 8080
machine language programming or the
VD/14-1. It is exactly
the kind of article we
wish we had had access
to a year ago when we
first plugged in our
VDM-1 and wondered
what to do next.

62 May 1978,^ BYTE Publications Inc

Anyone who watches television will have


noticed that electronic character generators
are becoming increasingly popular for providing titles, credits and other forms of
alphanumeric character displays. Their advantages over the old system of creating the
graphics on cards and pointing a camera at
them are obvious. Electronic generators are
quicker, require no special graphics training
or materials, and are, incidentally, cheaper.
Electronic titles can also be easily and
quickly changed or updated. They also require no dedicated graphics camera and
operator.

In examining commercial electronic


titling equipment, we found two main disadvantages: Commercial units were quite
expensive, and at the same time somewhat
limited in their behavior.
We therefore decided to explore the
"hobby" computer market and to design
our own television graphics generator. The
cost of our system turned out to be about
half that of the cheapest commercial product then available, while giving increased
flexibility for graphics handling. The com-

puter system is also available for other


uses when not being used for television
graphics in our studio.
The hardware system we finally arrived
at consists of an Altair 8800 with 17 K bytes
of programmable memory, a Processor
Technology VDM-1 with CUTS board, and a
keyboard and cabinet modified from a
surplus hotel reservation terminal. The
program we developed to provide the necessary functions is the reason for this article.
The project was very much a learning
experience, since we assembled both the
hardware and software. With the exception
of a hardware approach to providing a keyboard repeat function, this article is concerned primarily with the software, since it
is more likely to be applicable to a greater
number of varied systems.

Instead of simply publishing a commented assembly listing of the program, we


have gone into considerable detail about the
structure of each subroutine and about the
workings of the VDM-1 on which the program is based. It is hoped that the program
will be useful to many who are using a
VDM-1 in any related way, and that the
article will serve as a learning tool for
anyone new to low level assembly language
programming.
The Repeat Function
A repeat function is a facility to generate repeated inputs of a keyboard key's
code when the key is held down for extended periods of time. Two approaches
are offered to the problem of providing a
repeat function, one in hardware and one in
software. The hardware approach offers the
advantage of a more easily variable speed,
while the software approach requires no
hardware changes and is executable on
any keyboard.
When a computer keyboard key is
pressed, two signals are generated. One is an

+5V
4

50OK
30Hz)
POWER WIRING TABLE

4
NUMBER

TYPE

ICI

7400

IC2
IC3

555
7402

+5V

GND

PIN

PIN

14

4
14

I
7

Zf- OUTPUT
5

IC2
555

x IN.F

+5V

KEYPRESSED
STROBE

MODIFIED
KEYPRESSED
STROBE TO
COMPUTER

10
IC3
7402

Figure 1: Interface circuitry for GRAPH. An astable multivibrator (IC2) provides the pulse
train for a hardware repeat function. The authors' keyboard produces a low to high transition
strobe (S TB) pulse when a key is pressed. This is used to trigger a monostable multivibrator to
provide a single pulse keypressed (KP) signal to interface with the /0 board used.

A logical AND function gates the astable multivibrator's output with STB to generate a
repeat only when a valid character key is pressed. A logical OR routes either a repeat pulse
train or a single KP signal to the computer's /0 board.
Because the repeat key on the authors' keyboard is tied to ground, it is used to interrupt
the ground connection (pin 1) of the 555 timer. This design seems to work satisfactorily. Ifa
normal single pole single throw switch is available, a more proper design would be to interrupt
the output (pin 3).

8 bit binary number corresponding to the


character chosen. The other is a "keypressed" signal that tells the 10 board a key
has been pressed and it should read and
input the eight bit number as valid data.

If a pulse train instead of a single pulse is


presented on the keypressed line to the 10
board, the computer will continuously input
the 8 bit character word presented as a series
of characters. A repeat function will occur as
long as the pulse train is present. A potentiometer varying the frequency of the pulse
train will produce a variable speed repeat.
The circuit in figure 1 uses a 555 timer
(IC2) to generate the repeat pulse train and
apply it to the keypressed line. Notice that
it is important to gate the pulse train with
the original keypressed STROBE DC level
from the character generator line so that the
oscillator will operate only when a character
key is pressed. Otherwise, invalid data will

be input if the repeat key is pressed before


a character key.
Another handy circuit is contained in figure 1 (lower lefthand corner). Most keyboards presently available provide a low to
high strobe transition to indicate a key is
pressed. Many 10 boards, however, require
a single pulse to latch the valid data. This
portion of the circuit in figure 1 converts a
DC strobe level to a single pulse output.
A software approach to achieving a
repeat function is discussed in the Program
Design section.
Using the VDM-1
The heart of the graphics generator is,
of course, the VDM-1. Like several other
television boards available, it contains 1 K
bytes of programmable memory which hold
the 16 lines of 64 characters per line that
appear on the screen. Thus, manipulating
May 1978 BYTE Publications Inc 63

FIRST INVALID ADDRESS


(TOP OF SCREEN)

LINE
NUMBER

Figure 2. Visualization of
line starting and ending
addresses in GRAPH. This
type of information is
helpful in understanding
the subroutines that check
for valid screen addresses.
The Processor Technology
VDM-l displays 16 lines of
64 characters per line
which reside in 1 K bytes
of programmable memory.

CCOO

CC3F

CC40

CC7F

CC8O

CCBF

CCCO

CCFF

CD00

CD3F

CD40,

CD7F

CD80

CDBF

CDCO
CE00

FIRST OF LINE
ADDRESSES

END OF LINE
ADDRESSES

CE40

CDFF
CE3F
CE7F

CE80

CEBF

CECO

CEFF

CFOO

CF3F

CF40

CF7F

CF80

CFBF

CFCO

CFFF

D000

FIRST INVALID ADDRESS


(BOTTOM OF SCREEN)

graphics becomes merely a question of


manipulating digital information in a 1 K
byte workspace.
Data from any register can be moved to
the screen with a MOV M, X (whose X is
any register) instruction. The position on
the screen is determined by the 16 digit
number in the H, L register pair, which in
this case would be between hexadecimal
0000 (first screen position) and CFFF (last
screen position). Allocations of the starting
and ending line addresses, as well as the first
invalid address on either side of the screen,
are shown in figure 2.
The VDM-1 is designed to display a
cursor if bit 8 is high, regardless of the status
of the other 7 bits. If cursors appeared at all
screen positions, the screen would appear
white instead of black. Lines or blocks of
cursors may be used to draw simple figures.
One shortcoming of the VDM-1 display
is that a full cursor is the smallest contiguous
unit available. The available graphic resolution is therefore a matrix of only 64 by 16
blocks.
The VDM-1 also contains a scrolling
feature which allows vertical displacement of
screen contents. It was decided not to use
this feature in our program for reasons that
will be explained later.
The output of the VDM-1 is a video signal
containing both horizontal and vertical
synchronizing pulses which permit display
64 Ma, 1978

W I F Publ ic,tiom Inc

of the graphic information on any television


monitor. It should be noted that the horizontal and vertical drive pulses are slightly
nonstandard; and, although they will be
accepted by any television monitor, they
may not synchronize easily with more
sophisticated video recording or signal processing equipment. The Digital Group has
announced a 1 K byte video display control
board that can be driven by external sync
pulses. Since GRAPH is written specifically
for the VDM-1, some changes in approach
(for example, cursor handling) may be
necessary when using video display boards
from other manufacturers.
In order to make the VDM-1 do anything
at all, you need a driver program. For example, a simple program could be written
to take a character and type it into the screen
starting at the upper left hand corner (hexadecimal address 0000). To do this it would
be necessary to:

Load H, L with
hexadecimal CCOO first screen position
Check for status has a key been pressed?
Read value of key
pressed and store in
accumulator (A)
Move A M move character to screen
Increment H, L move to next screen position
Loop to

status check get ready for next character

e C e n t r a l ata 2 650 :
R e l iabl e an d Aff or d abl e

The Central Data 2650 Computer


Board system has been carefully
designed and built with you in mind.
We've also designed software and
memory to go with the 2650 so that
you'll have a complete system. You
deserve quality equipment, and we've
built it for you. Take a look at the 2650
board features and see for yourself.

a 2650 microprocessor
an 80 character by 16 line display
a 300 Baud cassette interface
a powerful 1K Supervisor Program
one parallel input port and one bit
settable output port
2048 bytes of read-write memory for
the video display and your programs
expands to S-100 bus
low price of $275
The 2650 board comes assembled,
tested and ready to plug in and comes
with a full one year guarantee. The
price includes a Signetics 2650
Microprocessor Manual and a Computer
System Manual from Central Data.

We offer the Editor/Assembler and 8K


Basic software packages for the 2650
system, and our S-100 24K memory
board allows full expansion of the
system. (16K and 32K memory boards
are also available.) Each software
package costs only $20. The 24K
memory board is $395. All software
P.O. Box 2484, Station A
comes with a program listing.
Champaign, IL 61820
With all these features you can't afford
(217) 359-8010
to pass up the Central Data 2650 system.
lease -e - - - - lo - - - - - - - - - - - - - - fl -Please send me the following:

Central

2650 computer system board ($275)


16K RAM ($289)
24K RAM ($395)
32K RAM ($475)
Editor/Assembler ($20)
Basic ($20)

---n

Name
Address _._
City
State

Additional information
I enclose $
Ill. residents add 5 % sales tax.

Ce ntral Dat.,

I' 0

B,,.

18 4 sc .,

ham

n III

o182 0

L--------------------------- ---_.._------.-Circle

45

on

inquiry

card.

u)

iLs,,,

1.,tn

65

CD Figure 3: A global system


chart for GRAPH.
CTRL/V

LINEFEED

CTRL/T

LINE RETRACT

CTRL/F

BACKSPACE

INITIALIZE

O
CLEAR

CTRL/G

CTRL/J

FORWARD SPACE

CRLF

HOME
CCOO- H. L

DEL

CURSOR

YES

GO THROUGH
I CYCLE OF
DECREMENT
TIMING LOOP

RESET
REPEAT
STATUS
WORD

DELETE

BACKSPACE(AT BSP)

CTRL/U

PAGE UP

LINE RETRACT(AT LRP)

CTRL/M

PAGE DOWN

LINEFEED (AT LFP)

CTRL/H

PAGE LEFT

BACKSPACE (AT BSP)

CTRL/K

PAGE RIGHT

FORWARD SPACE (AT ESP)

CTRL/P I,
2, 3, 4, 5, 6

PAGE RECALL

PAGE STORE(AT MOV I)

CTRL/S

PAGE STORE

CTRL/R

REPEAT

CTRL/0

VERTICAL WRITE

CTRL/A

CURSOR ON/OFF

CTRL/Z

CURSOR WRITE/
DON'T WRITE

l ^I

DATIN
INPUT DATA

OR DATA WITH
CURSOR WRITE
STATUS WORD

YES

CTRL/W I,
2,3,4,5,6.

NEXT STORE
ADDRESS SET

PRINT CHARACTER
ON SCREEN
CTRL/W
CLEAR

SYSTEM CLEAR
CLEAR SCREEN
INIT CURSOR
INIT STATUS WORDS

YES
CLEAR

CLEAR SCREEN
INIT CURSOR

CTRL/X

INX(H)

ESC

ESCAPE

JUMPS TO ADDRESS
LOCATED AT
HEXIDE CIMAL

346 AND 347

NO
NEFEED (AT LFP

Finally, the macro maker of computer


printers has gone micro. With a high-speed,
desk-top, non-impact printer complete with
parallel interface (Model P-1) that's perfect for
the home, hobby and small business user. A
complete 80-column printer for less than $600.
The new Centronics microprinter is
big on performance. It prints clean, clear dot
matrix characters at a rate of 150 lines per
minute. Yet it's quiet, compact, comes fully
warranted and is backed by Centronics'
worldwide service. It's even available in a
serial interface version (Model S-1) for
remote applications.
Of course, buying your small systems
printer from the industry's leading producer
of printers is simply a better buy. You get the
security, support and systems flexibility only
Centronics can bring. Plus the targeted technology that brings out the best in any computer.

So when you think small printers, think


big. Think Centronics . For more information,
just clip and mail the coupon below.

r-----------------^
Centronics Data Computer Corp. ^
Hudson , NH 03051 ^
Gentlemen: Tell me more about your new
microprinters.
Name
Address
Town
State ______- Zip ____

L---------------8-5-78 j

EEnTROf1E5PRIfTER5
Simply Better
Circle

50

on

inquiry

card.

BYTE

May

1978

67

Function

Key Pressed to Enter


Routine

Hexadecimal
Control Character

Description
Happens automatically for all
noncontrol characters.

Type Characters
Onto Screen
Repeat

CTRL/R,X

012

Repeats character X until any


key is pressed.

Move Cursor Up
Down
Right
Left

CTR L/T
CTRL/V
CTRL/G
CTR L/F

014
016
07
06

Cursor may be moved around


screen in either "cursor write" or
"transparent" mode.

Cursor Write/
Don't Write

CTRL/Z

O1A

Cursor blocks may be used to


draw lines or figures.

Cursor On/Off

CTR L/A

01

Leading cursor appears or


disappears.

Clear Screen
Home Cursor

Table 7: Program functions in GRAPH and their


specific control characters.

Clear
CTR L/X

018

Cursor is initialized to upper


lefthand corner without clearing
screen.

LINEFEED or
(CTRL/J)

OA

Generates a carriage return and


linefeed sending leading cursor to
lefthand end of next line.

Move Screen Up
Down
Right
Left

CTR L/U
CTRL/M
CTRL/K
CTR L/H

015
OD
OB
08

Entire contents of screen may be


shifted up, down, right or left.

Vertical

CTR L/Q

011

Allows character entry in vertical


columns.

Store

CTR L/S

013

Entire contents or screen may be


stored in one of six rotating
locations.

Recall

CTR L/P 1, 2, 3
4, 5, 6

010

Contents of any previously stored


screen may be recalled.

Choose Storage
Location

CTR L/W 1, 2, 3
4, 5, 6

017

Screen storage status control word


is set to chosen value for next
STORE.

System
Initialize

CTR L/W
CLEAR

017
01C

All systems parameters and storage


registers are initialized, screen is
cleared and cursor returned to
upper lefthand corner.

Escape

ESC

01B

Exit from GRAPH and return to


system monitor.

Delete

DEL

07F

Writes blank into present position


and moves leading cursor back
one space.

We asked ourselves the same questions


and more. The result was GRAPH, a multifunction video display memory handler. The
following sections will detail the design and
implementation of GRAPH step by step.
Program Function and Use

The GRAPH program is designed to do


practically everything we ever wanted to do
with the VDM-1 , to be as universally applicable and self-contained as possible, and
to reside in the lowest 1 K byte of memory.
B' 1E Publican-, Inc

Clears screen and initializes cursor


to upper lefthand corner.

CRLF

If you implement such a program, you


will immediately see that it is not very flexible, and the need for refinements will become apparent. What about a cursor? What
if you want to start typing somewhere else,
make changes, draw lines, etc?

68 Mav 1978

01C

(The store and recall functions require


additional memory space; more about this
next month in part 2.)
The program consists of a driver which
waits for keyboard input and then checks
for special control characters. If a specific
control character is typed, one of a series of
subroutines or special operations is entered.
If the entered character is not a special control character, the typed information is
displayed on the screen. Table 1 lists the
program functions and their specific control
characters.
GRAPH is designed so that all screen
operations "wrap around" and therefore
stay within the 1 K byte screen boundaries.
For example, a leading cursor in the last
screen position will appear in the upper
lefthand corner (first screen position) when

The Dumb Terminal


lets you put it all together.
With the new, lower-priced Dumb Terminalm 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,
and one or two trusty screwdrivers. The Dumb Terminal
Kit provides you with everything 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.

like more. infor1X. And don't


i the Dumb ` brminal

parry-

City

State

Enclosed is $ for an official Dumb Terminal '' shirt(s).


Please make all checks and money orders payable to LeAnce & Reiser, OK?
"Dumb Terminal" is a trademark of I.,ear Siegler,
E.1_D/Data Products, 714 N. Brookhurst St., Anaheim,

92803, (800) 854-3805. In California (714) 774-1010


Circle 205 on inquiry card.

Quantity and size (s) of shirt(s) required. __S __._ M L -XL


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

the next character is entered. Similarly,


information moved off the top of the screen
with a MOVE UP command will appear at
the bottom of the screen. In this way, no
information is lost and adjacent memory is
not affected.
GRAPH may be entered either by a jump
or a call. If a jump is used, hexadecimal
memory locations 346 and 347 should be
loaded with the desired address for a jump
back to a system monitor program (eg: to
return to ALS-8, 346 is set equal to hexadecimal 60, and location 347 is set equal
to hexadecimal E0). If GRAPH is entered
by a CALL instruction, hexadecimal
memory location 345 should be loaded with
an unconditional return, C9. In this case 346
and 347 are not used.

Program Design
To aid in understanding the operation of
the program, it has been divided into three
main sections: the Driver section, the Control Checks section and a section of Special
Operations. Special operations are called
into use by certain designated control characters.
Although most of these operations are
distinct subroutines, several, such as Cursor
(on/off) and Vertical Write, consist of only
a few instructions in the Control Check section that modify the operation of the Driver
section by changing certain status words in
memory. Others, such as Home Cursor and
System Clear are merely jumps to subroutines already existing inside the Driver
section.

Descriptions of some of these routines are


brief in certain cases because the operation
of some subroutines is simple. Other tech-

Hexadecimal
Location

Purpose

Hexadecimal
Initialized Value

3FF
3FE

Save H and L for


Screen Moves

Don't care

3FD
3FC

Save Stack Pointer

Don't care

3FB

Cursor On/Off

On = 80

3FA
3F9

Save H and L for


Page Store and
Recall

3FA = CC, 3F9 = 00

3F8

Page Store Status

Page 1 = 00

3F7

Vertical Write/
Not Vertical Write

Not Vertical Write = 00

3F6

Cursor Write/
Don't Write

Don't Write = 00

3F5

Repeat/
Not Repeat

Not Repeat = 00

Table 2: A table of values used by the initialization subroutine to set the


memory status words or locations to their initial values.
70 May 1978 BYTE Publications Inc

niques, however, such as using DAD instructions to subtract (as in the Move routines),
will be examined in more detail.
To interface each subroutine with our
program, certain standards have been
adopted, as follows:
In each subroutine, screen character
positions are controlled by using the H
and L register pair. Information is
moved to the screen by using a MOV
instruction to register M, which moves
the data to the memory location
specified by the address in H and L.
Therefore, by changing the values of
H and L, the memory location into
which characters are to be input
is changed.
The only register "tied up" when
leaving the Driver to execute a subroutine is register C, used to store
the screen information previously
located at the leading cursor position.
The cursor which travels along to
indicate the next entry position on
the screen will be referred to as a
"leading cursor."
Since the cursor is a movable item, the
first step upon entering most subroutines is "MOV M, C," which moves
the information stored in C back to
the screen and makes the leading
cursor disappear. This then frees
register C for use in the subroutine.
Driver Section

The heart of any multifunction program is the Driver, which has a number of
functions:
Initialization : Upon entering the program at its starting location, the first
thing encountered is a jump to an
Initialize subroutine. This simply involves setting the memory status
words or locations to their initial
values. This is accomplished by loading D and E with the hexadecimal
value 03F5 and loading the accumulator with 00. Then a STAX operation
is executed, which stores the accumulator at the location specified by D
and E. The latter are incremented,
and the STAX operation is again
performed. This is repeated five times.
The accumulator is then loaded with
hexadecimal CC, the STAX operation
is performed (location 3FA), and D
and E are incremented. The accumulator is then loaded with hexadecimal
80 and the STAX operation performed (location 3FB). By this store
and increment method, hexadecimal

TheAJ 841 110.

A compltly
refurbished IBM Selectric
Terminal w ith builti n ASC II
FEATURES:
ASCII code.

interface. Just $995.

Reliable, heavy duty Selectric


mechanism.
Off-line use as typewriter.

14.9 characters per second printout.


Special introductory price - $995
(regularly $1,195). 75% discount from
original price of new unit.

AJ 841 WARRANTY AND SERVICE


IS AVAILABLE IN THE
FOLLOWING CITIES:

Parallel Interface
(requires parallel
port for 1/O
transmission)
Order direct from
factory
Documentation
included
30-day warranty
parts and labor.
High quality
Selectric
printing.

Los Angeles/ Cincinnati


Philadelphia / Detroit
Hackensack / Dallas
Columbus / Houston
Cleveland / Atlanta
San Jose / Chicago
Boston/ New York
Washington, D C.
For further
information call
(408) 263-8520

^141

ANDERSON
JACOBSON
Anderson Jacobson, Inc 521 Charcot Avenue
San Jose, California 95131

^ .............i...
CLIP AND MAIL WITH ORDER

HOW TO ORDER AN
AJ 841 I/O TERMINAL

I
I
I
I
I
I
I
I
I

1. Make cashier 's check or money order


payable to:
ANDERSON JACOBSON, INC.
Address your request to:
Personal Computer Terminal
ANDERSON JACOBSON, 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. A final check of your unit will be made
at the local AJ service office at time of
pickup.
4. For warranty or repair service, return
unit to designated service location.
5. Available in U.S. only.

SELECT EITHER :

EBCD keyboard

Correspondence keyboard

@ $995 each

Sales tax at delivery location

Shipping and handling $35


each (excluding San Jose)

Number of units

TOTAL
NAME
ADDRESS
STATE

CITY
PHONE

ZIP

Circle 10 on inquiry card.

BYTE M,,y 1978 71

locations 3F5 to 3F9 are initialized to


zero, location 3FA to hexadecimal CC
and location 3FB to hexadecimal 80.
The initial contents of locations 3FC,
3FD, 3FE and 3FF are unimportant.
Clear: The Clear subroutine writes
blanks (hexadecimal A0) into every
screen location and initializes the
status of the video display module.
The status of the module is initialized to display all 16 lines in a
nonscrolled format by writing 00 into
the VDM-1 's status port (hexadecimal
C8).
The screen is cleared by initializing
the H and L registers to hexadecimal
CCOO (upper lefthand corner), loading
that position with a blank, incrementing and loading a blank, and so on,
until the screen is filled.
Home: The operation then jumps to
the HOME section of the Driver where
H and L are again set to hexadecimal
CCOO and the program proceeds to
the CURSOR section.
Cursor: CURSOR, by checking hexadecimal memory location 3FB, either
prints a cursor and character, or just
the character in this initial position
(hexadecimal CCOO).
CURSOR is responsible for printing the
leading cursor everytime it appears on the
screen. Hence, any subroutine which modifies H and L to change the "next character
to be entered" location (such as Linefeed,
Backspace, etc) must immediately jump to
the CURSOR subroutine to decide whether
or not to print a leading cursor in the new
screen position.

During its operation, CURSOR first


moves the contents of the screen location
addressed by H and L to register C for
safekeeping. It then loads the accumulator
with the contents of memory location 3FB,
which is either hexadecimal 00 or hexadecimal 80.
By ADDing the character in C to the
accumulator, the accumulator is modified so
that when it is displayed either just the
character appears, or the character appears
in a cursor block. For example, if the contents of memory location 3FB is hexadecimal 00, then moving this value to the
accumulator and adding the character in C
to the accumulator will leave just the character in the accumulator.
But if 3BF contains hexadecimal 80, then
a white cursor will appear (on a black background), or a black or inverted cursor will
appear (on a white background).
At this point, the status word at hexadecimal location 3F5 is checked to see if
72 Ma, 1978 (.: BYTE Publi, a do,, Inc

the program is in the Repeat mode. If 3F5


contains hexadecimal 00, then operation
passes to the keyboard status check called
STATIN. Here the operation loops until
STATIN indicates that a key has been
pressed. At this point the program inputs
the data at DATIN and moves it to register B
for safekeeping.
If location 3F5 contains hexadecimal 80,
a jump is made to a timing delay loop. In
this delay loop, D and E are loaded with
hexadecimal 10FF and decremented until
they reach zero. This provides a programmable delay between characters in the
Repeat mode. Next, a keyboard status check
is made by logically ANDing the keyboard
word (IN 00) with hexadecimal 40. If the
result is zero (meaning no key has been
pressed since the character to be repeated
was entered), then program operation jumps
to DATIN, which inputs the unchanged
data in 10 port 01 to the accumulator. If the
input data is a character to be printed, it is
displayed on the screen and operation eventually returns through CURSOR to check
the Repeat mode status again. As long as
no other keyboard key is pressed, the program will continue to cycle through the
delay timing loop, repeatedly displaying the
entered character on the screen.
Those subroutines which jump back to
the Driver at or above CURSOR may also
use the Repeat function (see figure 3). If, for
example, CTRL/R and then CTRL/V
(Page Up) are entered, the display will continually roll upward until another character
is entered to cancel the repeat function.
When the character after CTRL/R is
entered, an IN 01 is executed to reset the
keyboard status, although the input data is
not used in any way. The Repeat status
word at location 3F5 is then reset to zero
and operation jumps to STATIN.
Since the repeat delay is controlled by
the value in D and E, varying this value
affects repeat speed. New values may be
entered at hexadecimal memory locations
282 and 283 to produce different speeds.
Using a value of hexadecimal 0000 will
result in the slowest speed (about 2 to 3 Hz).
Hexadecimal 10FF produces a convenient
speed of about 30 characters per second.
Following DATIN, the program next
enters the Cursor write/don't write section,
which loads the accumulator with the contents of hexadecimal address 3F6 (either
hexadecimal 00 or hexadecimal 80) and
logically ORs it with B. This new value
(either just the character, or the character
plus bit 8) is moved back into B as the valid
desired data.
This in effect adds a cursor bit (bit 8) to
the character input if Cursor write is desired,

FEM
^Zt
'^3ttRSd
5T

^alr tFi Ci^s_

SCtCtCtC'.

1 0W Sit

3> 'mot t xnt -r,.i_ S'oCtGCtCttaw>va.


+l.urt,t _ --__._. ........
A

4100

+IC

AG

,,...,.,..,
_ _

1'.: (^ N.141TtTt4t4 -i ^f ^ iTt41T14t'ti45 ^A + 14t6F }41\^= ^..=+411?44414^t

yli 4114 TY414' bl AIA ANt^Y4RHStiF fx}4K1'Llai


-i4kTlo lyht-N. tai
-1.
a
fit,
4
4
i

.Yd1etY13d11AAMF

+^1^40YMeWr4^Y6
p
r.MjWd^wT+.
..17-b AMA. .t>ri.)1tw^

-a

'

^MM

`N

i.

1q
........r.....tA....

`^}
\f^t^t
-t
rre

-----Sys ) .. ....

A-

nt

i
rs.

--

^r .

II III III ri DhliiiIiii

Trace El ectronics 32K/16K


Static RAM
What could you do with this board in your system?
Features
1. Capacity : 32768 Bytes for model 3200
16384 Bytes for model 1600
2. Addressing : Each 4k block separately
addressable on any 4k boundary. Allows
memory to be placed at the top, bottom,
and anywhere in between.
This feature overcomes the problem of
working with software that requires memory in different places.
3. Wait states: none
4. Speed : 450 ns. or 250 ns.
5. FULLY STATIC: no clocking, no refreshing.
6. Memory chips : High quality/reliability 41-xl, 18 pin static manufactured by
Texas Instruments and second sourced by
others.
7. Fully socketed : even the 16k board
contains sockets for all 32k or memory.
8. Fully assembled , tested, and burned
in.
Circle 380 on inquiry card .

9. Lower power than equivalent capacity of low power 2102 type memory. And
only one slot!

10. DMA Compatible


11. Fully Buffered : All address and data
lines buffered with powerful state of the art
buffers equipped with Schmitt triggers on
their inputs.
12. Special Thermal Design : Each 4k
of memory has a separate regulator thereby distributing the heat dissipation over 8
sepatate regulators. They are placed at the
top of board to allow the most efficient heat
dissipation possible.

Contact your dealer and see this


board
Our 32K, 16K Static RAM is available right
now at many dealers throughout this country. Write Trace Electronics Inc. for a complementary copy of a users manual and the
name of the closest dealer carrying our
Static RAM.

Trace Electronics Incorporated, P.O. Box


3247, Hampden Station, Reading, Pennsylvania 19604 (215) 779-3677

13. MegextendTM : up to one megabyte


can be addressed providing there is a 4 bit
output port in the system. This allows up to
32 model 3200 boards per system, as long
as the power requirements are met.

(This feature also makes possible the use of


this board in a timeshare environment)
14. Power Required is 1.7A at 8V for
model 1600 and 3.3A at 8V for model 3200

BYT[

neat

1978

73

or leaves the character as is if no cursor is


desired. Hexadecimal memory location 3F6
is loaded by the Cursor write/don't write
subroutine (Control/Z) as hexadecimal 00 or
hexadecimal 80 alternately. Thus, if the
letter X is typed while location 3F6 contains
hexadecimal 80, then X is printed on the
screen enclosed in a cursor.
This section is analogous to a toggle
switch controlling the state of bit 8, which
might be an alternate hardware approach.
Next, the Driver jumps to the control
check section to determine which subroutine
(if any) has been selected. If a subroutine
has been selected, the data in B is no longer
important (since we don't want to print control characters on the screen), and B is free
to be used in any subroutine.

Control Character Check


Although the Control Character Check
section is part of the driver, it is physically
separated from the driver in the assembly
listing to facilitate expansion. The Control
Character Check detects the presence of the
various assigned control characters and routes
the program operation to the respective subroutines or operations. Since the majority
of the Control Character Checks consist
simply of compare immediate and jump if
not zero statements, only two internal
routines, Page Recall and Control W, will be
examined in detail.

Page Recall Control Check


Once the Control Character Check recognizes the code for Page Recall, it does a keyboard status check, waiting for the next
character to be pressed. The character is
then entered, and the cursor bit (bit 8)
is peeled off or set to zero by logically ANDing with hexadecimal 7F. If the character
entered is a number from 1 to 6, the compare statements in this nested subroutine
transfer operation to the respective Page
Recall location. If the character entered
is not a number from 1 to 6, operation
jumps back to STATIN in the Driver
program.

Control W Check
Once a control W has been detected by
the Control Character Check subroutine,
the program waits for the operator to input
another character. If the latter is a character
from 1 to 6 or "clear," an operation is performed. If not, the program jumps back to
STATIN in the Driver.
If 1 is pressed, hexadecimal memory
location 3F8 (the page store select location)
is loaded with the correct value (hexadecimal 00) so that the next Page Store will
74 May 1978 i HYTE Publications Inc

be stored in page 1. The same holds true


for numbers 2 thru 6. Operation then jumps
back to STATIN. However, if Clear is
pressed, operation jumps to the Initialize
and Clear sections of the Driver where all
the memory status words are reset to their
initial values and the screen is cleared. This
operation is referred to as System Clear in
the Control System Chart (see figure 3).
At the end of any subroutine, the operation
jumps back to the Driver program.
If no subroutine has been selected, the
contents of B (the previously input data)
are moved to the screen. The program first
checks hexadecimal location 3F7 to see if
it - is in the Vertical Write mode, and then
deciaes whether to increment to the next
screen location (required in a normal character entering mode) or to go into the
Vertical Write mode. In this last case no
increment is produced, but a Linefeed is
executed (the Vertical Write mode enables
the user to enter the next character immediately below the previous one). This allows
a vertical line of characters to be drawn
downward. If the value of hexadecimal
memory location 3F7 is zero, the program
increments H and L normally. If it is anything other than zero, the Vertical Write
mode is entered. The data in location 3F7
is controlled by the Vertical Write subroutine (CTRL/Q) which alternately loads
it with hexadecimal 00 or hexadecimal 80.
Finally, the driver checks to see if it has
reached the end of the screen (in Vertical
Write mode, Linefeed takes care of this), and
if so a jump is made to a location in the
initializing section (HOME), thereby setting
H and L back to their upper lefthand value.
If the end of screen has not been reached,
operation simply jumps back to the
CURSOR section, which operates as explained above. The program is now ready for
a new character.

Special Operations
There are 21 special operations which
GRAPH performs. They will be examined in
the following order:
1. Linefeed
2. Line Retract
3. Backspace
4. Forward Space
5. Carriage Return & Linefeed (CRLF)
6. Delete

7. Page Up
8. Page Down
9. Page Left
10. Page Right
11. Page Store
12. Page Recall
13. Repeat

../

INFO 2000 DISK SYSTEMS


Let You Make the Choice
INTELLIGENT CONTROLLER
or DUMB C ONT ROLLER
INFO 2000 has just added a new, lower cost S-100 "dumb" controller disk system to its already popular line of "intelligent controller disk systems for S-100, Digital Group, and Heathkit 118 microcomputers.
All INFO 2000 disk systems feature the incomparable PerSci 277 dual diskette drives with voice-coil positioning and
seek time up to eight times faster than competitive stepping-motor-type drives. All INFO 2000 disk systems are fully
assembled, rigorously tested, and include case, power supply, cables, and software. All INFO 2000 disk systems include
the CP/M Disk Operating System and support the complete INFO 2000 library of software for 8080, 8085, and Z80based systems. All INFO 2000 disk systems include complete I/O driver software CUSTOMIZED for your specific
equipment configuration at no additional cost, assuring you of a hassle-free plug-in-and-go installation.
And now, S-100 users can choose the kind of controller that makes the most sense for their specific application:
intelligent or dumb.

DUMB CONTROLLER
DISK SYSTEM

INTELLIGENT CONTROLLER
DISK SYSTEM
This system uses the remarkable PerSci 1070 " intelligent"
controller , which incorporates its own dedicated 8080 microprocessor , 4K of EPROM containing extensive file management firmware , 1K of RAM buffer memory, and eight-hit
parallel interface.
The "intelligent" controller is actually a single-hoard
:omputer dedicated to the task of managing the disk
system. It requires a minimum of interface logic and
very little support software in the host computer.
This makes it exceptionally easy to interface to almost

This new system uses the new S-100 controller board


developed by INFO 2000 Corporation especially for our
own Business System. The new "dumb" controller is substantially less expensive, and is designed specifically to
maximize the performance of the PerSci 277 dual diskette
drive when used in a CP/M software environment.

The controller is fully IBM 3740 compatible,


and provides advanced functions not often
found in low-cost units: full soft-sectored
diskette formatting, multi-sector reads and
writes, verified seeks, and complete diagnostic capabilities.

any kind of computer system or software system.


INFO 2000 provides interfacing hardware

(Adapter Boards ) for all S - 100, Digital Group


and Ileathkit H8 microcomputers . The Adapter
Boards provide all necessary interfacing logic, power
regulation, and support an EPROM-resident CP/M
bootstrap loader. The Heathkit H8 Adapter Board
replaces the Heath 8080 CPU board and upgrades the H8 to a
Z80.
If you change to a different kind of computer in the
future, you can still use your disk drive and controller. You
need only purchase the appropriate replacement INFO 2000
Adapter Board.
Prices for the complete INFO 2000 Disk System with
"intelligent" controller:

This new controller is FAST! A full verified


disk copy takes less than a minute. Formatting
a new diskette takes less than half a minute.
A CP/M rc-boot is almost instantaneous (one-third

of a second). There are no performance compromises.


The INFO 2000 controller is available with an "I/O
Option". This adds two RS232 serial ports with softwareselectable baud rates, 3 8-bit parallel ports (2 output, 1 input), and sockets for an additional 7K of 2708-type
EPROM (1K is standard). All of this is contained on the
same S-100 board which holds the controller, and the cost
.of the ''I/O option" is $150-- far less than the cost of a

comparable serial/parallel interface board and an EPROM


board. $

$2,850 for S-100 or Digital Group


2,450 for INFO 2000
$2,950 for Heathkit H8 S-100 DISK SYSTEM
SUPPORT SOFTWARE

INFO 2000 Disk Systems are supported by the most extensive library of software available anywhere. All INFO 2000
Disk System prices include the Digital Research CP/M Disk Operating System and an EPROM containing I/O driver
software customized for your specific hardware configuration. INFO 2000 also offers a choice of three BASICs, two
FORTRANs, three assemblers, two text editors, a word processing package, a fast sort
package, and much more software. Write or phone to receive our brochure with full
details.
2...

INFO
CORPORATION

You may also be interested in the INFO 2000 Business System-a complete data pro- 20630 South Leopwood Avenue
Carson, California 90746
cessing system for small businesses, with full accounting and word processing software,
and priced under ten thousand dollars. (213) 532-1702

Circle

176

on

inquiry

card.

ii

Ti.

\Li,

1978

75

14. Vertical Write


15. Cursor On/Off
16. Cursor Write/Don't Write
17. Next Store

18. System Clear


19. Clear Screen and Initialize Cursor
20. Home Cursor
21. Escape From GRAPH
Line Feed
This subroutine can be entered by pressing Control/V while the cursor write mode
is either on or off. This simply means that
Linefeed will be accessed with either hexadecimal 56 or hexadecimal D6 (the latter
being a hexadecimal 56 with the cursor bit
set equal to 1).
Note that this double control check is
necessary only in the first four subroutines
(Linefeed, Line Retract, Forward Space,
Backspace), since these are the only routines
used to draw cursors on the screen in addition to performing their own specific functions.
Before checking for the next control
character after Backspace, therefore, the
cursor bit is masked off by ANDing it with
hexadecimal 7F, so that only single control
checks are necessary for all further
operations.
If Linefeed is accessed with the cursor
bit set (LFC), register C is loaded with
hexadecimal A0, a blank cursor. This value
is moved to M (putting a blank cursor on the
screen). Thus, in this mode, every Linefeed
writes a blank cursor below the previous one.
This can be used to draw a line downward
on the screen.
If Linefeed is accessed in the Cursor
"don't write" mode (LF), then the original
information in C is transferred to M, leaving
the screen in its pre-"leading cursor" state
and freeing C for subsequent use if needed.
To accomplish its job, Linefeed loads
registers D and E with hexadecimal 40
(decimal 64) and then adds this to H and L.
This means that the next position to be
entered on the screen will be 64 characters
after the last one, exactly one line down
(since lines are 64 characters long).
The subroutine then checks to see if
this new value from H and L is valid; that
is, if it is still on the screen. If it is a valid
screen location, operation jumps back to
CURSOR in the Driver. If not, it will be
necessary to "wrap around" and move to
the top of the same vertical row. In this
case register H is loaded with hexadecimal
CC. Since the position across a line is controlled by the value in register L, keeping
the same value in L and setting H to hexadecimal CC produces a linefeed from the
76 "t , 1978 BYTE P.bli-tio,, Inc

bottom of the screen to the top.


For example, with the cursor at the
lowest lefthand screen position (refer to
figure 2), H and L are hexadecimal CFCO
(H = hexadecimal CF, L = hexadecimal
CO).
If a Linefeed is pressed at this point, H
and L will be modified to hexadecimal
D000, and the program will detect that
this value is off the screen. Then, instead of
jumping back to CURSOR, the program
loads H with hexadecimal CC and leaves
L at hexadecimal 00. Thus the next screen
position is hexadecimal 0000, which is the
highest lefthand screen position. In this
manner, a linefeed from any position on
the bottom line moves the cursor to the
corresponding position on the top line.
The operation then jumps back to CURSOR
in the Driver.
Line Retract
Whenever Line Retract is executed, the
leading cursor position is moved up one
line. Like Linefeed, it can be entered by a
Control/T in either the Cursor "write"
(LRC) or "don't write" (LR) mode. By
using Line Retract while in the cursor
"write" mode you can draw lines of cursors
upward on the screen. Line Retract operates
the same as Linefeed except that it adds
FFCO to H and L in order to move up one
line, instead of adding hexadecimal 40, as
in the case of Linefeed.
Since the 64 K byte memory wraps
around from its last position (hexadecimal
FFFF) to its first position (hexadecimal
0000), adding hexadecimal FFFF to any
value of H and L will bring you around
through memory and up to the memory
location immediately preceding that value.
Thus, adding hexadecimal FFCO to a value
of H and L will bring you to hexadecimal 40
(decimal 64) before that value. This has the
effect of subtracting hexadecimal 40 from
the current cursor position, hence backing
up one line. The Line Retract subroutine
also checks the new value of H and L to see
if it is valid (on screen). If not, it loads
register H with hexadecimal CF so that
the new cursor position will wrap around
from the top to the bottom of the screen,
similar to Linefeed. Line Retract always
finishes with a jump to CURSOR in the
Driver.
Backspace
Backspace, like the preceding two subroutines, can be executed by a CTRL/F
while the Cursor write mode is either on or
off. Backspace writes cursors on the screen
when the Cursor write mode is on by the

*AW

same method as Linefeed (ie: loading


register C with AOH before moving C to M).
The values of H and L are then incremented
and a check is made to see if the new value
is valid. If so, program operation jumps to
the CURSOR section of the Driver. If
not, the cursor has obviously been bumped
off the upper lefthand corner of the screen.
The backspace subroutine loads H and L
with hexadecimal CFFF (the address for
the lower righthand corner position), and
then jumps to CURSOR. Thus, backspace
wraps around from upper left to lower right.

Forward Space
Forward Space does the same as Backspace, but in the opposite direction. Cursors
can be written using Forward Space if the
Cursor write mode is on, as in the preceding
three subroutines. In forward space, the
cursor wraps around from the lower righthand corner to the upper lefthand corner.
Forward space ends with a jump back to
CURSOR.
The preceding four subroutines are all
used either to move the leading cursor to
the desired location of the next character,
or to draw cursor lines up, down, back or
forward. It should be noted that if the
Cursor write mode is off, these subroutines
move a transparent cursor over the screen.
Whenever the cursor is moved in this mode,
the contents of C (original value of that
position) first replace the leading cursor,
and the cursor is moved to the next location. In every case, the content of the
new leading cursor location is stored in C

before the cursor is displayed. Hence, all


four of the preceding routines move "trans-

parent" leading cursors around on the screen


and do not destroy any screen information.
In the Cursor write mode, any of the four
routines will write cursors on the screen.

and compares it with all line starting addresses to determine which line it is on.
Having determined this, it sets H and L to
the starting address of the next line and then
jumps back to the CURSOR section of the
Driver.

This completes the


first part of the presentation of the GRAPH
package. Several of the
functions listed in
table 1 and found in
figure 3 will be described in detail in
part 2's continuation
of the documentation.
Also found in part 2
is the listing of the
GRAPH package, listing 1.

As in most subroutines, CRLF moves the


contents of C to the correct screen position,
restores the screen to its pre-"leading cursor"
condition, and then loads the accumulator
(A) with the contents of register L. Following this, it compares A with hexadecimal
40 by means of a CPI instruction, which
subtracts hexadecimal 40 from A and sets
the flags, but doesn't alter the contents of A.

If L is greater than or equal to hexadecimal 40, the program jumps to a location


where another check is performed to compare L with hexadecimal 80.
If L is greater than or equal to hexadecimal 80, it is similarly compared to
hexadecimal CO.

If L is less than hexadecimal 40 in the


first check, however, the program loads L
with hexadecimal 40 and jumps to OUT.
Here, this new value of H and L is checked
to determine if it is a valid screen address. If
so, operation jumps back to CURSOR. If it
is not a valid screen address, the program
jumps to HOME, initializing H and L to
hexadecimal CCOO. Similarly if L is found to
be less than hexadecimal 80 or hexadecimal
CO, it is loaded with hexadecimal 80 or
hexadecimal CO respectively, and operation
jumps to OUT as outlined above.
If L is found to be greater than or equal
to hexadecimal CO, H is incremented, L is
loaded with hexadecimal 00 , and operation
passes to OUT. To summarize :
If hexadecimal 0 < L < 40,
If hexadecimal 40 < L < 80
If hexadecimal 80 < L < CO
If hexadecimal CO < L

L gets loaded with hexadecimal 40


L gets loaded with hexadecimal 80
L gets loaded with hexadecimal CO
H gets incremented and L gets loaded
with hexadecimal 00

Carriage Return and Linefeed


Examples:
Basic to understanding the operation of
Initial Values
CRLF is the knowledge of the contents of
H
L
the H and L register pair for various key
Cc 20
screen positions (see figure 1) .
CC 42
Since there are hexadecimal 40 (decimal CC 90

64) characters per line on the screen, four CC D1

lines of characters can be addressed solely


by the L register (an 8 bit register can store
up to 100 exa
h d
256 d
mal or
ec i
ec imal combinations). Thus, the H register changes only
once every four lines. The starting addresses
of all 16 lines may be seen in figure 1.
The CRLF subroutine includes a Linefeed
so that, when executed, the leading cursor
moves to the start of the next line.
To perform this, the subroutine checks
the current address contained in H and L

CF

D1

Hexadecimal Values
After Carriage Return

^ Cc

40

_11N.- cc 80
qN.

cc

co

CD 00
CC 00

Delete
When the Delete subroutine is entered, it
moves a blank to the present cursor position
and jumps to a section of the Backspace
subroutine. This has the effect of deleting
the character located at the present leading
cursor position and moving the cursor back
one space for a subsequent delete, if
desired.
May 1978 n )BY fE Publications Inc 77

:9j.

kA

111

lj^ "ti-Iia

(^i

N4,

9600 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 9600 BAUD into a UART - 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 speeds are 1.6" / 3.0" and 6.0" per second. 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 . Manual control except for motor start/stop. 6800,
8080 or Z80 software for file or record searching available on request with order. Used by
maior computer manufacturers. Bell Telephone and U.S. Government for procram reloadi.nc
and field servicing.

MODEL
`"
U !
$185.00 (4800 Baud ) -w
$195.00 (9600 Baud and 220V/50 Hz)

AVAILABILITY - Off the shelf.

PROVIDES MONITOR AND TAPE SOFTWARE in ROM. TERMINAL and TAPE PORTS
on SAME BOARD. CONTROLS ONE or TWO TAPE UNITS (CC-8 or 3M3B).
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, interfaces
and software.
This is Revision 8 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 5100 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
TTL or RS232 level.
AVAILABILITY - Off the shelf.

2SIO (R) CONTROLLER


$190.00 ($160.00, Kit)

PROVIDES MONITOR AND TAPE SOFTWARE in EPROM. EXPANDS MIKBUG with 1K


of ADDITIONAL ROM PROGRAM
This is a complete tape controller for the SWTP 6800 system. Has 3K 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 UART for an additional Serial port and a
4 bit parallel port for motor control. Will control one or two CC-8 or 3M3B 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. SWTbug compatible ROM is also available.

6800 CONTROLLER for SWTP


$190.00, Tested & Assmb. ($160.00, Kit)

AVAILABILITY - Off the shelf.

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 MPS card. 1 K ROM on board replaces MIKBUG.
AVAILABILITY - Off the shelf.

$190.00, Tested & Assmb. ($160.00, Kit)


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.

National Multiplex CCrpcraticn


... 3474 Rand Avenue, South Plainfield NJ 07080 Box 288 Phone (201) 561-3600 TWX 710-997-9530
78 BY] L May 1979

Circle

275 on inquiry card.

A Programmable Character Generator


Part 1 : Hardware
Larry Weinstein
Objective Design Inc
POB 20325
Tallahassee FL 32304

The truly critical interface in any computer system is the one that joins man and
machine. One example of this is the interface between the video display and the
human eye, an area where the computer
outputs information at a very high rate. One
way to improve this interface is to provide
for maximum flexibility in the choice of
characters displayed. This article presents
circuitry for adding software controlled
character graphic definitions to existing
video display devices.
For many applications, the ability to
create the characters that appear on the terminal screen is a tremendous convenience,
if not an absolute necessity. The use of computers for advanced mathematical applications often requires special symbols such as
Greek letters, subscripts, superscripts and
variable sized fonts. APL is a good example
of an advanced programming language that
uses many special symbols. Computing programs that transform the general purpose
computer into the equivalent of a hand held
calculator suffer from the lack of a specialized keyset and the corresponding display
format. Financial and scientific applications
call for their own special symbols. In fact,
there are very few computer applications
that wouldn't benefit from easy access to a
specialized character set.
Theory

stored a row at a time in a character generator, a read only memory device dedicated
to this application. Before scanning past
any row of a character, the character generator is accessed using the row number and
character type as an address. The character
type is usually the familiar ASCII code. Data
produced by the character generator is shifted
out serially to create the visible dots and
spaces of one row of a character.
There is nothing unique about the character generator: it is merely a memory. In fact,
it is becoming common for manufacturers to
use large programmable read only memories
in place of character generators in order to
provide a programming service to customers.
The size requirements of the character generator are easy to calculate. For most display
purposes there is a maximum of 16 8 bit
rows that could be useful for each character.
There are 128 characters in the full ASCII
set. The result is a memory which has eleven
address bits (four for rows and seven for
characters) and is eight bits wide. 2 K bytes
of memory will hold all of the information
in any character generator. In theory, then,
it is possible to substitute 2 K bytes of vola-

VIDEO
DISPLAY
DEVICE

CHARACTER
GENERATOR
READ ONLY
MEMORY

PROGRAMMABLE
CHARACTER
GENERATOR

The typical video display device works

with a raster scan video display and produces


screen characters a full line at a time. Each
character is constructed on a matrix of screen
dots, usually in a 7 column by 9 row configuration. The pattern for each character is

ALTAIR ( S-100) BUS

Figure 1: Block diagram of


the author's graphics system, which allows the
video display user to
switch from conventional
graphics symbols (generated by the character
generator read only memory) to those generated by
a programmable character
generator. Special symbols
such as APL characters
and custom graphics symbols can be stored in this
circuit and retrieved or
changed at any time.
May 1978' .) BYTL Publications Inc 79

DATA OUT

CHARACTER
DATA

IO
CIRCUITS

ASCII CODE +
ROW NUMBER

MEMORY
ADDRESS

2K BY 8
PROGRAMMABLE
CHARACTER
GENERATOR

CONNECTOR
TO VIDEO
DISPLAY
DEVICE

SWITCH

11

V
]J
CHARACTER
GENERATOR
READ ONLY
MEMORY

INTERFACE
CIRCUITRY

PROCESSOR
ADDRESS
LINES

DATA
IN

ALTA IR
IS 100)
BUS CONTROL.

ME
ALTAIR (5-100) BUS

Figure 2: Detailed block diagram of the programmable character generator


circuit. The circuit consists of 2 K bytes of programmable memory containing
custom characters. This memory is addressed by the character and row lines
that normally go to the existing character generator on the video display
board. These lines are multiplexed with the normal processor address bus
lines. Hardware and software switches determine whether data from the existing character generator or data from the programmable character generator
will be used to feed the video display.

tile programmable memory for the character


generator. This substitution of ordinary programmable memory for the character generator read only memory is the key to character
graphic flexibility.
Practice
The requirements of the replacement programmable memory are that it be accessible
by the main processor via its bus, and by the
dot generating circuitry of the video display
device (see figure 1). Retention of access to
the character generator from the video display device is also desirable so that the terminal will be useable at system startup or
after a software glitch wipes out a set of
character definitions.
It is not difficult to gain access to address
and data lines in the system: one need only
construct an Altair (S-100) card interfaced
to the bus. The only tricky part is obtaining
80 %+,, 11)7>< R5 11 1,,.

access to the same lines on the video display


device. This is done by substituting a 24 pin
connector from the memory board for the
character generator on the video display
device board. The character generator is then
installed in a socket on the new memory
board. Through hardware and software
switches, the user is able to choose between
the character generator's character set and
a flexible set residing in programmable
memory.
Circuit Explanation
The circuit consists of 2 K bytes of programmable memory addressed by the character and row lines that normally go to the
character generator (see figure 2). These lines
are multiplexed with the normal processor
address bus lines. The data out memory lines
are available to the processor bus and are
multiplexed with the character generator
data lines. This data set is sent via the 24 pin
connector to the video board.
During normal operation, both the memory and the character generator are addressed
by row and character selection lines. Hardware and software switches determine which
data set is sent to the video board for display.
If the processor should require access to the
memory for read or write, the processor
address lines are switched in to the memory.

SCREENSPLITTER

40
HC

LINES

CHARACTERS/ LINE
A COMPLETE TV TEXT DISPLAY SYSTEM
from ONBOARD WINDOW SOFTWARE
FOR CONTROLLING UP TO 3440
MJcro DiversiorLs, I%.
LOGICALLY INDEPENDENT WINDOWS
-----------------GENERAL -----------------!
SCREENSPLITTER is a self-contained hardware/software TV
text display system for your microcomputer. It comes on a
, single, high-quality S-100 buss compatible board, complete
1 with its unique Window Package software module. With the 1
:window Package, you can logically segment SCREENSPLITTER's 1
huge 40 x 86 display of upper-lower case characters into ups
to 3440 independent "windows" of various sizes. (You get
the idea from our adl) Each window has its own optional
frame, cursor, figure-ground, and optional label, and each I
1 window scrolls and automatically formats its text independently of all the others. QUICKI There's some interesting:
information flashing by in WINDOW 1. Go read itl
------------------------------------------^

--------------- WINDOW I ---------------


Whoops! Our output routine seems to be
1 - E J +a_C: 51.J1
1 having problems. Oh well, at least you

--THE CARE AND FEEDING OF WINDOWS--u


1 OK. You have just powered on. Initialize the Window Package and turn on your first window:
The Wind
ow Packs
ge's aut 1
o-format 1
ter does 1
n't care
how ski
nny your
windows
are (it
11 hack
Your Ce

get to see some of SCREENSPLITTER'S


xt down
scientific symbols. (You can order a to one c
graphics character set optionally.) 1 1 olumn if
you can
stand i
a A a And any character may be user-defined
as a winking character. How? you ask.
t!)
Simple: SCREENS PLITTER uses a 2708
time
reprogrammable memory as its character
generator. Turn on the character's
"wink" bit in the 2708, and presto)

INIT()
OPEN (1, 10,15, 20,30)
Now, just to flex your bits, give
the user a wale-up flash ( a brief
figure-ground reversal inside the
window)
FI.ASH(1)

window 1

Now that you have his attention , go ahead and frame the
window ( you don ' t have to , of course):
FRAME(1)
and, while you're at it , label it, and set the scroll line
count:
LABEL(l,"General I/O")
(i.e., when the window
SCROLL(1,5)
fills up, non it uo 5
blank lines)
Just to keep him interested , switch the cursor character
from the default caret to the winking caret:
CURSORCHAR(l,A )
Now that he' s all excited , eyes bulging from the initial
flash, transfixed by the hypnotic winking cursor, hit him
with some text through window 1:

1 Frills, you say? No, thrills! Just take a look in the


window up there a to see how SCREENSPLITTER puts these
raw materials to work in the onboard 1K Window Packaged
1

PRINT(l,"I hate to tell you this, William, but


last night the kids wired that chair
you're sitting in with 110 volts AC.")

1 (that back there --- is the cursor character)

0------------------------------------------

PARTIAL
--FUNCTION--
SUMMARY
INIT()

---- POINTS OF INTEREST ----

Entire hardware/ software system on a


single, high-quality S-100 buss compatible board.

and print out a second message through this new window:

Drives a 10mhz or better TV monitor


via standard 75 onm coaxial cable
(supplied).

Now, of course, you echo his input through window 2,


relying on the default scrolling of 1-line "pop- up" when
the window fills up.

OPEN (W,X, DX,Y, DY)


CLEAR(W)
FRAME(W,C1,C2,C3)
UNFRAME (W)
REFRAME (lJ,C1,C2,C3)
LABEL (`U, STR, LEN)
LABELS(W, STR)
FLASH(W)
COMPLEMENT(W)
SCROLL(W, N)
8 CURSORCHAR(W,C)
PRINT(W,STR,LEN)
1 PRINTS(W.STR)
BACKS PACE(W)
CLEARLINE(W)

4K static RAM -2114's- display buffer


is memory-mapped into your CPU's
address space for fast, convenient
access if you ever need to bypass the
Window Package software.
User- selectable wait state for operation with 4mhz CPU's.
1K onboard 2708 is jumper changeable
to a 2K 2716 for user extensions to
the Window Package.
Board presents one TTL load to host,
yet drives up to 20 TTL loads via
74367 buffers.

FRESHLINE(W)
Provisions for jumpering TV data, sync,
blanking off board for external mixing 1
MOVEWINDOW(W,X,Y,C)l (via 16 pin socket).

-----------------------------y
-------------PLOT ( W, X, Y, C)

-------------- WHAT YOU GET -------------


1

Complete SCREENSPLITTER Kit, with all IC's, low profile


sockets, preprogrammed Window Package EPROM, assembly
instructions

------------------------------------------

1. Tell us for which 8K boundary you would like your Window Package assembled.

-------------------------------------------

1. You have a BASIC program . Open a number of windows,


giving each important subroutine in the program its
own window. When your program runs , you get a two- 1
dimensional feel of the flow of the execution - flux- 1
ries of activity here , brief flashes there . You can
have the feeling of being able to converse with each
subroutine individually'
2. You have a page - oriented text editor. Pick up a paragraph here , a paragraph there , isolating each in its
own window while you rummage through the main text in
its own large window . Using the MOVEWI NDOW function,
you can move blocks of text around to produce a final
layout.
3. You have an assembly language debugger. Allocate one
window to the real - time clock , another to the run-time
clock , and several more to display various registers
in your 8080 or Z80. Then , you can keep the debugging 1
1 information separate from your program ' s I/O, with the
debugging information continually present.

Micro Diversions, Inc.

--------- ORDERING INFORMATION --------- w

4. We will send you the SCREENSPLITTER, postpaid in the


continental U.S., from stock to 40 days.

----------- SOME APPLICATIONS -----------.

I PS: Watch for our full graphics board , also with its own
1 onboard software ...
Coming stool
-----------------------------------------

90 day warranty on parts and labor

1 3. Send us a personal check , Master Charge or BAC/VISA


1 number and expiration date . Kit price is $329. Assem- 1
bled , $429. (Virginia residents please add sales tax.)

And on, and on...


------------------------------------------

---------------------------------------------

Complete source-code listing, and User's Manual for the


Window Package

2. Tell us whether you want the scientific symbols, or


the graphics characters in ASCII codes 0-31 of your
character generator , or the optional APL character
generator.

PRINT ( 2,"Please type your last will and testament.")

4. You have some fancy games . Give each player his own
window and define some " community windows." Let your
imagination take over'

1 Comprehensive Theory of Operation Manual

Circle 225 on inquiry card.

Now (this'll really kill him), open a second window to


the right:
OPEN(2, 10, 50,5, 20)
FRAME (2)
LABEL(2,"Will's Will")

1 the
1 PLOT(W.
XY .+")
thickens

7900 Westpark Drive , Suite 308


Mc Lean , Virginia 22101
(103) 827 - 0888
o-TIME-01
DEALER INQUIRIES INVITED;
EVALUATION KITS AVAILABLE

1 06:01:48

------

BYTE May 1978 81

DECD
WR
I0
IC21
7402
SINP

IC10

1_

7404

8
a d

SOOT
10
IC7
7408
6
SYNC 76

A15

15

14

13

12
10

414
IC42
8131

IC9
7486

2
FOUR POSSIBLE JUMPERS
FOR EACH TERMINAL

1C41

7400

I = NO JUMPER
0 = GROUND JUMPER
I,= JUMPER TO PIN 9, IC10
I0= JUMPER TO PIN 8,ICIO

ICIO
7404

IC41
7400
e

EMEM

14

IC45

74125
5

PRDY 72

Figure 3: Programmable character generator bus interface circuitry. An 8131 (1C42) seeks for a match to the high five address
lines to indicate a programmable character generator memory or peripheral action. The single 8131 can match different
addresses by offering the compare circuit a choice of t, 10, lO or ground. Where the address line match for memory and peripherals is the same (either 1 or 0), a + or ground connection is used. Where they are different, the /0 line is chosen if /0 is 1 and
memory is 0; the lO line is used if memory is 1 and lO is 0. The 8731 latch is opened during SYNC. By the time SYNC ends and
the latch is closed, the match condition is determined. DECD is low on a match. If both INP and OUT are low (indicating that
this is not an IO operation), the MEM signal will go high. This will cause the READY line to be pulled high, forcing a wait cycle
from the processor. With the PWA IT signal, READY is brought down. All memory operations (and only memory) will have a
single wait state. The MEM line is combined with DBIN and WR to produce "memory read" and "memory write" actions. There
are four data select modes available on the programmable character generator: fixed, programmable, command, and automatic.
In the fixed mode, the data select lines for the multiplexers are set high for normal characters and low for programmed characters. In programmed mode, the high order bit from the video display device, usually used internally for reverse video, is brought
out via pin 14 on the connector to control the data select process. In command mode, the output of a flip flop determines the
selection process. The flip flop can be switched by output commands. OSL-7 brings programmed characters; OSL-2 switches to
normal characters. In automatic mode, the multiplexers switch to the character generator for all of the upper case set (hexadecimal 20 thru SF), and to the programmable memory for the control characters (hexadecimal 00 thru 7F), and the lower case
characters (hexadecimal 60 thru 7F).
82 May 1978

BYTE Publications Inc

If one is attempting to read a programmed


character byte during a processor memory
access, the system causes the data switch to
blank the output to the 24 pin connector.
The circuit has several modes of operation. It can be hardwired via an on board
switch to use only the character generator
(normal mode) or only the memory (graphics
mode). It can be set up to flip back and forth
from graphics to normal mode by software
commands. In another mode, the state of
bit 7 of the character select lines will determine the mode. The final operation mode
selects the 64 upper case ASCII characters
(letters, numbers, and symbols: hexadecimal
20 through 5F) to come from the read only
memory and all others (control and lower
case: hexadecimal 00 to 1 F and 60 to 7F) to
be taken from the programmable memory.
An 8212 on the board provides 8 bit parallel
input port for interfacing a keyboard. In
addition, four monostable circuits (555s)
provide a simple interface for two joysticks
in two dimensions . Following an output
command, all the monostables fire. The
length of each pulse is determined by the
associated external potentiometer. A software loop is required to monitor these and
produce a value for the joystick position.
The remainder of the circuitry is concerned
with address decoding for the processor
bus. All components are standard and may
be obtained from many distributors and
wholesalers.

The programmable character generator as

Photo 1: A Star Wars scenario created with the aid of the author's programmable character generator and a Processor Technology VDM-1 video display
board.

presented is intended to work with video


display devices using the Motorola family
(MCM 6574-6) of 7 by 9 matrix character
generators. With a few minor changes in the
connector, the circuit can be applied to display devices with other types of character
generators: such as the 2513, which works
with a 5 by 7 matrix. The cable may be
extended as needed to connect with normal
terminals. However, the best results are
achieved with memory mapped video display
devices such as the Processor Technology
VDM-1, the Solid State Music Video Board,
and the PolyMorphic Systems Video Terminal Interface. Obviously, the circuit
presented can be adapted to processor interfaces other than the Altair (S-100) bus. (My
personally designed and produced circuit
board, available from Objective Design Inc,
is Altair (S-100) compatible and designed for
the Motorola series character generator.) All
the aforementioned combinations of video
display device and programmable character
generator will produce programmable characters on the screen . In addition , certain

Photo 2: A piping diagram, an example of what can be done with the programmable character generator.

Compatibility

May 1978

BYTE Publications Inc 83

Table 1: Power wiring table for figures 3 thru 7.


Number

Type

+5 V

GND

IC1

74157

16

IC2

74157

16

IC3

74157

16

IC4

74157

16

IC5

74157

16

IC6

MCM6574-6

13

IC7

7408

14

IC8

7474

14

IC9

7486

14

+8 V

-12 V

applications will produce high resolution


graphics for special purposes (ie: bar graphs).
However, for true graphics capability (such
as space ships guiding smoothly across the
screen) there are some special requirements
on the video display devices to be utilized.

Graphics
True graphics ability can only be added
1

to the memory mapped video display devices


which have, or can be altered to have, a
matrix field no greater than 8 wide by 16
high with no forced conditions (ie: no rows
or columns hardwired high or low). Unless
these conditions are met, the screen will contain blank spaces which will detract from the
overall appearance of any images.

IC10

7404

14

IC11

8212

24

12

IC12

74125

14

IC13

74125

14

IC14

74125

14

IC15

7400

14

IC16

7407

14

Processor Technology VDM-1

IC17

555

IC18

555

IC19

555

IC20

555

The VDM-1 places its characters in a 13


by 8 matrix. The eighth bit in each row is
forced blank by tying the high order bit of
the 8 bit shift register low. (The shift register
in question is used to serialize the character
data.) This can be modified by removing the
ground from this pin and connecting it to
pin 10 on the character generator socket,
which is not normally used. From the programmable character generator schematic, it
is clear that the shift register will receive bit 8
from the programmable memory when it is
selected. When the character generator is
selected, the line is low.

1C21

7402

14

IC22

74138

16

1C23

74125

14

IC24

74125

14

IC25

21L02

10

IC26

21L02

10

IC27

21L02

10

IC28

21L02

10

IC29

21L02

10

1C30

21L02

10

1C31

21L02

10

IC32

21L02

10

IC33

21L02

10

IC34

21L02

10

IC35

21L02

10

IC36

21L02

10

IC37

21L02

10

IC38

21L02

10

1C39

21L02

10

1C40

21L02

10

1C41

7400

14

IC42

8131

16

1C43

7805

1C44

7805

IC45

74125

14

1C46

74125

14

84 May 1978 ()BYTE Publications Inc

None of the three video display devices


previously mentioned will satisfy these conditions without some alterations. Other video
display devices will not satisfy these conditions without truly major modifications.

The programmable character generator


makes provisions for using a bit from the
video display device ASCII character memory
to switch between normal and graphics
modes. This bit is used in the Processor
Technology VDM-1 for reverse video. It is
most useful when left where it is unless there
is a special need for switching character sets
on a character by character basis. In this
case, transfer the bit to pin 14 on the character generator socket.

The VDM-1 uses 13 rows in each character. The row address sequence for each character begins with 15, 0, 1... and proceeds
through ...10, 11. On 12, the counter is reset.
This leaves the user with the choice of some
unusual programming of the programmable
memory character generator or removing the
misplaced row 15. The latter can be accomplished by forcing the scan divider (IC2) in
the VDM-1 to load 0 instead of 15 when
given a load pulse. This will eliminate one of
the blank scan lines between the character
lines, which is not a serious problem in itself.

Figure 4: Programmable character generator memory circuitry. The memory consists of 16 21 L02 programmable memories arranged as two 1 K by 8 banks. The memory
is accessed via ten address lines (1 K bytes) and an eleventh line which activates the Chip Enable of one bank or the other. Data input is taken from the Altair (S-100) bus,
buffered by three state drivers which are always on. Data output is made available to the bus via three state drivers, gated by MEM and DBIN. A memory protect flip flop
provides a gating signal for memory write actions. A jumper determines whether the flip flop comes up in protect (jumper to ground) or unprotect mode with power up.
The flip flop can be switched by input commands to the programmable character generator. (Data received on these commands will be hexadecimal FF.) The flip flop is
not affected by the "protect" and "unprotect" bus lines. The address lines to the memory are selected by 74LS157
multiplexers from the bus address lines (0 thru 10) or the character type and row information which comes from the
ALTAIR IS-1001
- - video display device. The multiplexers switch with the MEM signal.
CE2 CEI

BUS
I CIO
I 7404 IC15
6 47400
MWR
Sc
6
c' b

IC26
21LO2

I SL3

CE

R/W

CE R

Al
A2
A2 S5
6
6
A3
A3
A4 7 A4 7
AS 2
2
AS
A6 A6

MEMORY
PROTECT
FLIP-FLOP

A7
AT
15
IS
AS
A8
DI
II

A9
DO

DI

A9
DO
II

12

12

JJ lC29
CE R/ W

AO
4

Al
A2 5
6
A3

AI
A2 5
6
A3

Al
A2 5
6
A3

A4 7
AS 2
A6 I

A4 7
AS 2
A6 1
16
AT

11

12

A T 16
IS
AB
14
AS
DI DO
II

AS
D1 00

12

11

15

14

12

IC32
21L02
3

CE R/ W

R/ W

AO

AO B
4
AI
A2 5
6
A3

AS

IC31
21LO2

13

AO

A47
A5 2
A6 I
16
A7
15
A8
14
AS
DI DO

IC30
21L02

211-02
I

rE R

AO

Al

+5V

IC28
21L02
13

AO

PR
0

ISL2

C27
21LO2
13

ICBb
7474CLK

A4 7
A5 2
A6 I
16
A7
15
AB
14
A9
DI DO
11

CE
B

R/ W
AO

A I
5
A2
6
A.
7
A4
2
AS
A6
A7

Al
A2 5
6
A3
7
A4
2
AS
I
A6
A7
AB

MA2
a MA3
Q MA4
a MA5
MA6
MA7

AB

MA8

A9
Di DO

aM A 9

t5 ^

A
D1 D O

MAO
D MAI

II

12

r--^ IC23
1 2 3 74125

DO 3
D I 35
D2 8

I MOO

I
s 6

MDI

4
9

[D>MD2

1.- 8

WTIO

112 II
D3 89

04

L_

3
3J

_ 1I
3

MD3

p MD4
C>MDS

D539 5b 6

4
D6 41 1 9 c 8

cMD6

10

D 7 112 II

3I

L --J

11
12
DI D O

1 12

D DO
AO
4
Al
A2 5
A3 6

8
AO
4
A l
A2 5

A4 7
AS 2

A3 6
7
44
AS 2

A6

A6 I

16
AT
IS
AS
14
A9
CE R /W
3 13
00
Ol

IC34
21L02

IC33
21L02

16
A7
IS
AB
9 14
CE R/ W
3
3

IC35
21L02
11 12

DI 0 0

IC 36
21L02
11 12

1C37
21L02
, 12 ,
DT D O

11

DI D O

IC39
21L02

IC38
2IL02
11

Il 12

DI D O

I 12

12

DI D O

Dl D O

8
AO
4
Al

AO B
4
Al

A2 5

A2 5

8
AO
4
Al
A2 S

A4 7
AS2

A3 6
7
A4
AS

A3 6
7
A4
AS

A3 6
7
A4
AS 2

A6 1

A6 I

A6

A6 1

A6

16
A7
15
A8

16
A7
A B IS
14
A9

16
A7
A 8 IS

16
A7
IS
AB
14
A9

AO B
4
AI
A2 5
A3 6

A 7 16
IS
AS
14
A9
CE R/ W
13

A 9 14
CE R/ W
3

CE R/ W
3 13

A 9 14
CE R/ W
3 13

IC40
21LO2

AO
4
A l
5
A2
6
A3

A4
AS

CE R/
3
3

AO

Al
A2

8
4

7
A

AS
1

A6

A7
A

A9
CE R /W
3
3

15
14

C> MD7

8i

Switch Settings
Mode Switches Closed ( On) Switches Open (Off)
Fixed Normal 1,8 2,3,4,5,6,7
Fixed Special 3,8 1,2,4,5,6,7
Programmable 2,6,8 1,3,4,5,7
Command 2,4,8 1,3,5,6,7
Automatic 2,5,7 1,3,4,6,8
QOSLI
4
PR
ICBa
7474 C L K 3 RS ET

CLR

ICIO E'MEM
7404

SE
15

QOSL2

STROBE Y3

CEI

1 2
IC7
7408

5
IC9
7486

14
IS
STROBE SE
ICI
74157

MDS^

II
A3
5 A2

MD4^

Al

MD6L.

Y2

10

13

17

YI
B3

82
81
SO

OOn
A8 A9 A10

MD7 CHAR- A4
MD6 ACTER A3 II
MD5 BITS A2 12
MD4

MD3

16

15

SE
SE

MD2
MDI

R3

MDO

ROW
BITS

24

RI

15

R2

22

VBB
3

15

MD3^

MDO[]

Y
Y

12

f:>MA 7

f:>MA6
cMA5
l.MA4

I A3 B2 10

STR08E SE
12
Y4
IC2
74157 Y3
7
A4
Y2
4
11
A3
Y
5
A2
13
Al
8
10
B

ROBE

IC4 Y2 7
74157 4
YI
I4 A4 B3 13

RO

MD2^

AS B2 10
A2 BI
Al B0 3

GND ^A6
DATA
BITS AS 9

Y3
A4

MD7

MA9

-- - - - f:> MAB

24 PIN DIP
CONNECTOR TO
VIDEO DISPLAY
DEVICE

C
3

MDI

C3 Y24
74157 YI

MEM^

CE2

IONGQ

3 A2 81 6
2A1 BO3

A4 AS A6 A7

B
+5V

13 D7

Figure 5: Character generation circuitry. The information wh ic h

would normally go to th e c h aracter gen-

20 06
L
L

.,ec 3mn
A4
C
MC M A5 B
-6

_I

SE
STROBE
I C5
74 1 57

42^MA3

VI
Y2

MA2
MAI

MAO
)65

RJ

5 DS R2

erator on the video display device (seven character


19 D4 RI
select lines and four character row lines) is brought to
6 D3 RO
the programmable character generator via a cable and 24
18 D2 AD 1f
17 00 Al 12
pin connector which is placed in the character generator
11
socket. The character generator is removed from the
A3
video display device and placed on the programmable
AO Al 42 43
character generator board. The 11 lines are sent to the
programmable character generator memory by the address multiplexers. These lines are also presented to the character generator just as they are in a video display device. The output data from the memory and the character generator are both input to a multiplexer, the output of which is returned to the video display
device via the cable and socket. When the character generator data is selected, the results are the same as they would have been if there were no programmable
character generator involved. When the memory supplied data is selected, the video display device will produce characters whose design has been programmed.

s m a rtwa re

TM

distributed
intelligence
system

Power . Multiply the power of your personal computer with distributed processing. Peripheral and real time control functions can be handled by dedicated
processors without tying up your central computer. Ideal for home control applications such as timing, security and energy management.

Hardware . Each smartwareTM


system includes cabinet, power supply, real time clock/calendar with
battery backup, 20 key keyboard, 8
digit LED display, smartwareTM bus
supervisor, and motherboard to accommodate up to 8 smartwareTM
modules. ROM operating system
controls keyboard and display for
entering and reading parameters,
programs and data on the other
modules. $348.00
Central processor . General
purpose 6502 processor with 4K
RAM, 1 K PROM with bus I/O subroutines, 2K empty PROM sockets.
Memory is expandable to 62K
bytes. Use for your own dedicated
applications or as general purpose
number cruncher. $248.00
Real time controller . Dedicated
processor with ROMsoftwarefor analog and digital control of up to 1000
channels with yearly, monthly, weekly, daily, and hourly cycles. Minimum
timing interval is 6 seconds. Use with
control I/O modules. $298.00

AC communication processor. Provides bi-directional transfer


of control and sensor information by
imposing a modulated 50khz. carrier
on the AC power line. Up to 255
remote I/O's can be addressed by
this module. Software provides
handshaking and redundancy to assure error free operation. $248.00

Remote I/O module. Build


your home monitoring and control
system without the hassles of control wiring. Just plug the remote
I/O module into an AC outlet nearest
the application. Each unit has four
500 watt AC outlets, of which three
can be switched on and off by the
communication processor. The
fourth outlet is an always on convenience outlet. The status of the three
switchable outlets can be read from
the central processor to verify operation. $148.00
Analog options: Temperature sensor
input, includes sensor. add $38.00
Analog output, 0 to 5v. add $24.00
IEEE 488 interface . Control
your house while your PET is sleeping. Includes complete instructions
and software for using PET computer as a smart terminal. This board
allows bi-directional communication
between external IEEE 488 devices
and internal smartwareTM modules.

$148.00
RS 232 serial interface. Connect a variety of terminals and modems to your system. Software selectable baud rates of 110, 300,
1200, and 2400. Double buffered for
maximum throughput. $148.00
Temperature sensor module. Analog input for 16 IC temperature sensors, 255F temperature
range, 1 F accuracy and 1 OF resolution. $188.00
IC temperature sensor with 10 ft.
cable, each, $12.00

Software support . Includes


complete, accurate documentation,
full time user applications consultant
to answer your questions, continual
development of new applications
programs, periodic software newsletter to keep you up to date on
what we are doing, and custom
software and system development
services . Our goal is to make this
the most powerful, reliable, and
usable system you can buy. Call or
write if you have any questions.
Coming soon . Other smartwareTM modules being developed
include direct control and analog
I/O, software development modules
such as PROM programmer and
simulator, and controllers for floppy
disks and printers. Write for information.
Quality. We realize that the comfort and security of your home require a reliable system designed to
operate 24 hours a day. Each module is burned in and thoroughly testted and includes built in self diagnostic functions.
Guarantee . Your money will be
cheerfully refunded if within 90
days you decide you are not satisfied with the performance of your
system. One year warranty, parts
and labor, for defects in hardware
or software.
Prices include shipping.

Minnesota residents add 4% sales


tax.
Delivery expected to begin in 90-120
days.

automatic hardware co.


771 NE HARDING ST MINNEAPOLIS, MN 55413 (612) 378-3715
Circle

26

on

inquiry

card.

BYTE

May

1978

87

00
100
vw------ 4

-12V

10

STB

]DOI
D02
D03
D04
d
5 D05
D06

16 PIN DIP
CONNECTOR
FOR EXTERNAL
CONNECTION TO
ASCII KEYBOARD

TOOK POTS ARE


MOUNTED EXTERNALLY IN JOYSTICK

1D07
D08
+5V

6181

13 14 I I 4

OSL 0
10 151 171 191 211 1

DS2 CLR STB D01 D02 D03 D04 D05 D06 D07 DOB
IC II
DSI

8212

MD

3J OUT

DII D12 013 D14 DI5 016 DI7 DI8 INT


3

15

17

19

21

BP

23

IC12
r--X74125
12 II

13
9b8
IO
21-, 3

MD4 5 d 6

MD3 rig a I^
13

IC14
74125

or,

3A2

1rV

I 6il5I

MD2 9 b e
10

1__> AI

L47J
12

MDI

IC46

74125
0
8
b
9

MDOE:>

E5 AO

13
I
I

Al

12
3

IC
45
74125

A0

79

DBI

1C22
74138 YI

10

DECD
Q--Q--DO

DI

D2

D3

04

D5

D6

D7

ISLO
cISL I

{ISL 3

t_>OSL 0
1OSLI
f OSL 2

10

MEM[>

14

ISL2

IC21
7402

WR IC9 +5V

ICIO 7486 4
7404 W 77 5
2
f
13 D6 IN

YO L

G2B

Y7

L OSL 3

Q--

ISL 0 INT IONG

Figure 6: Programmable character generator


/0 circuitry. A 74LS138 3 to 8 decoder is
gated by DECD, 10, and the OR combination of WR and DBIN to produce eight /0
strobes. The OUT signal is used as the most
significant address bit, splitting the output
into four input and four output signals. An
8212 (made by Intel) is used to implement
an 8 bit parallel input port and data available
signal. The data available flag can be read
with ISL-0 (bit 0) and can be wired readyhigh or ready-low. The data is read with
ISL-1. Four monostables made with 555s
connect to external 100 k ohm potentiometers to provide a simple joystick interface. The monostables are triggered in
parallel by OSL-0 and remain high for a
time dependent upon the external resistance value. The timing range is from 100 us
to 1000 ,us. Users must time the pulses with
software loops or real time clocks while
monitoring the outputs via ISL-0, bits 2 thru
5. OSL-1 and OSL-2 will switch the select
flip flop, and ISL-2 and ISL-3 will switch the
memory protect flip flop. Finally, ISL-0 bit
1 provides a look at the character data select
line. This data is valid only for the fixed and
programmed modes, since the line is
switching in the programmed and automatic
modes in a manner not synchronized with
processor commands.

Photo 3: The programmable character generator


board.

Label Operator

Operand Commentary

INIT LXI
LXI
OUT
CHK
CALL
IN
RRC
RRC
AN I
ORA
Jz
RRC
JNC
INR
RRC
JNC
INR
RRC
JNC
INR
RRC
JNC
INR
JMP

B,0 CLR COUNT


D,0 CLR COUNT
OC1H TRIGGER
DELAY 100 MICROSECONDS
OC3H MONO INPUT
OFH
TEST MONO FLAGS ONLY
A
REPRT ALL DOWN, REPORT
TEST FIRST
*+l NC - DOWN
B STILL UP, COUNT
*+1
C
*+1
D
*+1
E
CHK

CONTINUE COUNTING

Listing 1: Joystick interface test program. A single output command triggers


all of the monostables. The user must time each one with software. In this
simple program the count for each timer is maintained in a register. On each
pass through the loop, the register is incremented if its associated monostable
flag is still high. When all four have come down, the loop ends and the values
are reported to whatever routine has requested them. The DELA Y subroutine
called is a 100 s time user. The length of time delay used is determined by
the R and C combinations in the hardware and the range of counts for which
the software is prepared.
May 1978

BY It, Publi imn


, Ini 89

STANDBY
POWER
(3-5V BATTERY)

I AMP

IC43
7805

OUT

MEMORY
+5V
I SUPPLY

IN
I

39F 1J116F
*39F
T

*TANTALUM

I
IN
IC44
7805

OUT

LOGIC
+5v
SUPPLY

I
39F

1.I&F

Figure 7: Programmable character generator power circuitry. +5 V for the logic and memory
circuitry is provided through separate 7805 or 340-T5 regulators, properly heatsinked. Standby
power for the memory is provided via a 1 A diode. A 3 to 5 V battery backup should be connected to the board to use this feature, and suitable supply filtering at the regulators and on the
board should be provided. The low current -12 V required by some keyboards is generated by
a simple resistor and zener diode combination.

The overall absence of 16 scan lines will


force some adjustment of the vertical size
and linearity of the monitor.
PolyMorphic VTI
The PolyMorphic VTI uses an unusual 15
by 10 matrix. The 15 rows will cause no
problems for graphics, but the ten dots per
row will cause problems. Seven of the ten
dots in the row come from the character
generator socket. The other three are forced
blank. The problem is further complicated
by a 10 bit shift register which shifts out the
blank dots first and the VTI "block graphics"
circuitry. Obviously, the change to this circuit is not simple. It is recommended that
the 74LS157 multiplexers (ICs 35 and 32)
be removed and replaced with dual in line
package component carriers with jumpers to
connect the 8 dot bits from the character
generator to the rightmost bits (2 thru 9)
of the shift register. To insure that only
eight dots are output per character, it will be
necessary to change the load number on IC14
from 6 to 8.

Of course, the usual graphics ability of


90 May 1978

BYTI- Publication In,

the VTI is lost in the conversion , but these,


plus many more characters , can be duplicated
with the programmable character generator.
(Note: Modification of the VTI circuit
should not be attempted without complete
knowledge of the details of the VTI circuit.)
Software
Once the programmable character generator and video display device are joined, the
software must take over. Details on the use
of the programmable character generator
along with some sample programming will be
described in part 2 of this article.

Note : The programmable character generator


described in this article is available from Objective Design Inc, POB 20325, Tallahassee FL
32304, in the following configurations:
Complete Kit .............. $149.95
Assembled and Tested ....... $199.95
High Speed Version ...... add $ 16.00
Plus shipping (5% US, 10% Canada, 15%
Foreign)

THE SSB $150


FLOPPY DISCOUNT

Affordable
The tribe at Smoke Signal Broadcasting took our
BFD-68 disk system and scalped the price, but
not the features to create the ABFD-68 (Affordable
Basic Floppy Disk). We appreciate the fact that
the computer hobbyist gave us our start and we
haven't forgotten you.
$649 Assembled
Compare Price. Our SS-50 bus compatible disk
system is $150 less than the assembled price of the
leading S-100 disk system. And you can at least
double that savings when you buy one of the
computers manufactured by MSI or SWTPC that
use the superior 6800 microprocessor.

Programmable
The BFD-68 is well known for its fine software. The
system comes with the best disk operating system
available and we offer a multitude of other compatible software products. These include a BASIC
interpreter with disk file handling capability. By
the way, our DOS now easily handles true random
access files as well as sequential. Also, we have a
super fast BASIC compiler for business applications. In addition, a Text Editor, 2 Assemblers, a

Trace Disassembler useful for program debugging


and an Object to Source Code Generator are all
stock items available for immediate delivery.
A word processor will be available very soon.
Reliable
We delivered our first mini-floppy disk system a
year ago - 6 months ahead of any other 6800
based mini system. Thus, we've had twice the
experience in building reliability into the system.
Our NEW disk controller was designed using all
we have learned in the past year about system
reliability.
The ABFD-68 contains all the built in reliability
of our regular BFD-68 plus you save money by
supplying your own cabinet and power supply
for the disk.
Available
We've shipped literally tons of our BFD-68 disk
system in the past year and have learned to keep
our production up with demand. Give us a call and
chances are we'll be able to ship you the new
ABFD-68 from stock and charge it to your Master
Charge or Visa card. Better yet, ask us for the name
of the computer store nearest you that carries our
complete line of computer products.

P.O. Box 2017, Hollywood, CA 90028 (2 13) 462-5652


Circle

320

on

inquiry

card.

BYTE

ay 1978 91

A Lo w Cost Light Wa nd Ampli fi er


The purpose of this article is to discuss
some of the variables involved in the reading
of printed bar data, and to describe a signal
processor whose operation is independent of
most of these variables, and tolerant of the
remainder.
For the most reliable recovery of data,
the effective aperture of the light wand
photodetector should be no wider than the
narrowest data bar. In this case, full black to
white signal swing is obtained in response to
narrow bars, and variables such as lamp output, photodetector sensitivity, pen angle,
and target contrast control only two output
functions: white level photocurrent and
black level photocurrent.
In any light wand having a linear photodetector, the ratio of these currents is determined by the ratio of the reflectivities of the
black and white bars, ie: target contrast. The
absolute value of the photocurrent may, of

Robin C Moseley
14 Standish Circ
Andover MA 01810

course, vary widely between different light


wands, even those of the same design.
The first step in the data recovery process
is to transform the photocurrent to a logarithmically varying voltage. The amplifier
shown in figure 1 uses the well known exponential forward conduction properties of a
silicon diode (Dl) to make this transformation. The peak to peak signal voltage across
this diode is proportional to the ratio of the
white and black photocurrents and is independent of the absolute level of the photocurrent.
The next step in processing the signal is
to eliminate the effect of the variation of the
absolute level of photocurrent. This is most
obviously achieved by capacitively coupling
the signal developed across the diode. This
method results in unwanted transient shifts
of signal level at the output of the amplifier
when the light wand is first placed on the

+5V

RII
100
LIGHT
WAND

LINK

r-

4 b

Q2

l 1LED

F
41 11

ICIC

4
10

D3 T D4

CI

DIGITAL
OUTPUT

ICId
5

5
FK

R2
390K

03
i C2
.22

DI

R3
I OO K
13

R7
IM

D2
14

+ C4
T IO F

1:

D6

1 Clb
12

R4
39K

D5
R6
33K

Figure 1: Schematic diagram for light wand signal processor. IC7 is a National LM324 quad operational amplifier. All the diodes
are general purpose silicon diodes such as 1 N4148. Q2 is a general purpose NPN transistor such as MPS6573 and Q3 is a general
purpose PNP transistor such as MPS657 7. All resistors are 0.25 W and all resistances are measured in ohms. The output of the
circuit is TTL compatible.
92 May 1978 ; BY IE Publications Inc

naby^e builds three Great memories


Newt, 16 and `32k fully static RAM's. With eithier 250 ris. or 450 is.
typical access time. ,Assembled Tested . Burned in. Guaranteed.
Like our 1;6k dynamic RAM. Built as solid as the 4,400 year-old pyramids..'
4.^
Ancient Egyptians didn't stop
with just one pyramid. The Great
Pyramid stands on the Plain of -.'
Gizeh with two other monuments
erected for kings and cqueens.
Dynabyte didn't stop with one
16k dynamic RAM, either. Now
you can get 16k and 32k fully
static RAM's that are built with the
same unmatched engineering
ability and manufacturing. skill
that went into Egypt's wonders of
the ancient world.
When we say built, we mean
completely built. Assembled,
tested and burned in. We don't
leave anything undone. That way,
you can buy any Dynabyte
memory and know that it is backed
by a factory guarantee for one full
year. Kits and semi-kits can't

..

say that.
Our 16k static and our 32k
static are available with either 250
ns. or 450 ns. access time. Our
250 ns. module is completely
compatible with the 4MHz Z-80A
processors. The 450 ns. modules
are compatible with the 8080 and
the faster 3MHz 8085 processors.
The Great 16k Static
Memory . 250 ns., $555.450
us., $525.
4k block addressing along 4k
boundaries
Circle 110 on inquiry card.

Bank Select
*'Write Protect with alarm for
each 4k block
Full Schmitt trigger buffering ,
No DMA restrictions
Complete S-100 bus compatibility, including the Alpha
Micro and Z-2.
The Great 32K Static
Memory. 2 50 ns., $995.450
ns., $925.
4k boundary addressing
Full Schmitt trigger buffering
No DMA restrictions

Why Dynabyte doesn't


build memory kits
Assembling a kit can be fun;
almost anyone can do it.
But how about testing it?
Do you have the test programs
and equipment? Do you know
which memory test program
uncovers pattern sensitivity?
Or which finds shorted data
bits but won ' t find address
decoder faults?
We do. It's our business. We
have the 200 MHz oscilloscopes , the logic analyzers, the
burn-in chambers, and the test
programs. We find the bugs,
even the subtle ones.
Which lets you concentrate
on computing.

Conservative thermal design


Complete 5-100' compatibility, including the Alpha
Micro and Z-2.
The Great 16k Dynamic
Memory. $399.
Highly cost effective
No wait states
Transparent refresh
16k addressing boundaries
Widest S-100 mainframe and
disk system compatibility
All of Dynabyte's memories
meet rigid industrial grade standards. Design, components, construction, testing and performance. But if a module ever needs
repair, we provide factory service
with 24 hour turnaround for both
warranty and non-warranty work.
Ask for the Great Memories by
Dynabyte at your local computer
store. You can also pick up complete product information while
you're there.
But if you haven't got a local
computer store, write Dynabyte,
Inc., 4020 Fabian, Palo Alto, CA
94303. Or telephone (415)
494-7817.

D!Ifl II3UTE
Builders of Great Memories

BYTE May 1978 93

white margin of the printed data and also at


the beginning of the data track. Provided the
dynamic range of the amplifier is sufficient
to accommodate these shifts, the decision
threshold circuit described below will compensate for them. A more elegant approach,
however, is to borrow from television technology and clamp the white level output
from the amplifier stage at a fixed level. This
is the function of comparator A2 and peak
detector D2, Cl.
Before the light wand is placed in contact
with the printed data, the photocurrent is

DATA
TRACK

AMPLIFIER
OUTPUT

VOLTAGE
ACROSS
C2

1Y 11^' 1^ ^

DIGITAL
OUTPUT

Figure 2. Sequence of events when the light wand is moved across a series of
light and dark data bars. In this format the size of the black bars are changing
and the size of the white spacings in between remains constant.

DATA
TRACK

AMPLIFIER
OUTPUT

VOLTAGE
ACROSS
C2

DIGITAL
OUTPUT

Figure 3. When the black and white bars are smaller than the aperture of the
light wand it is still possible to have the correct output. The width of the
digital pulses will change but will still be readable.
94 May 1978 U BYTE Publications Inc

small. The output voltage of amplifier stage


Al rises until it is equal to that at the other
input of comparator A2. At this point, the
output of A2 goes high, charging capacitor
C2 until the voltage across this capacitor is
approximately equal to that at the anode of
logarithmic converter diode D1. When the
light wand is placed in contact with the
white margin of the data, the photocurrent
increases. As the output level of the amplifier tries to rise, comparator A2 output
switches high. This rapidly raises the reference voltage level across capacitor Cl to a
new, higher level corresponding to the white
level voltage at the anode of D1. As the
wand moves over the black bars, the reduced
photocurrent causes the voltage across D1
to fall. The output voltage from the amplifier falls below that at the other input to the
comparator, and the comparator voltage falls
to zero, cutting off charging diode D2. Since
the time constant determined by Cl and R4
is long by comparison with the signal period,
Cl holds the bias input to the amplifier stage
approximately constant until the next peak
white signal "tops up" C1.
The peak white level of the signal at the
output of the amplifier is fixed at a predetermined voltage (about 3.25 V in the design
described here) and the signal swing is negative from that point. The peak value of the
signal depends only on the contrast ratio of
the data bars. Gain control R3 should be
adjusted to set the peak to peak signal swing
to the optimum value; between 1.5 V and
2 V. In the absence of an oscilloscope, optional components D5, D6, C4, C5 and RIO
form a peak detector which may be used in
conjunction with any reasonably high impedance voltmeter to make this adjustment.
Switch the voltmeter to the appropriate DC
voltage range and connect it across C5. To
prevent any distortion of the signal during
actual use, disconnect the peak detector
from the output of the buffer amplifier
except when adjusting the amplifier gain.

The final step in processing the signal is


to convert the amplified and clamped signal
to the binary output required by the microprocessor. My approach avoids the complexity of decision circuits which rely on multiple peak detectors to determine the decision threshold while allowing variations of
contrast ratio. The threshold is set a fixed
voltage above (or below) the immediately
previous peak signal level. With the wand in
contact with the white margin, diode D3

conducts, and capacitor C2 is charged to a


voltage one diode drop (about 0.6 V) below
the white level output from the amplifier.
As the wand moves over the first black bar
the amplifier output voltage falls, and diode
D3 is cut off. When the output voltage falls
to the same level as that across C2, the output from the comparator A4 switches to
maximum (about 3.5 V). As the signal continues to fall, diode D4 conducts, and the
voltage across C2 follows the signal except
that it is now one diode drop more positive.
As the wand moves onto a white bar, the
signal voltage rises, and diode D4 is cut off.
When the signal rises to a value equal to that
across C2, the output of the comparator A4
falls to ground. As the signal continues to
rise towards the white level, D3 conducts
and the voltage across C2 follows. This time
it is one diode drop less positive than the
signal. Unity gain buffer stage A3 and transistors Q2, Q3 provide a low impedance drive
to the decision circuit to ensure that the
charging and discharging of capacitor C2
does not distort the signal at high reading
speeds. The sequence of operation of the circuit is illustrated in figure 2. Notice that the
digital output of this circuit follows the
usual convention of a high level for black,
and a low level for white. If this is not convenient, the two inputs of comparator A4
may be interchanged.

While this signal processor was designed


primarily for the situation in which the
effective aperture of the photodetector is no
wider than the narrow data bars, it will perform creditably when the data is narrow by
comparison with the detector. In this case,
illustrated in figure 3, some timing error is
theoretically introduced. Fortunately, this
error is quite systematic; the first narrow bar
following a wide bar is widened by 20% to
30% of its width, and the first wide bar following a narrow bar is reduced in width, by
10% to 20%. Some software complication is
required to accommodate this. Note, however, that these comments do not apply to
the case where the aperture of the photodetector is no wider than the narrow data
bars; in this case the digital output from the
processor is an accurate replica of the data
bars.
The construction layout required for this
circuit is not critical; just ensure that the low
potential ends of C1 and C3 are connected
closely together, along with that of the
power supply decoupling capacitor C6.1111111

t^t1it41ilit1f1it1'
Fully Static

Using the TMS 4044

250 nsec. chips-$425


($375 intro. price ends May 15)

Z-80A 4 Mhz. Fast -This fully assembled and tested


16K board was designed to operate without wait states
in a 4 Mhz. Z-80A system allowing over-generous time
for CPU board buffers. It "loafs along" in slower 8080
and 8085 systems.

450 nsec. chips-$375


($325 intro. price ends May 15)

For 2 Mhz. Systems - Same circuit as above but


priced lower because of less expensive memory chips.
It is fully assembled, burned-in, tested, guaranteed, and
yet priced lower than many kits.
Fully Static is Best - Both boards use the state-of-theart Texas Instruments TMS 4044 which requires no
complicated and critical clocks or refresh. The fully
static memory chip allows a straight-forward, "clean"
design for the board ensuring DMA compatibility. It uses
a single 8 volt power supply at 1.7 amps nominal.
Fully S-100 Bus Compatible - Each 4K addressable to any 4K slot and separately protected by DIP
switches. Jumpers to customize board to any known
S-100 system.
Commercial Quality Components - First quality
factory parts, fully socketed, buffered, board masked on
both sides, silk-screened, gold contacts, bus bars for
lower noise.
Guaranteed - Parts and labor guaranteed for one
full year. You may return undamaged board within ten
days of receipt for full refund.
Check your local computer store first
Factory Orders - You may phone for MC, VISA.
Cashier's check, M.O. speed shipment for mail orders.
Personal check OK. Shipped prepaid with cross country
orders sent by air. Shipping - Stock to 72 hours normal.
We will confirm order and give expected shipping date
for delays beyond this. Washington residents add 5.4%
tax. Spec. sheet, schematic, warranty statement sent
upon request.

, Seattle Computer Products. Inc.


16611 111th S.E., Renton, Washington 98055
(206) 255-0750
Circle 317 on inquiry card.

May 1978

BYTE Publications Inc 95

A Bit of the BASIC

out 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 enter-

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

taining book. $5.20.

$8.95.

---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 through-

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 . $5.20.

%W"eh-

advanced

---Some Common BASIC Programs by


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

L^^
--- 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! $7.95.

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.

Check Payment method:


_My check is enclosed

Send to:
Bits, Inc.
70 Main Street
Peterborough NH 03458

Bill my MC No. Exp. date


-Bill my BAC No. Exp. date

Name

Total for all books checked

Address

Postage, 75 cents per book for books $

city

State

Zip Code

Signature
1
1

96

You may photocopy this page if you wish to leave your BYTE intact.

BYTE May 1978

Grand

Total

P rices shown are subject to change without not i ce.


All orders must be prepaid.
In unusual cases, processing may exceed 30 days.

Circle 35 on inquiry card.

Garcia'
Circtit Cellar

Tun e In and Tu rn On, Part 2


An AC Wireless Remote Control System
Steve Ciarcia
POB 582
Glastonbury CT 06033

Last month (page 114) I outlined the


transmitter section of a wireless AC remote
control system that can be easily attached to
any computer with an 8 bit parallel output
port. As previously stated, it will allow remote on and off control of up to ten AC
powered devices. This month I cover the
design of a typical receiver section.
Figure 1 shows the schematic of a single
channel receiver station and photos 1 and 2
illustrate a typical layout of a constructed
receiver. (A photo of the completed receiver
is shown in last month's article.) The receiver consists of three basic sections: input
filter and power supply, on and off tone
detectors, and output latch. Except for
minor component value differences necessary to change the channel frequencies, all
receivers will have the same configuration.

Photo 1: The finished prototype receiver board.

Photo 2: Internal view of finished prototype receiver chassis.

Input Filter and Power Supply


Each receiver, designated as a single
channel, receives two transmitted frequencies from the computer. One is used to
turn the AC device on and the other to turn
it off. These two tones must be close enough
to be passed through the same filter section
but not close enough to interfere with each
other. For this reason, a channel bandwidth
has been designated to be 8 kHz, and no two
tones are closer than 4 kHz.
The function of the input filter is to
reject the 60 Hz line frequency and all other
frequencies except the 8 kHz band of a
specific channel. While this may appear true
in theory, it is not quite the result. Instead,
the amplitudes of various frequencies will be
affected as they pass through the filter.
M,, I )7b bl I L I bh-atiui^^ liii 97

INPUT

FILTER

TONE

DETECTION

OUTPUT LATCH

+5V
220
+5V

+5V
Q

+5V
10
IOK

IK

C2
.047f
T.1 F

220
f

C2
.047F

SOLID
STATE
RELAY

177

AC IN
6 AMP
FUSE

115 VAC
600 WATTS

Figure 1: The receiver portion of the author's A C wireless remote control system. The user plugs an appliance or light into the
receiver, which in turn is plugged into a wall socket. One of two frequencies is sent at a time through the house wiring by a
separate computer controlled transmitter (described last month). The receiver responds to these frequencies by turning its
device on or off, respectively. A specially designed tuned bandpass filter amplifies only that pair of frequencies dedicated to its
receiver, attenuating all other frequency pairs. After some amplification, the signal is sent to two tone decoders (iC7 and lC2)
which respond to the two frequencies independently. Two buttons are also present on the receiver so the user can operate
the device locally. Note that the use of a 3 wire grounded plug to connect to the A C line is highly recommended.

LOAD

*POLYSTYRENE OR
POLY CAR BONATE

fo

60 Hz will be virtually nonexistent, and if


the passband is from 35 kHz to 43 kHz,
that frequency range should be the highest
amplitude. This amplitude variation across
the spectrum can be facilitated somewhat
by the addition of a tuned inductance and
capacitance (LC) circuit, called a bandpass
circuit. The center frequency of the LC
circuit should be set for the center of the
particular passband desired. In the case of
35 to 43 kHz, the inductor and capacitor
are chosen to produce a resonance at 39
kHz: the result is a passive filter. As the RC
section passes frequencies close to 39 kHz,
the LC combination starts to resonate
(which increases the overall amplitude seen
at the base of Q1). In practice, a low Q
slug-tuned 1 to 10 millihenry coil salvaged
from an old TV set will work well. By using
this LC circuit, the fundamental frequency
of the transmitted waveform is sufficiently
high in level to be differentiated from the
second and third harmonics also present. A
sensitivity adjustment on the base of transistor Q1 aids in the detection process by
allowing only signals of sufficient amplitude
through the next amplifier filter section of
Q1.
The use of an LC filter does require
some component value changes to cover
the 30 kHz to 110 kHz range of the transmitter. Figure 2 is the schematic of the LC
combination in question and includes the
formulas required to make this calculation.
Again, calculations are only part of the
answer and are acceptable only in 2 or 3
channel applications. For optimum tuning,
the component values should be chosen
according to the equation. Then using an
oscilloscope, measure the voltage across the
LC circuit and slowly adjust the slug-tuned
coil to peak at the desired frequency. A
voltmeter on the AC setting will not respond
sufficiently; only an oscilloscope with
high impedance inputs should be used.
The power supply section is a standard
rectifier and 3 terminal regulator supply.
The circuit requires less than 100 mA and
values are not critical. The LM309 voltage
regulator is the plastic TO-5 packaged
version of the standard LM309K, which is
a TO-3 metal can. Either can be used and no
heat sink is required.

1 ^I7c

= 2 rr v'[
fo = center frequency
L = Henries

ADJUSTABLE
SLUG TUNED
COIL

C = farads
27r = 6.28

I TO ID m

Example:
fo = 35 kHz
I C=.01 F

for

then
L=2mH

Figure 2: Calculation of inductor and capacitor values for the tuned bandpass
filter used in the receiver's input section.

Tone Detectors
The heart of the receiver is in the two
tone detectors, IC1 and IC2. Each is tuned
to a specific frequency or tone within its
respective channel bandwidth. For the
channel 1 frequencies I have chosen (35 kHz
to 43 kHz), IC1 would be set for approximately 35 kHz and IC2 would be set 4 kHz
higher at 39 kHz. IC1 is considered the set
frequency receiver and IC2 is the reset
receiver. LEDs are attached to their outputs
to facilitate tuning. These lights will light
only when the correct frequency is present
at the respective pin 3.
As with the input filter, these are tuned
circuits and they require component value
changes for the different channels. Figure 3
shows an individual receiver and outlines
the equations used to select components.
The values I have chosen are standard and
could be set closer with the addition of trim
pots, etc. In practice, this won't be necessary
unless all ten channels are to be constructed.
Output Latch
The outputs of the set and reset tone
detectors go to the set and reset flip flop
made from two NAND gates (10a and
IC3b). If either the set pushbutton is
pushed or IC1 receives the proper signal, the
flip flop goes into the set state and the
output device is activated. It will stay in the
"on" condition until either the reset pushbutton is pushed or a reset signal is received
through IC2.
Notes for Figure 1.
The solid state relay noted in the schematic can be either a Sigma 226 RE1-5A1 as
shown in photo 1 or the homebuilt unit of photo 3 and figure 4. Minimum current rating
should be 6 A.

Table 1: Power wiring table for figure 1.

IC1
IC2
IC3
IC4

IC Type

+5V

Gnd

NE567
NE567
7437
LM309

4
4
14
3

7
7
7
2

1. All resistors 1 /4 W carbon 5% unless otherwise noted.


2. All capacitors are 100 V ceramic unless otherwise noted.
3. The values of L and C in the tuned filter are computed for the particular center frequency chosen ( see figure 2). In general L should be an adjustable slug tuned in a
range of 1 to 10 mH. C will range from . 001 to .01.
4. If this receiver is used on AC lines which also power many inductive devices such as
motors and pumps, voltage surge protection may be required on the input.
5. A 7400 can be substituted for the 7437 if the set and reset LEDs are eliminated.

May 1978 BYTE Publications Inc 99

Figure 3: Selection of
components for the tone
decoder.

+5V

+5V

Example:
for R1 = 3.3 k and C1 = .01
fo = 33.3 kHz

R LOAD

with C2 = .047F

OIF
INPUT

)I

C3 =.1 F

1. Select R1 and R2
_ 1.1
fo R1 C1
C2

T LOW IA "

FILTER

fo = detection frequency (Hz)


R1= ohms (1k<R1<20k)

*POLYSTYRENE

C1 = farads

m
Although the 7437 is quite capable of
driving a silicon controlled rectifier (SCR)
directly, turning on a triac is a bit more
involved. When the parts necessary to perform this function cost more than a
commercial solid state switch, it's time to go
commercial. There are experimenters who
will want to use SCRs because they have
them, though.
Figure 4 is a schematic of an alternate
1000 W solid state relay; photo 3 is the
prototype I constructed as an example. It is
important to note that, while both the SCR
and homebrew device in figure 4 are optoisolated devices, the AC remote receiver
itself is not isolated, and care must be taken
when probing into a plugged-in unit. In this
case, the only advantage of the opto-isolator
is that it provides the required current to
drive the SCR or triac; a 7437 by itself may
not. SCR gate currents have a wide variation
(1 to 100 mA for various SCRs all rated for
8 A) and a 7437 does not have unlimited
drive capability. For some less current
consuming applications, a standard 7400
can be used instead of a 7437.
System Checkout
There are two ways to calibrate this
system: trial and error (good for one or two
channels only); or with the proper test
equipment (necessary for three or more
channels). I prefer the latter and will discuss
that technique.
The first thing to do after building the
transmitter is to determine what frequencies
are being transmitted. Using the program in
listing 1 and a frequency counter attached to
pin 6 of IC3 on the transmitter board will
aid calibration. The frequency output of the
transmitter described last month will have
256 possible values but not all are required
at this time. A program could be written to
scan slowly across all frequencies and stop
when the receiver picks it up. This method
involves trial and error. I prefer to tune the
100 May 1978, BYTE Publications Inc

Bandwidth =- 1600 Hz

OUTPUT

NE567
TONE
DECODER

2. Select bandwidth of less than 2 kHz for each


frequency . For input amplitude >_ 200 mV
BW = fo C2
fo = detection frequency (Hz)
C2=F
BW = bandwidth (Hz)
and:
3. C3 = 2 C2 minimum

transmitter to a known frequency, then tune


in the receiver.
Once the transmitter is set up, the next
project is the receiver. For reasons I'll
describe later, it is best to plug the transmitter and receiver into the same wall socket
initially (use an extension cord if necessary).
Using the previous program, set the transmitter to continually transmit one tone in
the center of a channel, such as for channel
1 (39 kHz). Choose component values from
figure 3 (figure 1 is configured for channel
1) and adjust the coil slug until the
maximum voltage appears across the LC
circuit in the filter section. Reset the frequency transmission for the set frequency
(35 kHz) and adjust the sensitivity pot until
the LED at pin 8 of ICI comes on. Failure
of the LED to light indicates any of the
following:
1. Insufficient transmission amplitude:
check transmitter output.
2. Wrong frequency transmitted or wrong
components chosen for the receiver:
check program action and recheck
calculations.
3. Sensitivity pot misadjusted: attach
scope to collector of Ql and note that
sensitivity pot turns signal on or off.
4. Bad tone decoders.
Once this phase is completed, set the
transmitter frequency to the reset frequency
(43 kHz) by entering the appropriate number when running the program of listing 1.
Then check to see that the LED on IC2
lights. The sensitivity pot may require
adjustment. The key is to find a setting that

Generates character-by-character
reversed video, reduced intensity,
block and line graphics.

now a nd tell

1024 characters-16 lines x 64


characters and uses 7 x 9 dot
matrix to produce an extremely
high quality, high resolution
display image.

An eight bit parallel


port with latched
strobe-may be used
as a keyboard port.

VectorGraphic
show and tell
VectorGraphic

Screen refresh
memory designed
to operate with
4MHz CPU clock
rates.

Requires only +8Vdc at


1.2 Amps
See for yourself. FREE
Send me free details on Flashwriter video board
Li Other S-100 boards 1 -1 Microcomputer kits Systems

Video output conforms to RS-170


requirements-available as composite video or separate video
and sync.

Name
Address
Phone
City/State/Zip

Completely assembled and tested or in easy


to build kit form.

'Loi CAPI"iC inc.

790 Hampshire Road , A+B. Westlake Village , CA 91361. ( 805) 497-6853


Circle

385

on

inquiry

card.

BYTE

M ay 1978 101

OPTO ISOLATOR HIICI


47051

GE SC51B
OR
loon GE SC1468
LOAD

,I

MTI T 200V
MT2

20 VAC
1000 WATTS

5 VOLT INPUT
4751
-

N4001

IN4004 (4)

E I
I^

Figure 4: 10 A solid state relay suitable for use in a TTL to 115 VA C application.

works for both set and reset frequencies


simultaneously. This same procedure is
repeated for any other channel.
Using the System in the Home
The transmitter is plugged into any 110
VAC outlet in the vicinity of the computer.

Photo 3: Homemade solid state relay (see figure 4).

100 PRINT "WHAT IS THE OUTPUT PORT NUMBER OF THE TRANSMITTER"


110 INPUT N :REM N IS IN DECIMAL
120 PRINT "OUTPUT UPDATE VALUE"
130 INPUT X
140 OUTPUT N, X :REM X is sent to the transmitter DAC
150 GOTO 120

Listing 1: A simple BASIC program to aid the user in calibrating the transmitter. A frequency counter is attached to pin 6 of 1C3 in the transmitter in
order to check the actual output frequency versus a typed in value.
102 May 1978') BYTE Publications Inc

Depending on the home, it may or may not


transmit to all outlets in the house. Most
homes have 220 V service which consists of
two independent 110 VAC lines. A frequency transmitted into one line may not
pass over into the other line with sufficient
power to be detected at all receiver locations. It may be necessary to take one of the
receivers and plug it into a number of
different outlets to determine which are
on the correct circuit. This potential problem is not unique with this particular
design and is a factor to be considered in all
carrier current designs. In most cases, if
there are sufficient 220 VAC loads in use,
such as heaters and stoves, etc, the carrier
frequency will pass easily through the loads
from one line to the other and the whole
house will be covered.
The most obvious application of such a
computer control system is a home lighting
system used in conjunction with a burglar
alarm. The major problem with conventional timer activated light controllers
is that their consistently repeated on and
off periods are an immediate tip-off that
no one is home. With this system and
either a real time, time of day clock, or
timing loop functioning as a clock, the on
and off periods of a number of lights can
be altered dynamically. The program which
accomplishes this function can be implemented as easily in BASIC as any of the
test programs used to check out the AC
remote controller described in this article.
I hope that you have enjoyed this latest
project and the humorous as well as utilitarian applications of such a system. I'll
try to bring you similar projects in the
future. If you have questions or comments
please feel free to write me and enclose a
stamped, self-addressed envelope.

Next month: digitized speech.

with a full -size, low-cost impact printer.

Until now, the hobbyist and small businessman have had one major problem in assembling a reasonably priced
microprocessor system with the capabilities found in the more costly computers. It was impossible to find a
high-quality, high-output printer for hard copy needs at an affordable price.
Peripheral Vision has come up with a solution.
We are offering a full-size impact printer designed for microprocessors-and it comes with a mini price. Prices
start as low as $540 for the printer, interface card kit, and the power supply. And that won't impact your
pocketbook.
Peripheral Vision's printer is loaded with capabilities. Take a look:
It's fast-120 characters per second
96 characters per line, 12 characters per inch horizontal, 6 lines per inch
Makes up to 4 copies simultaneously
5 x 7 character matrix
Ribbon has built-in re-inkers for a life of 10,000,000 characters
Paper can be either a standard 81h-inch roll, fanfold or cut page
Interfaces to 8-bit parallel ports (one input & one output)
Compatible with the S-100 bus (use our optional parallel port card)
Just remember, Peripheral Vision is committed to helping you get along with your computer. As an example,
the printer we are offering is high in quality, low in cost and will definitely impact your system. Other examples
include Floppy Disk Drive systems, Digital Cassette systems, Stand Alone Audio Cassette interfaces and our
inexpensive Keyboard.

0011

Send me more information on how to impact my computer!


OK, here's my $540, send a printer kit.
Here's $695 for an assembled & tested printer. And thanks!
Name

Company
IIC.

Address

City
State
Zip
(BankAmericard/VISA, Master Charge or COD's also welcome )

Circle 300 on inquiry card.

P0. Box 6267/Derwer, Colorado 80206 303/777-4292


BYTE May 1978 103

Photo 7: The multiplier


installed in /0 slot 7 of
the SwTPC 6800 processor system. The multiplier was constructed on a
perforated board base, and
is seen here between a
parallel interface board
and the power supply
transformer. The heat sink
for the multiplier's on
board regulator tends to
dominate the board, and
the multiplier integrated
circuit itself is the white
40 pin package partially
hidden by a cable.

How to Multiply in a Wet Cli m ate


Jack Bryant
Mathematics Dept
Texas A&M University
College Station TX 77843
Manot Swasdee
E E Dept
Texas A&M University
College Station TX 77843

104 41a ) 1978 BYTE Publications Inc

Part 2: Design Details

In last month's article, we discussed


microprocessor arithmetic and how an 8
by 8 bit two's complement multiplier
could do it faster. Specific examples, in
Motorola M6800 assembly language,
showed how multiple precision arithmetic and quick matrix addressing could
use hardware multiplication. We gave a
logical block diagram of a circuit which
would make the product (formed by a
multiplier array) much easier to use.
This month's article contains details
needed to construct and fully test a hardware multiplier for the SwTPC 6800
system using the TRW MPY-8A1 and
eleven SS/ and MSI TTL chips.

This month we give detailed construction


information on how to build a wire wrap
version of the hardware multiplier for the
SwTPC 6800 system. Photo 1 shows the
multiplier installed in port 7 of the 6800,
which is the object of this effort. We used
port 7 because the wire wrap pins would be
easily accessible there and would not interfere with other 10 interfaces. We begin with
some details about the SwTPC mother
board address decoding.
Addresses in the 6800 are 16 bits, numbered from most significant to least significant bit as A15, A14 ... Al A0. Decoding circuitry on the mother board traps any
address starting with binary 100 (ie: with

The Electric Pencil II is a Character


Oriented Word Processing System. This
means that text is entered as a
continuous string of characters and is
manipulated as such. This allows the
user enormous freedom and ease in the
movement and handling of text. Since
lines are not delineated, any number of
characters, words, lines or paragraphs
may be inserted or deleted anywhere in
the text. The entirety of the text
shifts and opens up or closes as needed
in full view of the user. The typing of
carriage returns as well as word
hyphenation is not required since lines
of text are formatted automatically.

As text is typed in and the end of a


screen line is reached, a partially
completed word is shifted to the
beginning of the following line.
Whenever text is inserted or deleted,
existing text is pushed down or pulled
up in a wrap around fashion. Everything
appears on the video display screen as
it occurs which eliminates any
guesswork. Text may be reviewed at will
by variable speed scrolling both in the
forward and reverse directions. By using
the search or the search and replace
function, any string of characters may
be located and/or replaced with any
other string of characters as desired.

When text is printed, The Electric Pencil II automatically inserts carriage


returns where they are needed. Numerous combinations of line length, page length,
line spacing and page spacing allow for any form to be handled. Character spacing,
BOLD FACE, multicolumn as well as bidirectional printing are included in the Diablo
versions. Right justification gives right-hand margins that are even. Pages may be
numbered as well as titled. This entire page (excepting the large titles and logo)
was printed by the Diablo version of The Electric Pencil II in one pass.

Now on CP/M
You've probably seen
The Electric Pencil in
action by now. It's the
most powerful 80801Z80
character oriented word
processor on the market
today. Michael Shrayer is
now proud to present the
new Electric Flencil II.

NEW FEATURES : *** CP/M Compatible *** Disk


Operating System Supports Two Disk Drives *** Simple
File Management *** Quick and Easy Disk Storage and
Retrieval *** Dynamic Print Formatting *** Multicolumn
Printing *** Print Value Chaining *** Page-at-a-time
Scrolling *** New Bidirectional Multispeed Scrolling
Controls *** New Subsystem with Print Value Scoreboard
*** Automatic Word and Record Number Tally *** Cassette
Backup Capability *** Full Margin Control ***
End-of-Page Control *** Non-Printing Text Commenting
*** Line and Paragraph Indentation ***
Centering, Underlining and BOLD FACE

$225.
The Electric Pencil II is now available on CP/M. Standard printer versions
Diablo printer versions $275.
System Hardware MUST include:
8080 or Z-80 Based Microcomputer
Printer (Diablo Hy-Term, TTY, etc.)
Video Display ( VDM-1, VTI or SOL)
CP/M Supported Disk System or...
North Star Mini-Floppy Disk or...
Cassette Interface (Tarbell or SOL)

m
l ss^

MICHAEL SHRAYER SOFTWARE


3901 Los Feliz Boulevard
Los Angeles, CA 90027
(213)665-7756

The Electric Pencil I is still available for non CP/ M users as follows:
Versions Printer
SS,SV,SP
SSN,SVN,SPN
DS,DV,DP
DSN,DVN, DPN

TTY or
TTY or
Diablo
Diablo

similar
similar
Hy-Term
Hy-Term

Video Interface/Mass Storage Price

SOL/Cuter ,VDM-1 /Tarbell,VTI/Tarbell


SOL/NStar,VTM-1/NStar,VTI/NStar

SOL/Cuter ,VDM-1 /Tarbell,VTI/Tarbell


SOL/NStar, VTM-1 /NStar,VTI/NStar

$100.
$125.
$150.
$175.

Demand a demo from your dealer !


Circle

319

on

inquiry

card.

BYTE

Hay 1978 105

Hexadecimal
Address

What Happens When the


Computer Writes into
this Location

801C

Clock the multiplicand into


MPY-8AJ register X.

801 D

Clock the multiplier into


MPY-8AJ register Y and
strobe the product into
product register P.

What Happens When the


Computer Reads Data from
this Location
u
-

For the last strobed product, read


the left justified high order part
of the products: PS, P1, ..., P7.

801 E

Table 1: Port 7 addresses


and significance. Note that
writing to the first three
addresses is used to control the multiplication:
address 801E receives a
control code, 801C receives the X operand, and
address 807D receives the
Y operand and simultaneously forms the product
and clocks it into the
output register P.

801 F

Set control code: binary


*** SFR
F = strip sign X
S = strip sign Y
R=set ROUND
_ "don't care"
Not used

-o

For the last strobed product, read


the left justified low order part of
the product, with zero for the
least significant bit: P8, P9, ...,
P14, 0.

E
c
I Z)
>
0

d
v=i
oo
jE a`

For the last strobed product, read


the right justified and shifted
product bits: P7, ..., P14.

Note : Using terminology of the MYP-8AJ and the previous article of this series, bits
of the multiplication data are numbered 0 to 15, most significant to least significant.
Program Sequence:
Set up control code (801 E).
Store X multiplicand (801C).
Store Y multiplicand (801 D).
Read and use shifted (801 E or 801 F)
or unshifted (801 C or 801 D) product bytes.

A15=1, A14=0, and A13 = 0, hexadecimal


addresses 8XXX or 9XXX where X means
"don't care." The last six bits (A5, A4, A3,
A2, Al, and A0) are examined to decode
ports. For the first eight slots ( one full
mother board ), A5=0, and bits A4, A3,
and A2 are decoded with a 74LS138 3 to
8 line decoder . This signal is port bus pin 1 :
10 select. Remaining bits Al and AO are
buffered and become port bus signal RS1
and RSO, used by hardware plugged in a
slot to select which of the four bytes is
being addressed . ( Actually, we earlier used
the term " port" rather loosely to mean 10
slot. We now wish to be more precise and
recognize that each 10 slot contains four
ports.)
Although the 10 slot is only four bytes
wide, the bytes which are read need not be
logically the same as (or even related to) the
bytes which are written to the same address.
(Compare this with a memory where we
would hope they are the same!) Port bus
signal RW tells hardware in an 10 slot what
to expect . To use our hardware multiplier,
we write ( from the processor ) into three
bytes, and read from four bytes of 10 slot
#7. This is summarized in table 1.
In table 1, the MPY-8AJ registers X, Y
and P are mentioned ( along with ROUND).
Figure 1 is a pinout drawing of the TRW
product ( reproduced from the specifications
sheets, courtesy of TRW Electronics Sys106 May 1978 ',BYTE Publications Inc

For the last strobed product, read


the overflow bit OV, then right
justified and shifted product bits:
OV, PS, ..., P6.

Figure 1: Physical layout and pinout diagram for the MPY-8AJ multiplier part, reproduced from the specifications sheets,
courtesy of TRW Electronic Systems Division, One Space Park, Redondo Beach
CA 90278. Note that bits are numbered
from 1 (most significant) to n (least significant), a convention which differs from
conventional microprocessor usage in which
bit 0 is always the least significant. The text
and figures of these articles reflect the inverse ordering of the bit numbers on the
multiplier side of the interface.
NO. 1 LEAD
IDENTIFIER
PR 5

PR 6

40 PR 4
39 PR 3

PR 7

38 PR 2

CLOCK P

37 PR 1

TRIM

TRIL

36 PR SIGN IMSPI
35 V SIGN

ILSPI PR SIGN

34 V1

PR 8
PR 9

8
9

33

V2

32

GROUND

PR 10

10

PR 11

11

PR 12

12

31 V3
30 VCC
29 V 4

PR 13

13

28 V5

PR 14
X7

14
15

27 V6

x6

16

25 ROUND

X5

17

24 CLOCK V

X4

18

X3

19

X2

20

26 V 7

23 CLOCK X
22 X SIGN
21 X1

XCELA&Fwnew
168 ,
p, O80
ST,^/^/
,ASSEMBLE
R
Assembles programs written in symbolic language for an 8080 CPU on an 8080 based
system.

FUNCTION:

HARDWARE REQUIRED: 8080 computer with minimum of 4K memory (of which at least 1K should be RAM);
a source listing input device; an object code output device.
OPTIONAL HARDWARE: 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.
SOFTWARE REQUIRED: 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.
MEMORY UTILIZED: 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).
MNEMONICS UTILIZED: 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.]
PSEUDO-OPERATORS:

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.

PROGRAM OPERATION:

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.

SOURCE FORMAT:

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.

DOCUMENTATION:

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!

SPECIAL FEATURES:

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!

OPTIONS:

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

Scelbi's 8080 Standard Assembler: $ 19,95

Optional object code


on punched paper tape, specify 8080SA-OPT: $10.00. Optional
commented source listing on punched paper cape, specify
80 -uoA- SPT: $39.00 .

OPTIONAL PAPER TAPE NOW AVAILABLE!


Circle 310 on inquiry card.

RILI3 4[0Mf11TER
(ONSI1lIFIN6 IN(.
Post Off ice Box 133 PP STN
Milford, CT 06406 Dept. B
BYTE N1, y 1978 107

74LSI

5V

D7
130
D6

22
21

D5

03
2

DI

X SIGN PR SIGN
XI PRI

IC9

36
37

^rf
dJ

23

DO

35
34

CLK X CLK P
ICI MPY-8AJ
Y SIGN PR SIGN
YI PR8

74LS00

A2

131

24

TRIM
CLK Y TRIL

82
B3

G
CO
VI

74 LS153

]CIO
AO YO

8
5
3

Al

CI

A2

A3
BO
II
BI
G
12
B2 CO
13
B3 YI

10

Y7 PR14

74LS74
12 D IC6b

Al

3 A3
10 BO
II
BI

33
Y2 PR9
31
10
Y3 PRIO
29
1
Y4 PRII
28
12
Y5 PRI2
27
13
Y6 PRI3
14
26

5V

YO
CI

AO

20
38
X2 PR2
19
39
X3
I8
40
17
I
X5 PR5
16
X6 PR6
15
X7 PR7

D4<'^

VCC

74LS153
3

RND GND
25

KCL

74LS00

74LS74
IC8a

IC6a
RW L

3
A3
10
BO

READ

CLK

CLK CLR

II

12
13

WRITE

IC7a

BI
G
B2 CO
B3 YI

74LS153

12 D IC8b 0

IC12
CLK CLR

KCLR
13

74LS74

74LS10

AO
Al
A2

YO
CI

3
A3
10
BO

II

BI

12
3

5V

RSI
RESET

I2 D IC7b J9

G IC5 0

CO

83

YI

74LSI53

74LS139
RSO

B2

5
CLKC R 0
74 13

^^--CONNECTIONS TO SwTPC SS-50 BUS VIA THREE TEN PIN MOLEX CONNECTORS

POWER WIRING TABLE


IC
Number

Type

+5V
Pin

Gnd
Pin

MPY-8AJ

30

32

74LS11

14

74LS00

14

74LS10

14

74LS139

16

74LS74

14

74LS74

14

74LS74

14

74LS153

16

10

74LS153

16

11

74 LS 153

16

12

74LS153

16

13

74125

14

14

74125

14

tems Division), the basic component of our


multiplier. Labelling bits as TRW does, from
1 (most significant) to 14 (least significant),
we can write:
X = -xs + x1 2-1 + ... + x7 2-7,
Y = -ys + y1 2-1 + ... + y7 2-7; then

LM 309 K

+8 V
UNREG
L 25F

25V

+5V

OF
15V

GND

GND
POWER SUPPLY WIRING

Figure 2: The complete MPY-8AJ multiplier


interface. The SwTPC (SS-50) and Motorola
symbolic designations of processor signals
are shown at the left side of the diagram.
RSO and RS1 are signals derived from the
low order address bits A0 and Al from the
processor. /0 select is a signal from the
SwTPC processor that indicates a reference
to a range of four addresses; for slot 7 of the
backplane these addresses are 807C and
807F.

put registers , but this would usually take


another instruction. Usage of the multiplier
can be summarized as follows:
1. Set condition (which is set to 0 by
RESET).
2. Store multiplicand X.
3. Store multiplier Y.
4. Read product as needed.

P = X*Y=p+p12-1+...
+ p14 2-14 + ROUND 2-8.
Signals CLOCK X and CLOCK Y move X
and Y from the data bus to the multiplier
array input registers. In our application, we
treat sign bits xs and ys differently: these
are data bus signals ANDed with a control
code bit which is stored in a flip flop and
used to control stripping of signs.

The MPY-8AJ pinout suggests an intention of the designers to use the upper and
lower parts of the product independently.
In fact pin 5, called TRIM, enables the three
state output buffer for the most significant
part of the product (p5 P1 ... P7), and pin
6 labelled TRIL enables the least significant
Ps P8 p14 However, we are treating
the product here as a single 15 bit entity
(which we optionally return shifted left
or right), and do not require the TRIL and
TRIM signals since external logic is employed in the circuit.
In our design the CLOCK P signed is
generated 1 /2 clock cycle after the storing
in (writing to) the Y register at hexadecimal
address 801 D. We could have used some
other signal to clock the product into out-

The third and fourth steps may be repeated


(for as many distinct multipliers as are
needed) without storing another X. However, the condition code which prevailed
when the last X was stored determines
whether the sign of X is stripped. The
product remains unchanged until another
multiplier is stored in hexadecimal 801 D.
(The reason for stripping signs was explained
last month.)
One product of signed 8 hit numbers
treated as fractions seems "wrong": -1 x -1
= 1. Recall that -1 is equal to the binary
value 1000 0000; there is simply no representation of +1 as a signal binary fraction.
(Thinking of the same binary numbers as
integers with the binary point to the right
leads to a different interpretation: there is
no 15 bit two's complement representation
of decimal 16,384 = 214. That is, the product of -128 times -128 exceeds the
capacity of 14 bits.) Actually, the product
is correct "modulo 2." In any case, it
represents an overflow condition which
needs to be flagged if possible, mainly because it is so hard to detect with software.
Luckily, with this design we have a spare bit
May 1978 C BYTE Publications Inc 109

Photo 2a: Component side


of the multiplier board.
The circuit is entirely
socketed with wire wrap
sockets. The Molex connectors are mounted on
the component side, with
every other pin connection
made by running wire
wrap to solder terminations on the component
side. The overlay shows
logical identifications of
components from figure 2.

in a good place . The first bit of hexadecimal


location 801 D (which is usually 0). We turn
this bit on when the product of two negative
numbers turns out to be negative.
How to Build the Multiplier
Figure 2 is a circuit diagram of the
hardware multiplier. The prototype discussed here was built in a few hours using
the nifty OK Machine & Tool Corporation
WSU-30 hand wire wrap tool ($5.95 from
James Electronics and others).
Wire wrap DIP sockets are inserted into

Figure 3: Size and spacing of Molex connector slots relative to lower board edge.
r- 0.34 1n.-1 0.08 in.-I

o.os in.
0.3 in.

EDGE OF BOARD

Note : The MPY-8AJ is available in single unit


quantities from TRW, One Space Park, Redondo Beach CA 90278. The authors have a
few on hand for $100 postpaid.

110 May 1978 BYTE Publications Inc

prepunched .1 inch grid Vectorboard. The


layout of the integrated circuits is shown by
the overlay on photo 2a. Molex sockets are
used to plug into SwTPC 10 ports; three 10
pin connectors are needed. Since Molex
connectors are not spaced on the .1 inch grid
of the Vectorboard, slots must be cut in
the Vectorboard to accommodate and hold
the connectors. Figure 3 shows the dimensions of the slots and their placement on the
Vectorboard. Such slots can be made most
easily with a Dremel tool equipped with the
tiny router type tip. The width of the slots
is important: if the slots are too wide, it
will be hard to get a solid mounting.
After all slots are cut, insert the connectors with the plastic hooks catching the
edge of the Vectorboard. Gently push the
solder tabs into the slots, pushing the
connector against the Vectorboard while
bending the extended solder tab toward
the edge of the board (see photo 2b). Wires
may now be soldered to solder tabs and
brought to the proper wire wrap socket. We
got a good mounting with every other pin
straightened out (so that only half as many
slots need be cut).
No unexpected surprises accompany wire
wrapping the circuit, although the WSU-30
requires a little practice before good tight
wraps are obtained.

- . ----------01_0

a a:.. ar,...<01 e K a a. ...

Photo 2b: The wiring


side of the wire wrap
prototype of the high
speed multiplier. The
Molex pins are bent over
for mechanical support.
All connections are wire
wrapped with the exception of capacitors in the
power supply and terminations to the Molex connec tor.

The Digital Cassette Storage System


with AUDIO CAPABILITY
Compatible with all S-100 bus microcomputer systems , alpha-1
is the ideal storage system for use in any application. Your alpha-1 may be
configured to utilize from one to four drives to provide limitless capabilities.
Alpha-1 is a highly economical approach to mass storage for your home computer,
your business system, or the classroom.
SEPARATE AUDIO RECORDING
This feature provides your system with
capabilities for:
Verbal student/computer interaction
Talking games
Audio burglar alarm
intelligent phone message system
SPEED AND CAPACITY
Stores over 500K bytes per C-60 side
Average access time for C-60 tape is 17
seconds.
Load SK in less than 11 seconds.
Data transfer rate at 6250 baud.

HARDWARE
Compatible with all popular S-100 bus
microcomputers.
Audio track under computer control.
Replaces ROM/PROM monitors.
Independent motion control and read/
write electronics.
2-button cold start capability.

Circle

220

on

SOFTWARE
MCOS Operating System handles variable
length named files, updates, packs and
copies with a single command. Includes
Editor, Assembler and Debugger . . .
all provided with alpha-1.
Extended BASIC (4.4) with MCOS for
array handling and concatenation.
PDS1-a sophisticated editor/assembler.
Dynamic Debugger provides program
display, execution control and monitoring.
Games

SYSTEM INCLUDES
Mecadrive, case, controller, power supply,
cabling, operating manual and software on
cassette. The natural wood enclosure
pictured here is optional.

FREE BUYERS GUIDE!


You don't have all the facts about tape and
disk systems until you have read our
BUYER'S GUIDE TO MASS STORAGE...
Free for the asking!
Available kit or assembled from dealers
nationwide. For the dealer nearest you,
write or phone:

ACR/Tarbell Load

inquiry

7026 O.W.S. Road , Yucca Valley , CA 92284


(714) 365-7686

card.

Mdr

1978

`:

BYTE

P. bli,uioi, 111

Table 2: A list of SwTPC 6800 computer system /0 bus pins and calculated
worst case loading of these pins by the circuit of figure 2. The worst case
loading is the current drawn when an input is in the logical 0 state. (The 0.5
A power supply loading into the regulator is not a logic signal, of course, and
the GND pins have no such specification applicable.)

Worst Cast
Zero Level Load

Pin

Signal

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

10 #
RESET
110b
150 b
300 b
600 b
1200 b
+8 unreg
+8 unreg
R/W
02
D7
D6
D5
D4

Pin

Signal

Worst Case
Zero Level Load

16
17
18
19
20
21
22
23
24
25
26
27
28
29
30

D3
D2
D1
DO
RS1
RSO
IRQ
NMI
INDEX
GND
GND
+12
-12
UD4
UD3

-0.42 mA
-1.16 mA
-1.16 mA
-1.16 mA
-1.80 mA
-1.18 mA
NC
NC
NC
GND
GND
NC
NC
NC
NC

-0.36 mA
-3.60 mA
NC
NC
NC
NC
NC
500 mA
-0.72 mA
-1.08 mA
-0.72 mA
-0.42 mA
--0.42 mA
-0.42 mA

Listing 1: Support software and test program for the hardware multiplier.
This listing gives the complete source code and assembly listing of a 6800
processor program which tests the operation of the multiplier circuit in a
SwTPC 6800 computer system. The operation of the hardware multiplier is
compared to an implementation of a version of Booth's algorithm for signed
two's complement multiplication. /0 operations are performed with Motorola
MIKBUG subroutines.
000C3

PROGRAM TLSTMP

00004
TO TEST A HARDWARE MULIIPLIFA
PURPOSE:
00005
00005 DESIGNED FOR THE SWTP M64CC SYSTEM
00007

USING A TRW MPY -8AJ TWCS CCMPLEMFNT


ASVCFRCNOUS PARALLFL MULTIPLIER.
030041
00009
00010

CESIUM:

00011

HAADWARL :

MANOT

SWASDEE

00012

SCFTWARE :

JACK

BRYANT

00013
0

00014

PARAMETERS:

00015

00016

FCR

SUORGUT

INC

BDCTHB:

00017
0001.

--

00019
00020

R
-CTHtR
CPERANC
P
-TWO
BYTE
PRODUCT.

00021
00022

CNF

FOR

OPERAND

HARDWARE

FOR

SOFTWARE

MULTIPLIER

MULTIPLIER:

FM -- FIRST OPERAND SIGN AND UPPER

0002,

7
BITS
CF
PRODUCT
00027
00028

00029 5M -- SECOND OPERAND LOWER 7 BITS


60030
U
STROBE
PRODUCT
AND
ZERO
-- CCNDIT ICN CODE: BIT 0: OVERFLOW
% XXXX%SFR WHERE 'a' * '"Bo'
F = STRIP SIGN FM .171 1-7: SIGN
SIGN SM AND UPPER 6 BITS
OF PRODUCT
ROUND
X = DON'T CARE

ORR

STRIP

00036
=
00037
00038
LAP
00039

-- NOT USED FUR LOWER 8 BITS


INPUT OF PRODUCT

00040
00041
0
USAGE:
00042
THIS PROGRAM ASSUMES THE FARCWARE

00043
MULTIPLIER IS CONFIGURED AT ADDRESS

00044
00045 SOOIC-SBOIF. WHICH 15 PORT 7 IN THE
FOR ANCTHER. CHANGE
00046
A
SNIP
6800
SYSTEM .
00047
FM
EGG
SMOIC
00048
TO
THE
DESIRED
ACTRESS.
00050 FAILURE DURING TEST AFSULTS IN THE
00051 EXECUTION CF A 551 INSTRUCTION.
AETURN ING CLNTROL TU MIKBUG
00052

00053

UPERATINU

00054
00055

OF

SYSTEM.

PARAMETERS
MEMORY

CURGENT
LAN

FXAMINE

BE
ANC

CHANGE

0)056

00057
00054
00059
C0060

112 NIJC 1978

OPERAND
ADDALSS
FIRST MULT. $0004
SECCND MOLT. 53005

CCNUITICN
$0006

BY1 E Publill000V ID,

VALUES

FOUND

USING

Listing 1 is a program which repeatedly


tests every function of the hardware multiplier with every possible combination of
operands and condition code against a software generated product. For each of eight
values of the condition code, all 65,536 different products are formed and compared.
This is a lot of logic and arithmetic, and we
sought a more efficient software multiply
method than program MPY8SO in listing 3
of the first part of this article. Such an algorithm was discovered in 1951 by Andrew
Booth; this was quickly coded up and tested.
(Surprise: in Booth's notation, the algorithm
fails on the expression m x r if r = -1, although it does evaluate -1 x r correctly. The
reason is that there is no two's complement
of -1. That is, this two's complement value
overflows and the algorithm gets started
incorrectly. The result is m x -1 = m, which
is only correct if m equals 0 or -1. Booth's
"proof" really shows only that m x r is
correct when r is regarded modulo 2; since
--1 and 1 are the same modulo 2, in some
sense the algorithm works. In any case, an
inelegant fix is to interchange m and r if
r = -1.)
Algorithm 1 shows what the test program
does, and algorithm 2 is (our modification
of) Booth's algorithm. The test program
rings the system bell (ASCII 07) every time
the condition code changes, with every
eighth bell ring being replaced by a print of
"OK." Each complete cycle takes a little
over 3 1 /2 minutes, with about 42 seconds
separating bell rings. (Booth's algorithm
is about twice as fast as MYP8SO, although
it is trickier. We get about 1560 tests per
second [most of this time is spent in
BOOTH 8] or about 641 ps per test.)
Bus Loading

00023
00024
INPUT
OUTPUT
00025
------

00031
00032
00033
00034
00035 5 =

How to Test It: Booth's Algorithm

THE

FUNCTION.

One point we have neglected is the


problem of how heavily we are loading the
system bus. In order to allow the seven
other slots to be full of 10 interfaces or
other loads , we indicate use of 74LS series
TTL. The worst case loading is shown
in table 2. The MPY-8AJ input loading
is less than 1 mA without input buffering.
Table 2 also gives SwTPC bus pin number identifications.

REFERENCE
Andrew D Booth, "A Signed Binary Multiplication
Technique," Quarterly Journal of Mechanics and
Applied Mathematics, volume 4 (1951), pages 236
to 240. Reprinted in Computer Design and
Development: Principal Papers, edited by Earl E
Swartzlander Jr, Hayden Book Company, Rochelle
Park NJ, 1976, pages 163 to 166.

Listing 1, continued:

00061

00062
00063
00064
00065
00066
00067
00068
C3069
00070
00071
00072
00073
00074
00075
00076
00077
00078
00079
00080
00081
00082
00083
00084
00085
00080

EACH CYCLE CF THE TEST TAKES ABOUT


FIVE MINUTES. THIRTY SECONDS. WITH
THE BELL RINGING EVERY 92 SECCNDS.

0000
0001
0002
0004
0005
0006
0007
0004
0000
0010

00094

SN
UAP
LFP
M
R
P

0001
7F COC6

OO1A
OOIC
001E
0021

87 8010
91 01

0015

00089 0017
00090
00091
00092
00093

OLTEEE
FM

E1C1
801C
801
801E
B01F
OCCI
0001
0002
0001
00 01

7F
7F
9E
87
9E
67
97
96

00087 0012
00088

SUCCFSS OF TEST IS INDICATED BY


PERIUUIC RINGING CF THE BELL AND
OUTPUT OF THE MESSAGE 'UK EVERY
CCMFLFTF CYCLING. TO STOP TFE TEST.
PRESS -RESET-.

COC4
0005
C6
801E
C4
BOIC
00
C5

JI
J2
CC
AGAIN
NERTCC
NEKTJI
N080J2

EGU

SE101
.801C
FMFI
FMF2
FMF3

Eau
EGO
EGO
ECU
AMA
RMB
443
RMB

I
I

CLM
CLR

CC
Jl
J2
CC
URP

L C A
STA
STA
LCA
STA
STA

I
VIA SWTP.
FIRST MOLT. FCR BOUTHB
SFCONU MULT.
PRODUCT.
RAW . FIRST FUL T.
RAW - SECOND MOLT.
CCNDITICN.

I
I
2
I

RIB
RMB

CLA
LEA
STA

MIKBUG OUTPUT SUBROUTINE


FORT 7

A
A
A
A
A
A
A
A

ENTRY:
BOOTHB

SET CCNDITICN CODE


OF HARDWARE.
STURE FIRST
MULTIPLICAND.
SAVE FOR BOOTHS.
SAME FGR

it
FM
M
J2
SM
R

ZERO MS PART
PRODUCT, SET
COUNTER TO B
YES

MULTIPLIER.
SAVE FCR BOOTHS.

SWITCH
M HIND R

NO

t
SET
SUBTRACT
R FROM MS

Algorithm 1: A test
program for the multiplier. An equivalent software multiply is used to
compare the hardware result. The software multiply, BOOTH8, is shown
in algorithm 2.

DECREMENT
COUNTER

FOR CC =
B TO S

ZERO

FOR
JI
=
I
B
TO
25S
7

SHIFT
PRODUCT
RIGHT

II
FOR------,
J2 = I
I
B TO 255

SHIFT
PRODUCT
RIGHT,
ZERO IN

I
TEST LS
BITS M
H.

SET CONDITION
CODE OF HRRDWRRE

IOR 00 EXIT

RDD R TO
PRODUCT

I
STORE OPERANDS
FOR BOOTHS:
R=J2, M=JI

SUBTRACT
R FORM
PRODUCT

STORE OPERRNDS
IN HRRDWRRE
MULTIPLIER

SHIFT M
RGHT

MRSK SIGN OF R
(M) IF BIT C6)
OF CC 15 SET

ENTRY
BEEP

CLERR

PRODUCT
t

Algorithm 2: BOOTH8, a faster 8 bit by 8


bit multiplication algorithm which replaces
listing 3 of part 1 of this article in order
to speed up tests of the multiplier circuit.
As in part 1 of this article, the author's
original flowchart representations which
were drawn with a computer controlled
plotter are reproduced here.

ENTRY:
MSGOK

RING PRINT
BELL OK 1
EXIT

EXIT

7CALL
MSGOK

May 1978 ( BYTE Publications Inc 113

Listing 1, continued:

00143
00144 OC75 86 801E CKI LCA A URP
00145 OC78 91 C2 COP A P
00146 007A 27 01 8E0 UK2
00147
0070
3F
5.1
00148
00149 007D 78 0003 CK2
A5L P41
RCL
P
00150 OC80 79 0002

00095 0023 96
Cb
LCA
A
CC
15 BIT 5 OF CC SET?
00096 0025 84 04 AND A MA
00097 0027 27 C6 BEG NUTS
00008 0029 9E C1 LEA A R YES.
00099 0028 84 IF AND A
. 17E MASK SIGN OF R.
00100 0020 97 01 51A A R
00101
.
CC 15 01T b CF CC SET?
00102 002F 9E CO NG 15 LCA A
00103
00104
00105
00106 0 1
00IC7

0031 84 02 ANC A 02
0033 27 C6 BED NOrb
0035 9E 00 LCA A M YES.
31 84 IF AND A 017E MASK SIGN
0039

97

CO

STA

OF

00151
00152
00153
00154
00155
00156

ERROR IN FORMING

OVERFLOW BIT.
(1018
4
00119
00120 004D 2C 88 NEXCC BRA NEXTCC BRIDGE FOR
00121 004E 20 OF NEXJ2 8*4 NEXTJ2 LONG JUMPS
00122 0051 20 EA NEXJI ERA NEXTJI FOR RELATIVE
00123 0053 20 E2 4GN BRA AGAIN BRANCHING.

ROUND?

00129 005C 27 OF BEG NUCARY


C0130 005E 9E 03 LOA A PFI yES. ADD 1
00131 0060 88 40 ADO A 0140 TC BIT 8 EF
00132 0062 97 03 504 A P81 P400UCT. WHICH
00133 0064 24 Cl 8CC NUCARY IS BIT I OF PFI
00134 0066 96 02 LEA A P
00135 0068 4C INC A
017E
00136 0069 84 7F ANU A
C2
51A
A
P
00137 0068 91
00138
00139 006D BE 801E NCC ARY LEA A LRP
COP A 041
00140 0070 91 03
CI
'FU
00341 0072 27
00142
0074
3F
SAI

r DR. DOBBS

TURN

CHECK

BIT O EACK OFF

LNP.

CKI
ERROR IN LRP.

INTERFACE AGE - BYTE - POPULAR ELECTRONICS - ROM - KILOSAUD WMI

PERIODICAL

COMPUTERISTS

MAKE FULL

MAGAZINES

---- 1977

INDEX OF PERSONAL COMPUTING ARTICLES


Letters from Readers * Book Reviews
Articles * Editorials -Indexed by Subject
1977 Jan -Dec 25 Magazines Indexed
1975-1976 15 Magazines Indexed
$ 5 each Postpaid Money Back Guarantee

E. BERG PUBLICATIONS
1360 SW 199th Ct; Aloha, OR. 97005

SEND FOR BROCHURE


L ELECTRONICS - RADIO ELECTRONICS - PERSONAL COMPUTING

5M

LOA A FM
CMP A P

CHECK FM.

BEG
S.1

ERROR IN FM.

HUMPJ2

INC J2
BNE NEXJ2

INCREMENT

J2.

INC J1
DNE NEXJI

INCREMENT

J1

LEA A CC
1 NC A
CMP A
. 8 INCREMENT
BEG MSG
STA A CC
859

BEEP

ERA

NEXCC

U5A MSGUK
BRA AGN

RING

CC.

BELL.

WRITE

'OK

MOTTO CI
BGUTH.5

- CREATIVE COMPUTING J

114 May 1978 0 BYTE Publications HOC Circle 31 on inquiry card.

ALL. CNLTHM.

PAN ARE TF F5:


--

MULTIPLICAND

--

MULTIPLIEN

--

_00U

CT

0 IN BIT 3
SIGN IN U1T 1
BITS 2-IS HELD PRODUCT.

00202
REST )) ICTICNSI
TOE INDEX REGISTER AND HOT),
ACCA ANC ACCB ARE DESTROYED.
REFERENCE:
ANDREW D. BCCT11. A SIGNED UINARY
MULTIPLICATION TECHNIQUE . UL ART. J.
MECH . APPL . MATH . 4(19511.236-240.
0004 IF 0002 BCOTHB

(0213 0007 CE COC8


00214 OOCA 07
00215 OOC8 3E
00216 000C DE CI
00217 OOCE CI EO
00218 0300 26 05
00219 GOD2 17
0022 0003 06 CO
00220 0 0005 97 00
00222 OOD7 9E CO NOTMI

USE OF

FOR

URP.

CUP A PFl CHECK SM.


BEG 0K3
S.1
EROUk
IN
SM.

OCEB BE E01C CK3

00191
00192
00193
00194
00195
00196
00197
00198
00199
00200
00201
00203
03204
00205
00206
00207
00208
00209
00210
00211
00212

ARTICLE INDEX
GUIDE

LEA

IN

SHIFT PRODUCT
LEFT.

00174
LOA A Y7
00175 OOAE BE C7 BEEP
00176 0080 BC E1D1
J5R ULTEEE
RTS
00177 0083 39
LCA A 'U
10178 0084 BE 4F MSGCK
J54 OUTEEE
00179 0006 BE EICI
LCA A .. K OUTPUT VIA MIKBUG.
00190 0089 Of 48
JSA UI.TEEL
00181 000 0 80 0101
LCA A A120
00182 008E Be 20
JSR ULTEEE
00183 OOCO BD E101
RTS
00164 0003 39
50000 TINr 000T10
30185

00187
0018tl PURPOSE: TU RE FFORM MULTLPLICATIDN OF
00169 TWO 8 IT TAUS CCMPLL MLN1 NLOEERS
GIVING A 14 HIT PLO`., SILO PRUUUCT.
00190

00124
00125 0055 8C 0004 NCO VFL J5R BOUT FIB FORM SOFTWARE PROD.
00126 0058 9E C6 LCA A CC
00127
00128 005A 84 CI A.U A RI

86 E010
91 03
27 01
3F

00157 008E 91 02
00159 OC90 27 C1
00159 0092 3E
00160
00161 0093 7C CCCS BUMPJ2
00162 0096 26 87
00163 0098 7C 0004
00164 0098 26 E4
00165 0090 96 C6 EUMPCC
00166 009F 4C
00167 OOAO 81 C8
JO168 00A2 27 C6
00169 00A4 97 Cb
OC170 0046 8C C6
00171 00A8 20 AJ
00172 00AA RC 08 MSG
00173 OOAC 2C AS

M.

00108
SEE IF 1804180.
4580
00109 0030 8E to 9C16 LOA A
00
IMP
A
M
00110 0030 91
80E
NOOVFL
00111 0030 2E 14
01
CMP
A
R
00112 0041 91
BNE NOOVFL
00113 0043 2E 10
LOA A URP CVERFLDW HERE.
00114 0005 tlE 401E
SEE IF 1SRP=Ml130 0000
CMP A 1100
00115 0048 81 CO
47
BEG
00M032
00116 0044 27
00117
004C
3F
SMI

OC83
OC86
OCB8
OCVA

CHECK OFF.
ERROR

LEFO PRODUCT MS
CLH P
LDX
08
PART . SET CCUNTER.
TEA SAVE PROCESSOR C')N1,ITION
P'_I A CODES ON STACK.
LCA 5 A
CMF

ONE

.180
NGTM1

TEA

RETHDO
OCR

HAS

AUG

M4 (-1 1.

1-1) . 9

0U

OUT

RK5.

LDA 0 INTERCHANGE 03 AND R.


5TA A
ECA A M GET STARTED WITH
TAP
BIT
9
ZENC.

00223 0009 06
00224
TOE PR UCLSSCR CCNOITICN CCUE REGISTER
00225
4
IS USED TO TEST WITS 6 AND 71 V IS
00226
0 1 1 6 . C IS BIT 7.
30227
30228
DCC SHIFT
00229 OODA 24 C5
CASE 10 = SLBTNACT.
LGA A P
00230 000C 96 02
SEA
C0231 OODE 10
5TA A P
00232 000E 97 C2
DEX
00233 OOEI 09 SHIFT
BEG FINISH LECREMENT COUNTER I. TEST.
00234 OOE2 27 IL
A5R
P
SHIFT PRODUCT RIGHT.
00235 OOE4 77 0002
HER
PFI
00236 OOE7 7E 0003
LDA A A
00237 00EA 9E CC
TAP
TEST MULTIPLIER.
00238 00EC 06
00239 00EU 24 07
tlCC XO
a,5 SHTM
00240 OOEF 29 OC
LCA A P
CASE 01 = ACO.
00241 00FI 96 C2
AEA
00242 OOF3 IE
BRA
STAG
00243 o0F4 20 CS
VVC
SHTM
00244 OOF6 28 CS X0
CASE 10 = SUBTRACT.
LCA A P
00245 00F8 96 02
SEA
00240 OOFA 10
STAG 5TA A P
00247 OOFB 97 C2
511FT MULTIPLIER RIGHT.
00248 OOFD 77 CCEO SHTM AS)) M
CFA SHIFT
00249 0100 20 OF
00250 0102 74 0002 FINISH LSR P HERE . PRODUCT IS
LEFT- JUSTIFIED . WITH LEAST SIGNIFICANT
00251
tlIT OF PFI UNDEFINED. FIX.
00252
00253
00254
00255
00256
00257
00258

0105
0108
0109
010A

7E C003
32
06
39

RC. PF1
PLC A RESTORE PROCESSOR
TAP CCNOITION CODE.
RTS
END

Workhorse or
Horseplay?

Software systems from TSC are designed for


tough business and industrial uses on the job
or just plain fun off the job. Whether you are
looking for a system to be used primarily in
a working situation or a system for the home,
look into TSC software.
Assembly Language Programs (Includes
Source Listings)

SL68-29 6800 Text Processing System"


SL68-24 6800 Text Editing System'
SL80-10 8080 Text Editing System
SL68-26 6800 Mnemonic Assembler'
SL68-19 6800 Micro BASIC Plus'
SL80-9 8080 Space Voyage
SL68-5 6800 Space Voyage"
SL68-27 6800 Disassembler
SL68-28 6800 Program Relocator

$32.00
$23.50
$28.50
$23.50
$15.95
$12.00
$12.00
$ 9.00
$ 8.00

$ 6.50
SL80-8 8080 Blackjack
'Kansas City Standard object code cassette
tape available for an additional $6.95.
Paper tapes available for some programs.
Send 25C for complete catalog.

Technical Systems
Consultants, Inc.
BOX 2574 W. Lafayette, Indiana 47906
317-423- 5465

Program-of-the-Month Club TM
One year membership for $2.00. Discounts
offered with no obligations.
To Order : Include 3% postage, $1.00 handling
on orders under $10.00, and Indiana
residents add 4% sales tax. Check your
dealer!

TSC Monthly Feature:


8080 Text Processing System
Over 50 commands in the Text Processor allow
formatting capabilities such as multiple spacing,
indenting, saving contiguous text, various forms
of justification, titling, page numbering and line
length control. Macros are supported for special
user-defined formatting commands allowing
footnotes, form letters, etc. There are even
number registers for variable storage, conditional commands, and terminal prompts.

The text file must be edited externally. The TSC


Text Editing System is recommended, as it and
the Text Processor give your computer the power
of the most complete text processing systems. The
complete assembler language source listing
is included.
SL80 - 11 8080 Text Processing System $32.00
With Paper Tape $41.00

Specialists in Software & Hardware for Industry & the Hobbyist


Circle 370 on inquiry card.

BYTE May 1978 115

mechanical problems involved with this


technique. Fortunately, the same effect can
be achieved by moving a mirror in front of
an oscilloscope screen and viewing the
reflection. This technique is illustrated in
figure 1. Here a vertical mirror is rotated in
front of the screen, causing the reflected
image to move in space. Related techniques
involving reflected displays are listed in the
references.
Once a rotating mirror is built, display
of a point in three dimensions becomes a
matter of timing and geometry. The vertical
mirror is the simplest to build. It is also easy
to compute the appropriate geometrical
transformations. This design does suffer
from a limited field of view, however: the
oscilloscope screen itself blocks the display
volume somewhat. This type of rotating
mirror may be built by mounting a metallic
or plastic mirror on the shaft of a motor
which can rotate at between 600 to 1200
rpm. A variable speed motor offers some
flexibility in the operation of the display.
Note: For reasons of safety, the reflecting
surface of the mirror should be made of
either metal or reflective plastic (such as
aluminized Mylar). DO NOT use a glass
mirror!

An alternate method of construction is


shown in photo 4. Here a mirror slanted at a
450 angle is mounted on the shaft of a
motor, which is connected to a Variac variable speed motor control. This mirror was
built under a National Institute of Health
grant. It was milled from a solid block of
6 inch (15 cm) diameter cylindrical aluminum stock. The back of the mirror has been
cut away for better dynamic balancing. The
Photo 4: The original rotating mirror, constructed from milled aluminum.

Continued from page 18

tional accuracy of 0.01 inches (0.025 cm) in


a volume of 3 by 3 by 6 inches (7.6 by 7.6
by 15.2 cm); yet the system uses only a
minimal interface to an inexpensive XY
oscilloscope display, and the program
(written here in MaxiBASIC) can run in as
little as 18 K bytes of memory.
A Spinning Mirror
Theoretically, a 3-D display could be
built by rapidly moving an oscilloscope
display backward and forward in space. At
any given moment, the display would be a
certain distance from the observer. Any
points displayed at this time would appear
to be at this depth. Of course, there are

116 May 1978 n BYTE Publications Inc

Photo 5: Close-up of the opto-coupler and


white timing mark (a piece of tape).

OSBORNE Gri ASSOCIATES, INC.


The World Leaders In Microprocessor Books
AN INTRODUCTION TO MICROCOMPUTERS

If you want information on microprocessors, begin with

Volume 0 - The Beginner's Book

the Osborne books .

VOLUME
RERE6 NE

If you know nothing about computers, then


this is the book for you. It introduces computer logic and terminology in language a

" "saoox beginner can understand. Computer soft-

PROGRAM BOOKS WRITTEN IN BASIC

ware, hardware and component parts are


described, and simple explanations are given
f or h ow th ey work . Text is su pp lemented
with creative illustrations and numerous
Mill photographs. Volume 0 prepares the novice
for Volume I.
#6001 (300 pages)

Payroll With Cost Accounting


Accounts Payable And Accounts
Receivable
General Ledger

Aim
)
s,

These books may be used independently, or


implemented together as a complete accounting system. Each contains program
listings, user' s manual and thorough documentation. Written in an extended version
of BASIC. ,...
#22002 (400 pages), #23002+, #24002 *

A , N TRODUCTION
!
MICROCOMPUTERS

.i

VOI E I

ensic coj recs

Volume I - Basic Concepts


This best selling text describes hardware
and programming concepts common to all
microprocessors. These concepts are ex-

plained clearly and thoroughly, beginning at


an elementary level. Worldwide, Volume I
has a greater yearly sales volume than any
other computer text.
#2001 (350 pages)

Some Common BASIC Programs


76 short practical programs, most of which
can be used on any microcomputer with any
version of BASIC. Complete with program
descriptions, listings, remarks and examp les.
#21002 (200 pages)

AN iNTR

TO

cTioN

MICROCOMPUTERS

VOLUME it

ME

r cn PROnucTS

ASSEMBLY LANGUAGE PROGRAMMING


8080A / 8085 Assembly Language Programming
6800 Assembly Language Programming

Volume II - Some Real Products


(revised June 1977)
Every common microprocessor and all support devices are described. Only data sheets
are copied from manufacturers. Major chip
slice products are also discussed.
#3001A (1250 pages)

PROGRAMMING FOR LOGIC DESIGN

These books describe how to program a


microcomputer using assembly language.
They discuss classical programming techniques, and contain simplified programming
examples relevant to today's microcomputer applications.
#31003, 32003 ( 400 pages each)

90a0PR

oRA MMI

8080 Programming For Logic Design


6800 Programming For Logic Design
Z80 Programming For Logic Design
These books describe the meeting ground
of programmers and logic designers; written
for both, they provide detailed examples to
illustrate effective usage of microprocessors
in traditional digital applications.
#4001, #5001, #7001 (300 pages each)

OSBORNE & ASSOCIATES , INC. P.O . Box 2036 DEPT . 18 Berk eley , California 94702 (415) 548-2805 9:00 a . m. - 5:00 p.m. PST
TWX 910- 366-7277

Price applies to orders received by June 30, 1978 .. PRICE


$ 7 . 50

6001 Volume 0-The Beginner ' s Book

3001A Volume II - Some Real Products (1977 edition)

15.00

4001 8080 Programming For Logic Design

7.50

5001 6800 Programming For Logic Design

7 .50

7001 Z80 Programming For Logic Design

7.50

31003 8080A/ B085 Assembl y Language Programming


32003 6800 Assembly Language Programming
21002 Some Common BASIC Programs

7.50

7.50
12.50

10 books or less. Shipping Charges


I have enclosed :
D money order

NAME

ADDRESS

CITY STATE ZIP PHONE


SHIPPING CHARGES Shipping charges for bulk orders to be arranged.

4th class no charge, allow 3 - 4 weeks within USA, not applicable to discounted orders)

$.50 per book . UPS (allow 10 days ) in the U.S.

$1. 50 per book , special rush shipment by air in the U.S.

All foreign orders, $3.00 per book, for air shipment

7.50

6-1/2%, SF Bay Area residents only TOTAL


6%, California residents outside SF Bay Area
Calif residents only)
Payment must be enclosed for orders of Sales Tax (

check

AMT

7.50

2001 Volume I - Basic Concepts

22002 Payroll With Cost Accounting

QTY

TOTAL AMOUNT OF PURCHASE

*These books are scheduled to be published during 1978 .


Please notify me when they are available :

Please send information on,


pricing, ordering, and titles

23002 Accounts Payable and Accounts Receivable available after 6/30/78


24002 General Ledger
initial dealer consignments
dealer and school discounts

Price increase scheduled for July 1, 1978

foreign distributors

F8

Circle 292 on inquiry card. BYTE May 1978 117

Figure 2: Spinning mirror opto-coupler interface. A reflective opto-coupler (photo 5) is used to synchronize the position of the
mirror with the program driving the display (photos 2b and 4). The circuit shown converts pulses from the opto-coupler to TTL
level signals. Note the use of a feedback resistor at IC1 to form a Schmitt trigger.
CABLE
TO MIRROR
ASSEMBLY

+5v

+5V

S
i.

180

13

r;i

1 2

I
I
L-----------J

+5V
8.2 K
MM

1.2K
2K

rC- ---------^
1 7400
I
4
j
2

61

SYNC

I
Q ENABLE

FTKO042
MOUNTED AS
IN PHOTO 5

mirror and motor are housed in a plywood


frame, with all interior surfaces except the
mirror face painted flat black to minimize
reflections from room lighting.
The display time of a point must be
coordinated with the angle of the mirror.
This is accomplished with a timing mark on
the side of the mirror, consisting of a small

36-PIN CONNECTOR PINS DATA


M
0
^
^
READY

+5V
24

20

19

17

18

0 I 2 3 4 5 6 7

piece of white tape which is viewed by a


reflective opto-coupler. The opto-coupler is
shown in photo 5. The unit consists of a
matched phototransistor and light emitting
diode (LED) mounted in a single package.
The direction of emission and detection is
away from the body of the package, so that
it can detect the passage of a reflective surface. This system uses a Fairchild Technology Kit FTKO042 coupler. The circuit for
converting the light levels to a TTL signal,
taken from the documentation supplied with
the kit, is shown in figure 2 and consists of a
driver transistor connected to the input of a
TTL gate. The output of the second inversion stage is connected through a resistor to
the input to add enough feedback to form a
Schmitt trigger.

IC16 74100
OUTPUT PORT 2,6,10...

23

Figure 3: Modification to the Digital Group /0 board. The Z-80 processor,


which forms the heart of the Digital Group computer, features a block output
instruction (OTIR) that can output 1 byte every 9 ps using the standard
2.5 MHz clock. This degree of speed is needed to output the data needed for
the 3-D display without using direct memory access circuitry. Adding the
data ready line (shown in grey) to 1C16 (Digital Group numbering) creates a
status signal to the mirror circuitry. This avoids the necessity of using output
bits from another port for this purpose, which would slow down the data
transfer rate. (The choice of port 2 for the output port is particular to the
authors' system.)
118 May 1978 BYTE Publications Inc

Timing and Display of Points


To obtain reasonable persistence in the
display, a refresh rate of at least ten frames
per second must be maintained. Although
this flicker is still observable, it does not
seem to be too objectionable. Since the 45
mirror we have been describing reflects the
oscilloscope screen during something less
than 1500 of its rotation, this means that
about 40 ms are available to put up all of the
display points. Also, since the screen image
is continually moving, an accuracy of about
35 ps must be maintained in the timing of
the display points to achieve a 0.5% accuracy
in the position of each displayed point in a
typical image. Obviously, it is necessary to

Let's Get Personal

inAnaheim

J une - , 1978
6 8

A rewarding personal experience is in store for you Don't miss the year's most exciting personal computJune 6 - 8 at the NCC '78 Personal Computing Festival... ing event. For more information , return the coupon or
the most comprehensive personal computing event ever call AFIPS at 201 /391-9810.

held. The Festival , a separate feature of the National


Computer Conference , will include approximately 30
program sessions, commercial exhibits of consumer
I Please keep me up-to-date on Festival plans and
computing products and services , plus a contest and activities.
exhibit of microprocessor systems and applications. All
My company is interested in exhibiting at the Festival.
Festival activities will take place in the Disneyland Hotel
Please send me information on the special NCC
Complex, just a few minutes from the Anaheim Con- Travel Service.
vention Center, site of this year's NCC.
Plan now to attend the big, new NCC '78 Personal Name
Computing Festival . The program will include special
paper, panel , and tutorial sessions on such topics as Company Division
speech synthesis and recognition , computerized music
systems, hardware and software design , computer Street
graphics, and small business systems . All papers will be
City State Zip
published in a softbound volume, Festival Digest '78,
Wl Ili-

I Will VG avalla Vlc Utal 1113

11

Festival exhibits will provide an extensive display of NCC 78


commercial otterings by organizations serving the per
sonal computing field. More than 100 companies, occupying over 175 booths, will display systems, components, terminals, software, kits, disc and tape cassettes, BYT
relevant publications, and related hobby items.
c/o AFIPS. 210 Summit Avenue
Rounding out the Festival will be a contest featuring
Montvale. N.J. 07645
microprocessor systems, devices, and applications
telephone : 201/391-9810
ranging from home-brew DOS and graphics terminals
to educational applications and computer games. Prizes
will be awarded for the
best exhibits.

Personal Co mputing

F e stival

Circle 276 on inquiry card.

BYTE May 1978 119

put up points as quickly as possible to achieve


a reasonable density and accuracy in the display. This eliminates standard video displays
for the display screen, since the display time
of an individual point cannot be controlled
to any better than 16 ms on a video display.
Instead, it is necessary to use an XY display
controlled by digital to analog converters
such as the "Beer Budget" graphics interface
described in the November 1976 BYTE,
page 26. Although any system with a randomly addressable XY display will work, it
is desirable to minimize the amount of time
required to display each point so that the
greatest possible number of points can be
displayed.

Power Connections
IC

Type

1
2
3
4
5
6
7

74100
74100
MC1408L8
74100
MC1408L8
7430
7476
7400

+5V

Gnd

24
24
13
24
13
14
5
14

7
7
2
7
2
7
13
7

ory access (DMA) circuit. However, the output from a standard Digital Group parallel
10 port consists of just the eight bits of data
with no provision for control lines to indicate
when the output byte is meant for the X
digital to analog converter and when it is
meant for the Y digital to analog converter.
Using one of the output bits of the port for
control would allow only seven bits of resolution, while using output bits from another
port for control would require additional 10
instructions and would slow down the transfer of data. In order to make use of the high
output rate of this instruction, the 10 board
was modified as shown in figure 3. The write
strobe signal for output port 2 was fed to an
uncommitted pin on the card to be used as a
data ready signal. This was used, along with
the port data, as input to a control circuit
for the digital to analog converters, as shown
in figure 4. The choice of port 2 for the output port is particular to our system. This
control circuit is based on the schematic of

The Z-80 processor in the Digital Group


system has a block output instruction
(OTI R) which can output a byte every 9 ps
with the standard 2.5 MHz clock rate. This
high transfer rate to a pair of 8 bit digital to
analog converters gives the lowest possible
transfer time without a special direct mem-

LSB
IDI

DO
3

DI

22

D2

21

D3
D4

ID
15

D6

D7

ID2 IQ2
ID3 IQ3
ID4 ICI 104

2D1 74100 201


10

D5

12

IQ1

2D2

2Q2

2D3

2Q3

2D4 CI C2 2Q4

19 22

19 10
20 9

A6
A5

IC2

II

74100

9 10

9 7

IB 15

18

17 16

V REF

A7

20 21
8

AS

17

MC1408LB

A4

-V REF

COMP
-V

12

12

R2
15 6800

A3

RI *
6800

+5V

A2
Al

Cl C2

10

IC3

14

16

TO
OSCILLOSCOPE
HORIZONTAL
INPUT

R3
3300

CI
IOpF
\I

3
O
VEE
TO
OSCILLOSCOPE
VERTICAL
INPUT

1C4

IC5

74100

MC 14 08 L8

8<V<-18

VEE

i>
6

IC6
7430

5
8
4

CLR IC7
7476

DATA
READY

12
3

61

CLK

L
J-1-

DI
7.1 V
500mW

IC8 7400

4 1

81

R7
330
1/2W

----------J
* NOTE: NOMINAL. DIFFERENT
VALUE MAY BE NECESSARY

Figure 4: XY oscilloscope display driver. Two digital to analog converters (1C3 and ICS) drive the oscilloscope horizontal and
vertical inputs by converting digital data from the computer's output port into voltages. Horizontal and vertical data bytes are
routed to their respective converters based on the status of flip flop lC7, which is controlled by the data ready line.
120 May 1978 '' BYTE Publications Inc

Everything you ve ever


wa d toknowabout
micro computers in

ONE completebook
for only "1U.95

Over 400 pages . Full 81/2" x 11" size.

The ultimate book


about microcomputers.
Written by experts
... SCELBI and BYTE. Over
400 pages. A collector's item,
featuring The Basics
from the first 16 issues of BYTE and SCELBI's
classic library of books. Your microcomputer
bookshelf is incomplete without this priceless edition.
you can't buy information
organized like this anywhere. This is the book
that everyone who is into microcomputers needs for reference,
for ideas, for clues to problem
solving. It is a truly authoritative text, featuring easy-to-read,
easy-to-understand articles by
more than 50 recognized professional authors, who know and
love microcomputers from the
ground up. Logical and complete, it features many glossaries, and is illuminated with
profuse illustrations and photographs.
The Scelbi / BYTE Primer is
divided into four logical sections, that take you from point
"0" through building and programming your own computer...
step-by-step-by-step.
What can you do with a microcomputer ? Checkbook balancing. Recipe converting and food
inventory. Heating and air conditioning control. Home and business security and management.
Playing the ponies. Analysis of
the stock market. Maintaining
massive data banks. Self-instruction. Toys and games. Small
business accounting and inventory. And lots, lots more.
Circle

316

on

How does a microcomputer do


it? Lots of "how to" theory. Introducing you to microcomputer
operation. 6800, 6502, Z80 CPU
chip capabilities. RAM and ROM
memories. Addressing methods.

TIE
SCEIII/EflI
I ImIR
Over 400 pages . Selected articles
from BYTE and SCELBI books.
Profusely illustrated. Many
photographs . $ 10.95 , plus 50
shipping and handling.

How to control peripherals.


Transmission of information to
and from computers. Magnetic
recording devices for bulk storage. Analog to digital conversion. How a computer can talk.
Other I/O techniques. And more.
Order your copy today!
SCELBI COMPUTER
CONSULTING IN C. BITS
Post Office Box 133 PP STN 70 Main Street
Dept . B Peterborough, NH
Milford, CT 06460 03458
1 800 25854 77
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 subject to change without
notice.

inquiry

card.

All about building a microcomputer system . Over 12 complete construction articles. Flipflops. LED devices. Recycling
used ICs. Modular construction.
Making your own p.c. boards.
Prototype board construction.
Make your own logic probes.
Construction plans for 6800 and
Z80 computers. Building plans
for I/Os - TV and CRT displays,
cassette interfaces, etc. Mathematics functions. ROM programmer. Plus much, much more.
How to program a microcomputer. Programming for the
beginner. Assembling programs
by hand. Monitoring programs.
Number conversions. Game of
Hexpawn. Design your own assembler. Lots more.
And that's only the beginning!
Others have spent millions acquiring the type of microcomputer information found within
the 400 pages of The Scelbi/
BYTE Primer. But, it costs you
only $10.95, plus 500 for postage
and handling, complete! You
know the quality of Scelbi and
BYTE. This is your assurance of
excellence throughout this MUST
text. Order your copy today! And,
get one for a friend!

BN

IL

Vl,^, 1978 121

displayed, the X and Y positions of the oscilloscope should be adjusted until the point is
just out of the display field. Alternatively,
the output from IC6 (see figure 4) could be
used to gate a Z axis (intensity modulation)
signal on the screen, but this is not convenient on many oscilloscopes.
Several small machine language routines
were written to provide support for BASIC
software (see listing 1). Level 1 Digital Group
MaxiBASIC provides several unused pages in
low memory for machine language routines.
The pages shown in these listings are particular to this level of MaxiBASIC. Linkage to
these routines is through the extended
BASIC function:
Photo 6: Prototype board
for the 3-D interface constructed on an Altair
(S-100) bus prototyping
card.

[ X1 1
(Y1]
[ X2]
[ Y21
(01
[ FF ]
[ X31
[ Y31

the "Beer Budget" graphic display, to which


we are indebted.
The data ready pulse is now used to toggle
a flip flop (IC7). A byte output when the
flip flop is high will go to a storage latch for
the X byte (IC1), while the succeeding output byte will be strobed into the Y storage
latch (IC4). At the same time as the Y value
is stored, the previous X byte is transferred
to another latch (IC2) for display. IC2 and
IC4 are both connected to 8 bit digital to
analog converters (ICs 3 and 5) which will
change their output values simultaneously. It
may be necessary to substitute slightly different values for the +VREF resistors (R1
and R4) to obtain a linear output from the
digital to analog converters.
A special condition of all 1s on the data
input lines is detected by a NAND gate (IC6)
and used to reset the XY flip flop to the Y
state. This insures that the next byte from
the output port will be the X byte of an XY
pair.
This interface circuit, along with the
opto-coupler interface, was wire wrapped on
an Altair (S-100) bus prototyping card seen
in photo 6. Only supply voltages were
brought onto the card through the Altair
(S-100) bus connector. Input and output
connections were made through a ribbon
cable connected to a dual inline package
(DIP) socket.

Software Control

Table 1: Structure of the


display table used to store
the locations of points to
be displayed on the oscilloscope screen . The points
are represented by successive X and Y values; empty
locations are represented
by hexadecimal (00, FF).
122 %1 ,, 197I

B) I i PubI<, non, b,c

The locations of points to be displayed


on the oscilloscope screen are stored in a
display table as shown in table 1. This table
consists of a series of XY pairs in successive
locations in memory. Unused locations in
the table are indicated by an XY coordinate
pair, hexadecimal (00,FF). The FF value
automatically sets the XY flip flop to the Y
state. These unused locations in the table are
all displayed at the same point in a corner of
the screen. To prevent this point from being

Y = CALL(A [,X] )
A is the 16 bit address of the machine routine. X is an optional 16 bit argument passed
to the called routine in the DE register pair.
The value of the function is contained in the
HL pair when the routine returns; in many
cases the routine will not return a computed
value and the returned value stored in Y will
be ignored by the programmer. Other registers need not be preserved.
The first routine, SYNC, is a synchronization routine that waits for a rising edge on
the input line from the opto-coupler. The
routine first waits for a zero level, then waits
for a one level. While waiting, the routine
increments register pair HL, which provides
a count of the number of cycles spent in the
wait loop. Since the routine returns only
after the transition from a zero to a one, two
successive calls to SYNC will return in HL
the number of wait loops in one complete
revolution of the mirror (the value in HL
from the first call is ignored since the position of the mirror when the routine is called
is unknown). The increment DE instruction
is added to the wait loops as a do nothing
instruction which will lengthen the loop
timing to 40 machine cycles. This is exactly
the number of cycles required to output an
XY pair with the OTIR instruction. The
returned value in HL thus gives the waiting
time in terms of the number of points which
can be displayed in the same amount of time.
A timing routine, TIME, consists of two
successive calls to SYNC.
The routine TSTORE sets up the parameters for clearing and displaying the display
buffer. In this case, this consists of storing
the number of 256 byte pages in the display
buffer, passed in DE, into storage location
N PAG E.
The next routine, DISP, displays the display buffer. The buffer address is passed in
DE. NPAGE, assumed to be set by a call to
TSTORE, controls the number of OTI R calls.

Register B will be zero at the beginning of


each OTIR instruction, indicating 256 bytes
to be transferred. Register E is loaded from
NPAGE to hold the total number of pages.
Register C contains the output port number.
Routine FILL uses the block transfer
instruction LDI R to rapidly clear the display
buffer. It is assumed that the number of
pages has been preset by a call to TSTORE,
and that the first two locations of the buffer
contain the desired byte pair to fill the table.
The address of the table is passed in DE
when FILL is called. This address is moved
to HL. Register DE is then incremented
twice. The LDIR instruction moves the contents of the location addressed by HL to the
location addressed by DE, increments HL
and DE, decrements BC, and continues if BC
is nonzero. Thus the first and second locations in the table will be transferred to the
third and fourth, which will in turn be transferred to the fifth and sixth, etc. Since for a
string of n words only n-2 moves are necessary, BC is set to two less than the number
of elements in the table.
Initialization Routines
Listing 2 gives a simple BASIC program
to put up a display. The first few lines of the
program are initialization statements, which
routines set up the display table and compute various parameters for the display construction. Normally, they will begin any
BASIC routine to drive the spinning mirror.
Many of the statements are specific to the
current revision of Digital Group MaxiBASIC, since they make use of knowledge of
the memory allocation used by the BASIC
interpreter.
Since it was desirable to be able to run
the program on a minimum Digital Group
MaxiBASIC system (18 K bytes), with MaxiBASIC extending up to 13 K, we used BASIC
arrays for the display buffer. Extra memory
would have permitted dedicated areas in
high memory addresses to be used with the
knowledge that BASIC would never extend
up to these areas. This would have permitted
cleaner code, but the more complicated code
required is a useful lesson in the incorporation of the internal data structures of an
operating system into the code of a higher
level language.
A string in MaxiBASIC consists of a series
of 1 byte elements. The maximum number
of elements is given by the DIM statement
for the string, but the actual length of the
string may vary dynamically as the program
executes, becoming any length from zero
elements (an "empty" string) to the maximum stated in the DIM statement. When the
DIM statement is executed, an empty string

Listing 1: Assembly language and machine language versions of five utility


programs called by the programs in listings 2 and 3. The latter two programs
create 3-D images in the rotating mirror (photo 4). SYNC is a synchronization
routine that examines the input from the opto-coupler and counts the number of wait loops in one complete revolution of the mirror. Routine TIME
consists of two successive calls to SYNC. This is necessary because SYNC
may count a partial revolution on the first call. TSTORE sets up the parameters for clearing and displaying the display buffer. DISP displays the
display buffer, and FILL uses the Z-80 block transfer function LDIR to
rapidly clear the display buffer.
SYNCHRONIZATION ROUTINE
WAIT FOR RISING EDGE FROM
OPTO ISOLATOR CONNECTED TO BIT ZERO
OF PORT 2

BOO 21
B03 23
B04 13
B05 DB
B07 CB
B09 C2
BOC 23
BOD 13
BOE DB
BIO CB
B12 CA
B15 C9

00

02
47
03

00

ORG
LD
INC
INC
IN
BIT
JP
INC
INC
IN
BIT
JP
RET

SYNC:
SL1:

OR
SL2:

02
47
OC

OB

OBOOH
HL,O
HL
DE
A,2
O,A
NZ,SL1
HL
DE
A,2
O,A
Z,SL2

INCREMENT TOTAL NUMBER OF CYCLES


WASTE SOME TIME
INPUT SYNCHRONIZATION BYTE
AND CHECK BIT 0
NOT ZERO, LOOP BACK
;DUPLICATE ABOVE CODE

BUT WAIT UNTIL BIT IS ONE

TIMING ROUTINE
GET TIME BETWEEN TWO SYNC MARKS

B20 CD
B23 CD
B26 C9

00
00

ORG OB20H
TIME, CALL SYNC
CALL SYNC
RET

OR
OB

STORAGE ROUTINE
STORE NUMBER OF PAGES IN DISPLAY BUFFER

B28 7B
B29 32
B2C C9
B2D 00

2D

ORG OB28H
TSTORE: LD A,E
LD (NPAGE),A
RET
NPAGE: DB 0

OB

DISPLAY ROUTINE
DISPLAY BUFFER USING BLOCK OUTPUT INSTRUCTION

B30 D5
B31 CD
B34 El
B35 OE
B37 06
B39 3A
B3C SF
B3D ED
B3F 1D
B40 20
B42 C9

OB30H
ORG
PUSH
DE
CALL SYNC
POP
HL
LD
C,2
LD
B,O
LD
A,(NPAGE)
E,A
LD
OTIR
E
DEC
JR
NZ,DLI
RET

DISP:
00

OB

02
00
2D

OB
DLI :

B3
FB

PUSH PAGE ADDRESS


WAIT FOR SYNC EDGE
POP ADDRESS
LOAD PORT ADDRESS
;LOAD COUNT (256)
LOAD PAGE COUNT
;OUTPUT ONE PAGE
DECREMENT NUMBER
RECYCLE IF NOT DONE

FILL ROUTINE
FILL ENTIRE DISPLAY BUFFER WITH CONTENTS OF FIRST TWO BYTES
NPAGE MUST BE SET BY A PREVIOUS CALL TO TSTORE

B49 6B
B4A 13
B4B 13
B4C 3A 2D
B4F 47
B50 05
BSI OE
FE
B53 ED BO
B55 C9

OB00 / 21
OB08 / 47
OB10 / CB
0B18 / 00
OB20 / CD
OB28 / 7B
OB30 / D5
OB38 / 00
OB40 / 20
OB48 / 62
OB50 / 05
READY

ORG
LD
LD
INC
INC
LD
LD
DEC
LD
LDIR
RET

FILL:

B48 62

00
C2
47
00
00
32
CD
3A
FB
6B
OE

00
03
CA
00
OB
2D
00
2D
C9
13
FE

23
OB
OC
00
CD
OB
OB
OB
00
13
ED

13
23
OB
00
00
C9
El
5F
00
3A
BO

DB 02
13 DB
C9 00
00 00
OB C9
00 00
OE 02
ED B3
00 00
2D OB
C9 00

OB48H
H,D
L,E
DE
DE
A,( NPAGE )
B,A
B
C,OFEH

MOVE PAGE ADDRESS


DESTINATION ADDRESS
IS TWO HIGHER
NUMBER OF PAGES TO MOVE
SUBTRACT TWO
FROM TOTAL NUMBER OF BYTES
FILL

CB
02
00
00
00
00
06
1D
00
47
00

May 1978 @ BYTE Publications Inc 123

Listing 2: A BASIC program (written in


MaxiBASIC) to create a 3-D "square spiral"
(see photo 1).
READY
LIST 10,330
10 A=26624-FREE(D)
20 DIM S8(5000)
30 N9=EXAM (A-3)
40 N1=N9*I28
50 S5 = CHRS ( 0)+CHRS(255)
60 FILL A-1,N9
70 D=CALL( I1*256+40,N9)
80 D=CALL(11*256+72,A)
90 REM
100 REM COMPUTE AND DISPLAY BORDER OF DISPLAY
110 DATA 1,0,0,1,-1,0,0,-1
120 S=8
130 X=0
140 Y=0
150 K=1
160 FOR N=1 TO 10
170 RESTORE
180 FOR E= I TO 4
190 READ XI,YI
200 FOR 51=1 TO 31
210 X=X+S*XI
220 Y=Y+S*YI
230 SS ( K,K)=CHRS(X)
240 SS ( K+I,K+I)=CHRS(Y)
250 K=K+2
260 NEXT SI
270 NEXT E
280 NEXT N
290 REM DISPLAY BUFFER BY REPEATED CALLS TO DISP
300 #"DONE"
310 D=CALL(II*256+48,A)
320 GOTO 310
330 END
READY

header byte
maximum length

- low order byte


- high order byte

current length

increasing
memory
addresses

- low order byte


- high order byte

data bytes of string


(if any)

maxi mum
lengt h of
stri ng

free space

Figure 5: Structure of a string in level 1 MaxiBASIC.


124 May 1978 H BYTE Publications Inc

is created at the first available location in


memory. The string is stored in memory as a
header byte, followed by two bytes giving
the maximum length of the string, two bytes
giving the current length of the string, and
finally the data bytes of the string itself.
This structure is shown in figure 5.
The MaxiBASIC function FREE(D)
returns the current amount of available
memory. This available memory is expanding
and contracting during the execution of the
program as memory for new variables are
allocated and scratch areas for intermediate
results are allocated and released. By experimentation, it was found that the statements
10 A=26624-FREE(D)
20 DIM S $(5000)
at the beginning of a program left A pointing
to the first data byte of the string S$, here
shown arbitrarily as 5000 elements long. The
number 26624 (26X1024) is the total number of memory bytes in our system.
The maximum available number of pages
is determined in line 30 of listing 2 by
examining the beginning of the string S$.
This is used to compute the maximum number of XY pairs in the buffer by noting that
128 pairs are in each page. Variable N1 holds
the result of this computation. The first two
locations in the string S$ are set to the
default values of a blank point by statement 50. The length of S$ is adjusted by the
FILL statement in line 60. Location NPAGE
in the assembly routine area is set to the
number of pages by statement 70. Routine
FILL is called in statement 80 to clear the
data bytes of S$ to an empty display buffer.
One of the easiest displays to set up is an
illumination of the borders of the display.
The remainder of the program in listing 2
fills successive locations in the display table
with the addresses of points around the
border of the oscilloscope screen. After the
table is filled, the program displays the buffer
with repeated calls to DISP.
A photograph of a typical display using
this routine is shown in photo 5. This display
shows, at the same time, the available display volume for a given configuration of the
mirror and screen , the number of points
available in the display buffer, and the
effects of various motor speeds and synchronization angles. It is a good way to experiment with the physical configuration of the
display before going on to more sophisticated
displays.
The illuminated edge display is converted

z
Y

by the spinning mirror into a true threedimensional display. Since the outside edge
of the screen is illuminated, the very edges
of the available display volume will be displayed. Manipulation of the relative positions
of the oscilloscope screen and the mirror will
show the possible display volumes in different orientations before you settle on a final
position. Different positions and angles for
the screen give display volumes of different
sizes and shapes.
Since the display buffer is full, the highest
possible point density is displayed. This
makes it possible to judge the best tradeoff
of flicker rate versus high point density at
various motor speeds.

OSCILLOSCOPE
FACE

APPARENT
LOCATION OF
OSCILLOSCOPE
IMAGE

Computation of Point Locations


Figure 6 shows the orientation of the 450
mirror with respect to the oscilloscope
screen . The mirror rotates about the Z axis
and the screen is perpendicular to the X axis.
Suppose we wish to display a point at a
certain location. It is then necessary to compute the location of a point on the display

Figure 6: Orientation of the diagonally sliced spinning mirror. The mirror is


rotated by an angle 0 about the Z axis; the screen is perpendicular to the X
axis. To compute a point at a certain location, it is necessary to compute the
location of a point on the display screen and a mirror angle which will create
a reflection at the desired location.

mKao
SYSTEMS
DEVELOPMENT

The MSDD-100 floppy disc system is a


modern , low cost , high performance data storage system for your S100 bus computer system.
A simple , well designed LSI controller board,
combined with the industry standard Shugart
SA-400 floppy drive gives you a very fast 80K
bytes per drive on line . At $499 . 00 kit ( you build
only the controller) or $599 . 00 ready to go, the
MSDD-100 is a great buy , and comes complete
with software . Two versions of MICROSOFT
BASIC and a complete DOS are available.

If you have wanted 80 x 24 video display power


for your S100 bus computer system , look no
further. The MSDV - 100 video display is a super
flexible , easy to use , memory addressed video
system that lets you : * underline any character "
make any character blink * invert field ` draw
continuous vertical & horizontal lines * have 9
levels of gray scale for graphs * scroll with ease
much more . The kit is $285 .00, or get it ready to
go for $385.00 . Great software support, of
course . Dealer/ OEM inquiries invited . To order,
or for more information, write to or call MSD,
inc., at:

2765 So. Colorado Blvd. Suite 110 Denver, CO 80222 (303) 758-7411
Circle

270

on

inquiry

card.

M,y

1978

BYTE Publi,,tion.ln, 125

f (8)

f(0) = -Xi sin20 + Yi sinO cosO


+ZicosO+Xd=O

E (ROOT)

4- F(ANOTHER ROOT)

FIRST GUESS FOR


LOCATION OF ROOT

Figure 7: The Newton-Raphson method for determining the roots of an


equation. One of the steps necessary in order to calculate the mirror angle for
a given point in the 3-D display is to find a particular root of the equation
f(O) = -Xi sin20 + Yi sinOcosO + Zi cosO + Xd = 0. One way to calculate the
desired root is to use the Newton-Raphson method: a first guess is made of
the location of the root (ie: where the function crosses the X axis); the guess
(point A) is obviously wrong, so the first derivative of the function is
calculated and then evaluated at the point guessed. This gives the slope of the
function at that point (point A). The process is repeated, but this time
following the slope line down to the X axis to determine the next guess
(point B). After a few iterations, the value converges rapidly to the root at
point E. Complications can occur if a second root of the function is possible,
as at point Fin this example, or if the slope is too flat, as at point D.

screen and a mirror angle which will create a


reflection at the desired location. Depending
on the location and size of the screen, of
course, there may not be a point that will
create the desired image point. For a given
image point (Xi, Yi, Zi), the equations for
the corresponding display point (Xd, Yd,
Zd) are:
Xd = Xi sin20 - Yi sinO cos0
- Zi cosO

(Eq 7)

Yd = -Xi sinO cosO + Yi cos20


- Zi sinO
Zd = -Xi cos0 - Yi sinO

(Eq 2)
(Eq 3)

Xi = Xd sin20 - Yd sinO cosO


- Zd cosO

(Eq 4)

Yi = -Xd sinO cosO + Yd cos20


- ZdsinO
Zi = -Xd cosO - Yd sinO

One method we can use to solve this


equation is known as Newton's method (also
known as the Newton-Raphson method). It
is frequently used to compute other mathematical functions such as square roots. Suppose we have an equation, like equation 7
above, which gives a value for any input
value of some number 0. We want to find a
value of 0 for which the computed function
is zero (called a root of the equation). Figure
7 shows a plot of a function we might be
testing. Suppose we start our search for the
solution by checking point A. The value of
the function here is too high, but we can use
it to make an educated guess about the next
point to try. This is done by computing the
slope of the function at point A and extending the slope down to the horizontal axis
(point B). This intersection point becomes
the location for the next guess. If the function is a straight line, this one computation
will give the right answer. If the curve is not
changing very much from a straight line, it
will still be a very close estimate. From this
new starting point, another guess may be
computed (point C). The process is repeated
until the answer is close enough to zero to
be satisfactory.
One potential problem with this method
is that an estimated point may be chosen for
which the slope is too flat (point D, for
example). This gives a new value that is
much too far away; in this case it is better
to move over slightly on the curve and try
the computation again. Another limitation
of the method is that only one zero value
will be found at a time, although there may
be more than one root of the equation
(point F in figure 7, for instance). In our
case, a mirror angle may be found which requires that the display point be off the face
of the oscilloscope screen even though there
is another angle that gives a usable display
point.
The slope of equation 7 at a given 0 is
computed by finding its first derivative:
f'(0) = -2Xi sinO cosO + Yi (2cos20-1)
-Zi sinO

(Eq 8)

(Eq5)
(Eq 6)

We know that the display point must lie


on the face of the screen, which is at a fixed
location on the X axis. This gives us an equation we can solve to find a mirror angle for
the display:
126 May 1978 J BYTE Publications Inc

(Eq 7)

and evaluating it for the given 0.


Once the slope is computed , a new value
for an estimate of the mirror angle is computed using the equation:
0n+1 = On - f (On)
n)

(Eq 9)

Listing 3 gives a complete BASIC program


to put up a three-dimensional line drawing.
The sample DATA statements at the end of
the program draw a small house with a tree,
shown in a stereo view in photo 3.
The initialization statements discussed
above are in lines 10 thru 90. A call to TIME
in line 140 returns the total number of display points in one revolution into variable
N2. The location and size of the screen is
then read into the variables X0, Y0, Y1, ZO,
and Z1.
The location of the point displayed when
both the X and Y digital to analog converters are set to zero is (X0, Y0, ZO), using the
orientation shown in figure 6. Note that in
this orientation, the X digital to analog converter moves points in the Y axis and the Y
digital to analog converter moves points in
the Z axis. The size of the screen is given by
variables Y1 and Z1, with the sign of these
variables indicating the direction in which
points move when the values to each digital
to analog converter increase. For the interface used in this demonstration, a 4 by 4
inch (10 by 10 cm) display is generated with
the zero point in the upper right corner; Y1
and Z1 are thus 4 and -4, respectively.

The next variable read, N3, is the angle in


degrees of the mirror when the timing mark
is sensed. This angle is converted to radians
in line 170. Line 190 then reads the location
of the origin of the plot into variables X(1),
X(2), and X(3). This is the location of the
point in three-dimensional space which will
be referred to as (0, 0, 0) during the plot. All
locations given in the plotting commands
which follow are given relative to this origin.
Being able to specify the location of the
beginning of the plot makes it easy to move
the display to different locations in space.
Choosing an origin for the plot can be
tricky, since the screen reflects into a curved
volume as the mirror rotates. Running the
border display program above can help give
an estimate of a good starting point. Another method is to use equations 4, 5, and 6
to compute the reflected position of the
center of the oscilloscope screen at several
different mirror angles, and to use these as
starting points for the display.
The remaining data statements are a series
of plot commands. These consist of an
integer command code, which may be followed by additional numbers.
The resolution code (-1) is followed by a
floating point number giving the spacing
between points when drawing lines . This is
stored in variable D2.

A plotting command code (1 or 2) is followed by the coordinates, in inches, of the


location of the end of the next line. If the

code is a 1, dots will be computed and displayed along a line from the coordinates of
the last command (stored in X6, Y6, and
Z6) to the coordinates in the present command (stored in X5, Y5, and Z5). The dots
will be spaced accordingly to the resolution
parameter D2. If the code is a 2, the current
location will be moved to the indicated
point, but no points will be drawn. This is
used to move to the start of a new line when
no connection is desired with the last line.
These commands are similar to motions with
the pen down or up on a conventional
plotter.

The end code (9999) indicates that all


the lines are drawn and that the completed
image may be displayed.

Listing 3: A BASIC program (written in MaxiBASIC) to create a 3-D house


(see photo 3).
PEA DY
LI ST
10 A=26624-FREE(R)
20 DIM 55(5000)
30 N9=EXAM(A-3)
40 NI=N9*128
50 S%=CHPE ( 0)+CHR$(255)
60 FILL A-I,N9
70 D=CALL( II*256+40,N9)
80 D=CALL(11*256+72,A)
90 PEM
100 REM DPAV PROGRAM 8/1/77
110 REM
I20 REM DRAS' A SERIES OF POINTS IN STPAIGHT LINES ON THE SPINNING
130 REM MIRRO R USING PLOTTER-LIKE COMMANDS
140 N2=CALL ( 1I*256+32)
150 PEM
160 READ X0,Y0,11,20,ZI,N3
170 N3=-N3 /l80*3.I4150
IRR RE" READ ORIGIN
190 READ X ( I), X(2),X(3)
200 PEM READ COMMAND
210 READ NO
220 IF N0 = 9999 THEN 460
230 IF NO =- I THEN 449
240 REM PLOTTING TO NEV POINT, READ IN COOPDINATES
250 READ X5,Y5,Z5
260 IF N0=2 THEN 420
270 IF N0<>1 THEN 500
280 REM DRAY FROM OLD TO NEV WITH SPACING OF D2
290 REM COMPUTE NUMBER OF ROINTS IN N5 AND SPACINGS IN X7, Y7, Z7
300 D=SORT( (X6-X5)'2 + (Y6-Y5)'2 + (76-75):2
310 N5=INT ( D/D2)+I
320 X7= ( X5-X6 )/ N5:V7 =( Y5-Y6 )/ N5: 77=(75-Z6)/N5
330 REM NOV PLOT EACH POINT
340 FOP J=1 TO N5

350 X6=X6+X7:Y6=Y6+Y7:"6=76+Z7
360 X9=X6 +X(l):V9=Y6+X(2):79=76+X(3)
370 GOSUB 680
380 REM STORE 'DINT IF CONVERGED
390 IF Z>0 THEN GOSUB 520
400 NEXT J
410 REM CHANGE LOCATION OF CURRENT POINT
420 X6=X5:Y6=Y5:Z6=75
430 GOTO 210
440 READ D2
450 GOTO 210
460 REM PUT UP DISPLAY
470 PRINT "DONE"
490 D =CALL( 11*256+48,A)
490 GOTO 490
500 'PINT " BAD PLOT COM!!MNL"
510 STOP
520 PEM LIST STORE ROUTINE
530 'EM X ANC " APE POINTS ON SCREEN ; . IS POSITION IN LIST
540 REM CHECK X ANC Y PI"HIN BOUNDS
550 IF X>254 0 V<7 THEN #- OFF SCALE: ";X:PET!rPN
560 IF Y>254 OR Y<0 THEN #"Y OFF SCALE:";Y:RETURN

Ma, 1978 `B', 1 E Vubli, ,tio,

Ins 127

Listing 3, continued:
570
580
590
600
610

PEM CHECK BYTE NUMBER 72 ( - 7+7) IN LIST.


REM IF POSITION NOT EMPTY, CHECK NEXT POSITION
72=2*INT(Z)
IF Z2>N1+NI THEN /"LIST POSN TOO BIG:";Z:RETURN
IF ASC(SS(Z2))=255 THEN 640

620 Z2=Z2+2:GOTO 600


630
640
650
660
670
680
690
700
710
720
730
740
750
760
770

REM OK POSITION FOUND. STORE


SS(Z2-1)=CHRS(X)
SS(Z2)=CHRE(Y)
#Z2
RETURN
REM CONVERSION ROUTINE FOR. POINTS X9, Y9, Z9
REM X0,YO,YI,ZO,ZI ARE ASSUMED TO BE INITIALIZED
REM X,Y,Z APE OUTPUT AS X AND Y ON SCREEN. 8 LIST POSN
REM INITIALIZE LIMITS AND STARTING VALUES
N9=20
T9=.01
F9=.3
J9=1
REM STARTING ANGLE (TB) WILL BE LAST VALUE COMPUTED TO
REM SPEED ITERATION

780 C8=COS(T8) : S8=5IN(T8)


790 REM COMPUTE FUNCTION WHICH IS TO GO TO ZERO
800 F=29*C8 + Y9*S8*CB - X9* S8*S8 + X0
810 REM TEST BELOW THRESHOLD
820 IF ABS(F)+'9 THEN 990
830 REM COMPUTE DERIVATIVE
840 D9=-Z9*S8 + Y9*(2*C8*C8-I) - X9*2*C8*S8
850 REM COMPUTE NEXT STEP WITH NEWTON'S METHOD
860 REM CHANGE BY STANDARD AMOUNT IF DERIVATIVE IS TOO SMALL
870 IF ABS(D9)<.005 THEN D9=.005
880 REM OR STEP WOULD BE TOO BIG
890 F=F/D9:IF ABS(F)-F9 THEN F=F9
900 T8=T8-F
910 REM CHECK TOO MANY ITERATIONS
920 J9=J9+1 : IF J9<=N9 THEN 780
930 0 "DIDNT CONVERGE FOR",X9,Y9.79
940 REM SET DIDN'T CONVERGE FLAG
950 Z=-1
960 RETURN
970 REM CONVERGED; CONVERT ANGLE TO LIST POSITION MOD N2
(N2 = LENGTH OF LIST)
980 REM
990 2=(N3-T8)*N2/(3.14*2)
1000 IF Z>0 THEN 1020
1010 Z=Z+N2:GOTO 1000
1020 IF Z<=N2 THEN 1040
1030 Z=Z-N2:GOTO 1000
1040 REM COMPUTE X AND Y POSITION ON SCREEN

1050
1060
1070
1080

REM NOTE THAT X ON SCREEN CORRESPONDS TO Y IN COORDINATE SPACE


REM AND Y TO Z
X=-X9*SR*C8+Y9*C8*C8-Z9*S8
Y=-X9*C8-Y9*S8

1090 REM CONVERT FROM LOCATION IN INCHES TO DAC OUTPUT VALUE


1100 X=250*(X-Y0)/YI
1110 Y=250*(Y-?0)/71
1120 RETURN
1130 REM ORIGIN AND SIZE OF CRT
11 40 DATA 4, -4,4. 5, - 4
1150 REM ANGLE OF MIRROR AT SYNC
1160 DATA -22
1170 REM RELATIVE ORIGIN OF PLOT
IIRO DATA -3,2.5,-5.5
1190 REM RESOLUTION OF PLOT
1200 DATA - I , . 1 5
1210 REM DRAWING OF HOUSE WITH TREE
1220 REM FRAME
1230 DATA 2,1,-1,1
1 , 1 , 1 . 0, 1 , 0, 1 , 0
1240 DATA 1,1-1.0,
1,0,-1,1, 1,1,-1,1
1250 DATA
1260 DATA 1,0, 1, 1, 2, 1, 1, 1
1270 DATA 1.1.1,0, 2,0, 1,0, 1,0,-1.0
1280 DATA 2,0,-1,0, l.1,-1.0
1290 REM ROOF
1300 DATA 2.0.-1,1,
1310 DATA 2,.5.-1.1.5, 1..5,1,1.5, 1.0.1.1
1320 2..5. 1. 1 . 5, I. I, I, 1
1330 REM DOOR
1340 DATA 2,.5,1.1.5.1,1.1.1
1350 DATA
1360 REM PATH
1370 DATA 2, . 4. - 1 . 0, l , . 4. -2. 0
1380 DATA 2..6.-2,0.1..6.-1.0
1390 REM TREE
1400 DATA 2,1,-1.5.0.1,1.-1.5,1.2
1410 DATA 2.1.-1.5,.2,1.1.4.-1.5..6
1420 DATA 2,1,-1.5..4.1,1.-1.15..65
1430 DATA 2.1.-1.5,.6.1..7,-1.5,.9
1440 DATA 2.1.-1.5..8,1,1.-1.75.1.05
1450 DATA 2,1,-1.5.1.1,1.2.-1.5.1.2
1460 DATA 9999
READY

128 MaY 1978

BYTE Publications Inc

These plot commands are decoded in


lines 210 thru 270. Lines 280 thru 450 then
compute the coordinates of the points to
be displayed . The total distance D between
the last point and the current one is computed in line 300. This is divided into an
integer number of steps, N5, of sizes X7, Y7,
and Z7. Then each of the N5 points is generated by calls to two subroutines which
store values in a digital to analog conversion
table corresponding to each point. Once all
points are computed, the coordinates of the
current location are stored as the previous
one (in X6, Y6 and Z6), and the next
command is extracted from the DATA
statements.
If the end command ( 9999 ) is detected,
lines 470 thru 490 are executed . These put
up the display by repeated calls to DISP.
Another way to generate the display is to
use the timing mark to generate an interrupt.
In this way the BASIC program may be
interrupted during the computation of the
display points, and the display buffer may
be viewed as it is being constructed. Mixed
results were obtained when using this
method with MaxiBASIC; some points
would be computed incorrectly if a mode 2
hardware interrupt were sensed in the middle of a computation. Another way to view
the display buffer as it is being built is to
occasionally put up a display for a few revolutions of the mirror.
Coordinate conversion is done in the subroutine in lines 680 to 1120. Variables X9,
Y9, and Z9 contain the coordinates of the
point to be converted. Variable N9 controls
the number of iterations of Newton's
method to be attempted until a given accuracy, T9, is reached. The angle of the mirror
used in each iteration , T8, is initially set to
the last value computed by the conversion
routine. Since, frequently, many points will
be plotted close together, this is a good first
estimate of the angle of the mirror. T8 will
be set to zero by MaxiBASIC the first time
this routine is entered.
During each iteration , the test function F
is computed (line 800). If this is below the
tolerance level (T9), the routine has converged and the display points can be computed. Otherwise, the slope D9 is computed
(line 840). This is used to compute the next
test point in lines 870 to 900.
Once the routine has converged, T8 is
converted to the appropriate position, Z, in
the display buffer. The values for the X and
Y digital to analog converters are then computed from the Y and Z coordinates, respectively, of the image point.

Finally, the computed values are stored

7
W

Steps for Cutting a 45 ' Angle Through a


Cardboard Tube
A = diameter of tube
B = circumference of tube
C = finished height of tube
1. Draw a circle the same size as the outside
diameter of the tube.
2. Divide the circle into 32 equal parts of 11%
each.
3. Draw a 45 angle above the circle.
4. Carry the points at the outside of the circle
straight up to the 45'angle.
5. Find the circumference of the circle, draw a
straight line, and divide it into 32 equal parts.
6. Carry lines from those divisions straight
upward.
7. Bring lines straight across from the inter-

sections at the 45' angle line and intersect


with the vertical lines.
8. Starting at the center line, mark points of
intersection.
9. Fill in between points of intersection.
10. Cut out pattern and wrap around tube,
lining up straight circumference side of
pattern with (cut) end of tube square.
11. Carefully trace curved line end of pattern
onto tube.
12. Remove pattern from tube and save for
making black paper cover for tube.
13. Cut along traced line on tube with an X-acto
(or similar) knife.
14. Tape large sheet of sandpaper to a table top
or other flat surface.
15. Sand end of tube until flat.
16. Tube is now ready for application of Mylar
mirror surface.

Figure 8: Construction of a template for


cutting a 45 angle in a cardboard tube to
make a rotating mirror. Details are described in the accompanying text. The
circled numbers refer to step numbers 1
thru 10.

in the display buffer in the subroutine from


lines 520 to 670. This routine checks that
the values for X, Y and Z are within bounds,
and stores them in the first empty location
in the display buffer after the desired
location.
Final Thoughts
We hope this article will encourage
readers to experiment with 3-D graphics.
The advantages of the technique are immediately apparent when it is demonstrated, and
the applications include such areas as computer aided design and architectural planning
as well as action games.

Constructing the Mirror


The spinning mirror used for the development of the three-dimensional graphics
described in this article was machined from
a solid block of aluminum. It was produced
under the auspices of a National Institute of
Health grant, and is obviously an impractical
solution to mirror construction for the personal computer experimenter.
We did, however, build an alternate, inexpensive, rotating mirror that is quite adequate for producing three-dimensional
images. It uses surplus parts available from
the dealers who advertise in this magazine.
The rotating mirror element is fabricated by
cutting a 45 angle through a short section
of cardboard mailing tube of between 3 and
5 inches (7 to 12 cm) in diameter. This angle
can be cut using the template shown in
figure 8. The piece of mailing tube should
be kept quite short. A piece of aluminized
Mylar film, available from some art supply
houses (or from Edmund Scientific Co,
300 Edscorp Bldg, Barrington N J 08007), is
cut slightly larger than the 45 angle end of
the tube. The Mylar is then stretched over
the end of the tube and taped to the tube's
side. This should be done by first stretching
the Mylar along the long axis of the 45 cut
and tacking down the Mylar with short
pieces of tape, then stretching the Mylar
across the short axis and taping that axis
down. Then work around the rest of the
edge, taping opposite sides, and using care
not to produce any wrinkles, until the entire
edge is taped down.
Any motor can be used to spin the mirror, as long as it is a type whose speed can be
controlled with a Variac or motor speed controller. A flywheel cut from plywood or

130 v

1978 Bt I h1nrr....,. 10,

REFERENCES
1. Simon, W, "A Three Dimensional Computer
Display, " Computer Graphics and Image Processing, volume 4, pages 396 thru 402, 1975.
2. Simon, W, " A Method of Producing a Threedimensional Cathode Ray Tube Display,"
Behavioral Research Methods and Instrumentation, volume 1, page 179, 1969.
3. Traul, A C, "A New 3-dimensional Display
Technique ," MITRE Report M68-4, 1968
(A D684252).
4. Rawson, E G, "3-D Computer Generated
Movies Using a Varifocal Mirror," Applied
Optics, volume 7, pages 1505 thru 1511, 1968.
5. Rawson, E G, "Vibrating Varifocal Mirror for
3-D Imaging, " Spectrum, volume 6, pages 37
thru 43, 1969,

aluminum and mounted to the motor shaft


is attached to the cardboard tube. If a mailing tube can be found with a removable end
cap, the cap can be mounted to the flywheel
plate and the tube can then simply be
slipped into the end cap.

The motor and Variac should be mounted


inside a sturdy enclosure. The motor shaft
should project up through a hole in the enclosure; the flywheel and tube are then
mounted to the shaft outside the enclosure.
Motor, flywheel and tube should be carefully centered and balanced. The template
for cutting the 45 angle through the tube
can also be used as a pattern for a piece of
black paper to be glued to the outside of the
tube. The motor enclosure should be painted
black to minimize reflections.
If the motor used has a shaft at both ends
of the motor housing, a black disk, 3 inches
(7 cm) or so in diameter, can be attached to
the shaft inside the enclosure. The reflective
opto-coupler described in the article can be
mounted to the inside of the enclosure in
close proximity to the edge of the disk. A
piece of white tape applied to the edge of
the disc will then trigger the opto-coupler
each time the motor makes a revolution. If
the motor only has a shaft at one end, the
opto-coupler will have to be mounted outside the enclosure, with the piece of white
tape fastened to the cardboard tube. Guard
against ambient light triggering the optocoupler if the latter method is used.
Light baffles and shields for the mirror
should be experimented with; caution
should be observed around the spinning mirror, as with any piece of moving machinery.
William Harris

Continued from page 22

set conversion: the ATV Research "PixeVerter," which uses the radio frequency
(RF) modulator method, and the Pickles
and Trout TVM-04, which uses the direct
video entry technique.
The RF modulator method has the
advantages of simplicity and generality.
The modulator circuit is easy to construct,
and no modifications to the TV set are
required. The circuit board can be mounted
inside your computer or other video source,
and any TV set can be used simply by
clipping two wires onto the antenna terminals. The disadvantages are that the
number of characters that can be displayed
across a line is limited, and that certain
precautions must be taken to avoid trouble
with the Federal Communications Commission.

When a video signal is used to modulate


a very high frequency RF signal which is
then fed through the receiver circuits of a
TV set, bandwidth limitations are encountered. The practical limit is about 3.5 MHz,
which is enough to display at most about
32 characters per line. Photo 1 shows the
kind of display you can expect when using
an RF modulator such as the Pixe-Verter.
The video source here is an Ohio Scientific
Instruments Model 440B video board, and
the television set is a Hitachi Model PA-8,
purchased new for about $90 from a
discount house in Boston MA.
When assembled, the Pixe-Verter legally
becomes what the FCC calls a "Class 1 TV
device." Since the device is actually a tiny
TV broadcast transmitter, the FCC doesn't
want you to broadcast signals which will
create interference on your neighbor's
TV sets. Actually, the device is so low
powered that in my experience interference
is scarcely noticeable on a TV set more than
a few feet away. The unit should be
enclosed in a metal box (a typical personal
computer cabinet is fine), and shielded cable
should be used to connect the unit to the
TV set. Photo 2 shows the Pixe-Verter
mounted in the space provided on the OSI
440B video board. The unit requires a -5 to
-6.5 V supply, but this can be obtained by
isolating the printed circuit board from the
video board and reversing the power connections from the computer's +5 V supply.

The simplicity of the RF modulator


method, as compared with the direct video
entry method, can be illustrated by compar-

Photo 3: This inside view of the Hitachi Model PA -8 television set shows how
the TVM-04 printed circuit board is mounted on the metal frame near the
power transformer.

Photo 4: The TVM-04 lines up with the back of the TV set's plastic cabinet,
giving access to a shielded cable connector for the video signal and a switch
for selecting either normal program viewing or the computer generated
display.
May 1978

BYTL Publiialions Inc 131

Photo 5: This view shows where modifications must be made to the underside of the Hitachi SX chassis printed circuit board. A
foil trace carrying the video signal is cut and routed through shielded wire to the external switch, and a small disk capacitor (at
top with spaghetti tubing on legs) is attached across a spark gap to improve the set 's response to abrupt black and white changes.
132

May 1978 ; BYTE Publications Inc

ing the instructions that come with the


Pixe-Verter (eight steps listed on one page)
with the instructions supplied with the
Pickles and Trout TVM-04 (51 very detailed
steps on six pages). The direct video entry
instructions also require you to drill holes
in metal and plastic, cut a printed circuit
board foil trace while being careful not to
scratch other foil traces a quarter of an inch
away, and remove a molded plastic boss
with a hot knife or other instrument. Moreover, when working inside the TV set
cabinet, there is some danger of accidental
breakage and implosion of the TV picture
tube! Direct video entry is not for the
person who has never soldered before. If
you are in this position, ask your friendly
local computer store to help you. But
the experienced hobbyist can put together
the Pickles and Trout kit without hazard
in about half a day, and the results are
well worth it.
I bought the Hitachi Model PA-8 TV set
with the intention of eventually converting
it to direct video entry, since the Pickles
and Trout TVM-04 is specifically designed
for use in sets with the Hitachi SX chassis
(Models P-03, P-04, P-05, P-08, P-53, P-63,
etc). The design of this set facilitates switching between normal program viewing
and direct video entry, and provides sufficient bandwidth to display as many as 96
characters on a line. The TVM-04 is
mounted on the TV set's metal frame
near the power transformer, as shown in
photo 3, and lines up with a flat area on
the set's plastic case to provide a professional looking external switch and shielded
cable connector (see photo 4). Shielded
wires are run to the point on the set's
printed circuit board where the foil was cut,
and a small capacitor is also soldered across
a spark gap to limit the overshoot and
ringing of the video amplifier when the
video signal abruptly changes from black
to white (see photo 5). For comparison,
photo 6 shows the same video source
as photo 1, using the same Hitachi TV set
as photo 1, but with the direct video entry
mode. As one would expect, the display
is much clearer, more legible and more
stable than the display obtained with the
Pixe-Verter. For what it's worth, the two
methods can be used together: I can view
either of two computer generated displays
at the flick of a switch!

One consideration that must be borne


in mind when using the TVM-04 is that the
modifications to the set void the manufacturer's warranty. Hence it pays to postpone making the modifications until you
have owned and operated the set for a
while and are sure that it is working pro-

Photo 6: The same display source as that of photo 1, produced on the same
TV set, but with the aid of the Pickles and Trout TVM-04. Note the sharpness
of this direct video display in contrast to the RFentry of photo 1.

Photo 7: To illustrate the wider field possible with the Pickles and Trout
direct video conversion, the 64 character display of a SOL-20 was used with
the converted television perched on top of the SOL. We made no attempt
to adjust the controls of the television set to remove the overscan condition evident in this photo of the Processor Technology LIFE demonstration program's output.
May 1978 0 BYTE Publications Inc 133

Our MacroFloppy
goes twice the distance.
For $695

Introducing the Micropolis MacroFloppy'M:1041 and :1042 disk drive subsystems. For the S-100/8080/Z-80 bus. Packing 100% more capacity into a
5%-inch floppy disk than anyone else. 143K bytes, to be exact. For as little
as $695.
The MacroFloppy:1041 comes with the Micropolis Mod I floppy packaged
inside a protective enclosure (without power supply). And includes an S-100
controller Interconnect cable. Micropolis BASIC User's Manual. A diskette containing Micropolis BASIC, and a compatible DOS with assembler and editor.
The .1041 is even designed to be used either on your desk top, or to be integrated right into your S-100 chassis.
The MacroFloppy 1042 comes with everything the :1041 has, and more.
Such as d.c regulators, its own line voltage power supply, and, to top it off,
a striking cover Making it look right at home just about anywhere.
Both MacroFloppy systems are fully assembled, tested, burned-in, and
tested again. For zero start-up pain, and long term reliability. They're also
backed up by our famous Micropolis factory warranty
And both systems are priced just right. $695 for the MacroFloppy:1041
and $795 for the MacroFloppy 1042.
You really couldn't ask for anything more.
At Micropolis, we have more bytes in store for you.
For a descriptive brochure, in the U.S. call or write Micropolis
Corporation, 7959 Deering Avenue, Canoga Park, California 91304. Phone
(213) 703-1121.
Or better yet, see your local dealer.

MICROPOLISTM
More bytes in store for you.

Circle 235 on inquiry card.

perly. After this initial "burn-in" period


you can be reasonably certain that the
set will continue to operate over the life
of the warranty, and the modifications

A note about the photographs: The


photos accompanying this article were
made in BYTE'S offices with ASA 400
speed 35 mm film in a Vivitar single
lens reflex camera with macrolens,
tripod, through-the-lens meter, and
delayed release shutter. The pictures
of the video displays were made with
1/75th second exposure time so that
an integer number of 1/30th second
television frames would be exposed.
The close-up pictures of the internal
and external details of the Hitachi
television conversion were made with
longer exposure times and room light
as illumination. In all cases, the delayed shutter release was used so that
any mechanical vibrations from
manual release would be damped out
over the 9 seconds or so delay possible
with this feature,

134 May 1978 BYTE Publications lnc

can be made. I took this precaution and it


paid off. I had trouble with the set during
the first week after I bought it, and had it
fixed under warranty by a local TV repairman. Some time later I installed the TVM-04
and have had no trouble with it since.
My experience has been that either the
RF modulator method or the direct video
entry technique can be used with good
results. If 32 characters on a line is sufficient, the Pixe-Verter is quite satisfactory.
If you want a more dense character display
and have some experience with electronics
assembly (or someone to help you), do not
hesitate to use the TVM-04. I hope this
article will help you to make an intelligent
choice.

The Pixe-Verter Model PXV-2A is


available for $8.50 postpaid from ATV
Research , 13th and Broadway , Dakota City
NB 68731 . The TVM- 04 is $20 from Pickles
and Trout, POB 1206, Goleta CA 93018.
Similar products for both the RF modulator
method and the direct video entry technique are available from Vamp Inc, POB
29315, Los Angeles CA 90029.

MetaFloppy goes
beyond.
The Micropolis MetaFloppy`M gives you more than four times the capacity of
anyone else's 5%-inch floppy Because it uses 77 tracks instead of the usual 35.
The field-proven MetaFloppy, with thousands of units delivered, comes
in a complete family of models. And, like our MacroFloppV11 family of disk
drives, MetaFloppy is designed for the 5-100/8080/Z-80 bus.
For maximum capacity, choose our new Meta Floppy: 1054 system Which
actually provides you with more than a million bytes of reliable on-line storage. For less money than you'd believe possible.
The Meta Floppy: 1054 comes complete with four drives in dual configuration A controller Power supply. Chassis. Enclosure. All cabling. A new BASIC
software package. And a DOS with assembler and editor. There's even a builtin Autoload ROM to eliminate tiresome button pushing.
If that's more storage than you need right now, try our
MetaFloppy: 1053, with 630,000 bytes on-line. Or our MetaFloppV:1043, with 315,000 bytes on-line. Either way, you can
expand to over a million bytes on-line in easy stages, when you
need to. Or want to
In other words, if your application keeps growing, we've got
you covered. With MetaFloppy
The system that goes beyond the floppy.
For a descriptive brochure, in the U.S. call or write Micropolis
Corporation, 7959 Deering Avenue, Canoga Park, California 91304.
Phone (213) 703-1121.
Or better yet, see your local dealer.

M
ICROPOLISTM
More bytes in store for you.
Continued from page 8

Atlantic ocean into northern New England.


The storm sat in place, and the snow came.
And came. And came. Before it was all
over, perhaps a full meter of new snow
had been deposited over much of southern
New Hampshire. Boston and the state of
Massachusetts rolled up their sidewalks
again and closed down with some 68 cm of
snowfall (a previous storm had set local
records two weeks earlier, only to be outdone by this new storm).
But the evaluation of such a storm
depends upon your point of view. For those
fortunate enough to be away from the raging
sea and power outages, it is an opportunity.
It provides a nice new carpet of snow so that
when I go skiing again next weekend the
slopes will take on a whole new character. It
provides me with the opportunity to spend
20 minutes and cross country ski to the
office today.
Yesterday, while the snow was falling and
our office was closed, it provided me (and
many another personal computer user) with
an absolutely superb excuse to stay home
with my computers. I spent a quiet day

Circle 236 on inquiry card.

working on the systems software for my new


disk drive. During the course of one snowy
day I vastly updated my documentation of
the systems software, created a new 1 K
EROM with low level disk drivers for interrupt driven block transfers between memory
and disk, implemented a primitive physical
10 operating system to use as a tool in
developing the final operating system for
my computer, and designed the details
of the file system for the new systems
software; all in one snowy day which is
now called "The Blizzard of '78."
A solitary day in my basement laboratory, isolated by blowing and drifted snow,
turned into an unexpected opportunity
to steal some time to work on my personal
creations. While the rest of the region
freaks out over excess snow, a computer
experimenter can certainly turn the time to
advantage until the storm has blown itself
away.
Of course the reality of the snowy day
returned at 6:00 this morning when I began
to dig out the driveway. But the process
of moving the snow is an opportunity: even
computer people need a bit of vigorous
exercise on occasion.
M1iar 1978 BYTL Nunr< afi-s i,, 135

41 GREAT LOCATIONS

ComputerLan

Lanceauss

d T11

NOW OPEN:

Forum

ALABAMA
Huntsville

Comments on PASCAL,
Learning How to Program,

and Small Systems


Gary A Ford , Assistant Professor
Dept of Mathematics
Arizona State University
Tempe AZ 85281

136 May 1978

BYTE Publications Inc

The editorial in the December 1977


BYTE asked if PASCAL is the next BASIC.
Implicit in this question is the suggestion
that personal computing needs a widely used
programming language. Ostensibly, this will
facilitate exchange of software, and thus
help eliminate the existing software vacuum
for personal computer systems. Should
PASCAL be the language used to begin to
fill this void? To answer this question, we
should look at the history of PASCAL to
see for what purposes it was developed.
Wirth states two principal goals for
PASCAL: "to make available a language
suitable to teach programming as a systematic discipline based on certain fundamental
concepts clearly and naturally reflected by
the language ," and "to develop implementations of this language which are both
reliable and efficient on presently available
computers" (emphasis added).
With regard to the first of these goals,
Wirth contends that "the language in which
the student is taught to express his ideas
profoundly influences his habits of thought
and invention." My experience shows that
this is a remarkably accurate statement. I
have taught computer science to university
undergraduates for several years, and recently taught several intermediate level courses
to students with a variety of programming
backgrounds. The students had all had two
or three quarters of formal computer science
courses at the same university during the
previous year, and all were familiar with the
same computers. However, some had learned
to program in BASIC, some in FORTRAN,
and some in a structured variant of
FORTRAN which included, among other
features, two varieties of if-then-else, five
varieties of iterative statements, two varieties

(205) 539-1200

CALIFORNIA
Dublin
El Cerrito
Hayward
Inglewood
Lawndale
Mission Viejo
Mountain View
San Diego
San Francisco
San Jose
San Mateo
Santa Rosa
Thousand Oaks
Tustin
Walnut Creek

( 415) 828-8090
( 415) 233-5010
( 415) 538-8080
( 213) 776-8080
(213) 371-7144
(714) 770-0131
Call Information
( 714) 560-9912
( 415) 546-1592
Call Information
( 415) 572-8080
Call Information
( 805) 495-3554
( 714) 544-0542
( 415) 935-6502

COLORADO
Denver

(303) 759-4685

CONNECTICUT
Fairfield

(203) 374-2227

DELAWARE
Newark

(302) 738-9656

GEORGIA
Atlanta

(404) 953-0406

ILLINOIS
Arlington Heights
Niles
Oak Lawn

( 312) 255-6488
(312 ) 967-1714
( 312) 422-8080

KENTUCKY
Louisville

(502) 425-8308

MARYLAND
Rockville

(301) 948-7676

MICHIGAN
Kentwood
Southfield

( 616) 942-2931
( 313) 356-8111

NEW HAMPSHIRE
Nashua

(603) 889-5238

NEW JERSEY
Cherry Hill
Morristown

Call Information
(201) 539-4077

NEW YORK
Buffalo
Ithaca

(716) 836-6511
( 607) 277-4888

OHIO
Cleveland

(216) 461-1200

OREGON
Portland

(503) 620-6170

TEXAS
Austin
Houston

(512) 452-5701
( 713) 977-0909

WASHINGTON
Bellevue
Federal Way
Tacoma

( 206) 746-2070
(206) 838-9363
Call Information

WASHINGTON, D.C.

Call Information

INTERNATIONAL
Sydney , NSW Australia

29-3753

FRANCHISE OPPORTUNITIES AVAILABLE


CALL ED FABER ( 415) 895-9363

Circle 75 on inquiry card.

The Best Game in Town.

Rated

And if your system breaks down,


our in-store service department
will get you back up and
running.

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

Right now!
Great Selection.

Each ComputerLand store


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

Your first stop at ComputerLand


may well be your last stop.
ComputerLand offers the finest
quality and

Take our Game 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 Star Trek. Create an electronic work of art with a computer controlled TV. Test
your skill in a game of computerized hangman.

You can even plot your biorhythm.


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

largest selecF tion of all the


major brand names.

Like Apple Computer,


Cromemco, DEC, Diablo,
Hazeltine , ICOM, IMSAI, Lear Siegler,
National Semiconductor, North Star, Texas
Instruments, Vector Graphics and more.
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.
Circle 75 on inquiry card.

Plus a complete inventory of tools, books and accessories.


What's more, at ComputerLand, we deal in product, Not
promises. Our inventory is on our own shelves. Rather than the
manufacturer's. So you can take delivery on tomorrow's components today.
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.

OompulorLcind'
14400 Catalina St., San Leandro, CA 94577 (415) 895-9363
BYTE May 1978 137

of multiple branch structures, and a simple


but powerful procedure facility. The structured FORTRAN programmers proved to be
significantly better performers in the intermediate level courses in all ways. They were
much quicker to understand new algorithms,
new data structures, and new applications.
They were superior in applying this knowledge to new problems, which can, in part,
be attributed to the fact that they were not
thinking in the narrow terms required in
BASIC and FORTRAN. They wrote better
programs in assembly language, perhaps
again because they could think in structured
programming terms. They also, not unexpectedly, learned PASCAL (which was
taught in conjunction with a data structures course) much faster than the other

students. In fact, some of the BASIC and


FORTRAN programmers never did make
the transition to PASCAL; they wrote
PASCAL programs that looked like line by
line translations of BASIC and FORTRAN
programs. An informal follow-up of some
of these students in more advanced courses
showed that the BASIC and FORTRAN
group continued to lag behind, especially
in courses in analysis of algorithms and
design of large systems.
Of course, this was not a controlled
experiment, so the conclusions cannot be
supported scientifically. However, I believe
it is true that since so much of computer
science involves abilities to analyze, to organize, and to plan, the thinking process
taught in a first programming course, which

Your MicroComputer
can be a Money-Making
Machine With SOFTWARE
from SYNCHRO-SOUND
Here are two Software packages that enable you to profitably make
full use of the potential in your small computer system : SynchroSound ' s interactive business systems designed for use on an 8080or Z80- based microcomputer with floppy disks and a hard-copy
printer. Written in Microsoft Basic ( known as Altair Basic* ), the software supports file maintenance , query and reporting functions. This
support includes creation , modification and deletion of customer
records and processing of transactions to be posted against the
files.

ACCOUNTS RECEIVABLE PACKAGE

INVENTORY PACKAGE

The A/R module creates a history file of charges, credit and payment records for audit purposes. Payments can be applied to a
particular invoice, or to the oldest open items. Batch Mode for
monthly statements, aged receivables schedule, and delinquency notice as well as on-line inquiry mode for specific information are both fully implemented.

The inventory system maintains a current listing of stock items


featuring on-line transaction processing. Reporting functions
include a master inventory listing with price and cost data,
reorder alerts, vendor specification, and summary valuations.
Year-to-date usage records are kept for each inventory item to
facilitate sales analysis.

Operators Manual & Disk-Single Copy $ 500.00

Operators Manual & Disk -Single Copy

$500.00

Operators Manual only- $ 35.00 refundable upon purchase of Software Package.

Microsoft Disk Basic-Single Copy $ 350.00

WRITE OR CALL
FOR FURTHER
INFORMATION

SYNCHRO -SOUND Enterprises, Inc.


193-25 Jamaica Avenue
Jamaica , New York 11423
212/468-7067 TWX 710- 582-5886

Full Software-Hardware
Systems are now
available and additional
Software Packages will
be available in the
near future
'Altair is a trademark of MITS, Inc.

138 May 19780

BYTE

Publications

Hours 9-4 Daily Working Systems


and Saturday on display
Dept. BS BankAmericard/Master Charge

Inc

Circle

355

on

inquiry

card.

SYNCHRONSOUND
ENTERPRISES, INC.
Everything you need in small computer systems!
LEAR SIEGLER ADM 3A TERMINAL VI%M CENTRONICS 779 PRINTER

Kit $759.95 f7^^ $ 1099.00


Assembled
$854.95
703
SERIAL PRINTER

ADM 1A TERMINAL
Assembled

$2395.00

$1529.00

761 PRINTER

ADM 2 TERMINAL
Assembled

$1995.00

KSR Keyboard

$1695.00

OKIDATA MODEL 110 LINE PRINTER

HAZELTINE 1500
VIDEO TERMINAL

Friction Feed

$ 1149.00

Assembled
Kit also available

MODULAR 1
INTELLIGENT
TERMINAL
Assembled

$ 1659.00

IMSAI 8080 MICROCOMPUTER

MODEL 22 LINE PRINTER


Tractor Feed

With 22 slot

$649.95

$2249.00

TELETYPE MODEL
43 PRINTER

$1299.00

SPECIAL BUYS
IMSAI Double Density Persci Drive ......... $2295.00
Sorac 10 120 Video Terminal .............. 959.00
DIGITAL Systems Dual Density Floppy ...... 2745.00

Compucolor 8001 Color Computer......... 2595.00


ICOM Microf loppy System ............... 989.00
North Star Microfloppy Disk Kit ........... 599.00
Cromemco Z-2 Kit .......................
565.25
Javelin 9" Video Monitor ................. 159.95
Micropolis Model 1053MOD 2 .............. 1799.00
IMSAI AP44-44 Col. Printer Kit ............. 329.00
TDL Xitan Alpha 1 Computer Kit ........... 699.00
ICOM Model FD 3712 .................... 2795.00

We carry a full line of the following: TDL,


Centronics, Seals, Hazeltine, Micropolis,
Hayden, IMSAI, Cromemco,
Compucolor, Icom, Lear Siegler, 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.

IMSAI PC S80/15 8085


COMPUTER
Kit

$749.00
Assembled

$929.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
Dept. BBB BankAmericard Master Charge

Circle 355 on inquiry card. BYTE May 1978 139

POWERFUL DISK BASED SOFTWARE


for NORTH STAR DISK and
HORIZON COMPUTER USERS!
--

R* #I li,
7-. 111=11
^ I

SYSTEM Z Development Software


Requires 1 North Star Disk Drive
and 12K RAM

ASMB Z80 Disk Based Assembler for rapid


development of moderately sized assembly
language programs. Requires 8.5K of
memory. Price: $60
DASMZ A Disk Based Assembler for development of large assembly language programs.
Requires 6K of memory. Price: $60.
ZEDIT A powerful text editor with full
text manipulation operations . Requires
1.5K of memory . Price: $60.
ZEBUG A Debug Monitor / Disassernbler that
translates object code into instruction menmonies . Requires 3.5K memory . Price $60.
BUSINESS PACKAGE
General Ledger $60
Accounts Payable $60
Accounts Receivable $60
Payroll $60
Inventory $60
Amortization $35
Mailing List $60
Purchase complete Business Package for $395
Dealer inquiries are invited.

Write or call for full Software Package details:

Suns hine C omputer


Co mpa ny
20710 S. LEAPWOOD AVE., CARSON, CA 90746
(213) 327-2118
140 May 19780 BYTE Publications Inc Circle 352 on inquiry card.

in turn depends on the language used, has an


enormous impact on the development of
computer scientists.
Thus, PASCAL sounds like a good language for beginners (ie: many of today's
computer hobbyists). There are other
reasons for supporting the spread of
PASCAL, including, for example, its outstanding data structuring facilities. Some
problems are easily stated and solved in
terms of such structures as sets, lists,
sequences, trees, or groups of disparate
items. PASCAL allows the programmer
to define and to deal directly with such
structures, whereas BASIC and FORTRAN
force the programmer to disguise these
structures as arrays. Of course, obscuring
the original ideas often leads to obscure
program logic.
With regard to Wirth's second goal
for PASCAL, we suddenly have a problem.
The personal computer systems of today
are quite different from the "presently
available computers" Wirth had in mind
ten years ago. Therefore, some language
features that are desirable for present
personal computer systems are absent
from PASCAL. Perhaps the most important
of these features are in the category of
access to peripheral devices and processor
hardware facilities.
PASCAL has only two primitive 10
operations: get and put. Each moves a single
unit of data (character, integer, record, etc)
from or to a sequential file. Files are not
necessarily associated with or stored on
secondary storage devices, although two
special predefined files (named input and
output) are available for those files associated with devices that will also be accessed
by humans. There are in addition two predefined procedures (named read and write)
that perform data transmission from or to
files in particularly useful ways, but it is
important to emphasize that these are
procedures (subprograms) and not statements or operations in the language.
The peripheral devices of personal computer systems are extremely varied, and very
few system configurations are exactly alike.
Therefore, each user will need somewhat
different 10 capabilities in the language.
Many users have an on line terminal, access
to which requires the ability to access
specific absolute addresses in memory or
specific port addresses. Users with disks
will need direct access file capabilities.
Others may want the ability to process
interrupts for real time applications. None
of these capabilities exist in PASCAL, and
none can easily be implemented as a disguised sequential file.

Circle 74 on inquiry card.

befit language

SOFTWARE

The obvious conclusion is that if a push


for PASCAL as the language of personal
computing is made, there will be a variety
of nonstandard implementations. This is
exactly what we have seen with BASIC.
Each individual implementor will add her
own versions of her own favorite bells and
whistles. We may expect numerous methods
of specifying absolute memory addresses
(peeks and pokes), direct access disk file
statements, and all kinds of facilities to
handle the exotic peripherals being attached
to personal systems. In addition, implementors will want to add their own favorite
data type (for example, PASCAL does not
have a built-in string data type), and their
own favorite operator (for example,
PASCAL does not have an exponentiation
operator). Next, seeing the size of the
resulting compiler, implementors will begin
to delete their least favorite standard features (often meaning the ones they least
understand), in order to come up with a 4 K
version of "eensyweensyPASCAL."
One approach to preventing some of the
problems just mentioned is to get all of us
hobbyists together to agree (is this possible?)
on a standard set of additions and deletions,

Tired of nagging non-users asking what that machine can


do besides counting from 1 to 1000 and playing games can't get no respect??
We are developing programs that are useful to you and will
involve your family with your computer. Our first set of
programs are finished and tested to run in 3k (useable
memory) using these verbs: ABS DATA DEFFN DIM FN
FOR-NEXT GOSUB RND GOTO INPUT PRINT READ IFTHEN RETURN
These programs (25 in all) are tutorial, using you or your
child's name . It gives several tries, and displays helping information, if necessary.
Most Importantly , it continually adjusts to the operator's
skill so people from I st grade to college will be challenged.
Math I Includes 7 programs for addition, subtraction,
multiplication and division of whole numbers
and same with intergers
Math 2 Includes 9 programs for addition, subtraction,
multiplication and division of decimals and same
with fractions. Also area and volume.
Math 3 Includes 9 programs in three areas, algebra,
percentage, and metric conversions.
Each set includes source listings, documentation and costs
$9.95 per set of 7-9 programs with money back guarantee.
Where else can you buy extremely useful and educational
programs for about $ I each. All three sets will be $24.95
during May and will also include 5 free financial programs.
Send personal check or money order to:

CONTRACTORS' MANAGEMENT
SYSTEMS, INC.
P.O. Box 212, Chantilly, Va. 22021

P.E.T. users may add $8 fora tape See other ad

or perhaps a few standard sets in order to


develop 8 K , 12 K, 16 K, etc, versions. The
traumatization of the language could be
minimized by requiring that all the new
features be implemented as procedures,
rather than as new statement types, thus
maintaining the syntactic integrity of the
language. Of course, this would require a
capability to link external procedures to
each PASCAL program, and none of these
procedures could be written in PASCAL.
This means either that all users will need
to know another programming language,
or that the implementors of the new
varieties of PASCAL will have to supply
customized procedures for each customer.
There is a fundamental flaw in this
approach , however . PASCAL was not intended to be all things to all people. It was
designed with specific, well thought out,
predefined goals. All aspects of the language
were designed to complement each other
in attaining those goals . Any deletion from
the language , however minor it seems, will
upset this balance, and thus damage
PASCAL 's ability to achieve its goals. Deletions and additions will also change the
character of the language , and it is this
overall character of PASCAL that has
brought it so many devotees.

First, see our other ad to give you an idea of where


our company is going and then we will meet back here ...
See ya ....
Glad to see you back again. We have developed two other
packages that run exclusively on the .. 4K .. PET. The
first one relies very heavily on the excellent graphic capabilities of the PET. Graphic (1) has 3 graphic games on
tape.
1. 3-D Tic-tac-toe Display boards in 3D
P VS. P. p VS. C. C VS. C
2. Space Wars Real time graphics with
moving targets
3. Tank Battle Exploding mines and a lot of
obstacles
All Three $ 14.95

WANT TO LEARN BASIC LANGUAGE


Interactively with your PET? Our first tape (Basic-I) is
ready now. Two other tapes will follow and will be ready
when you finish Basic- 1.
1. Basic-1 Tape I Fundamentals of
Basic
2. Basic-2 Tape 2 Advance Programming
3. Basic-3 Tape 3 Graphics and files
Basic-] $19.95
There is already another company that has tutorial basic
on one tape; we are offering three tapes.

SEND IN YOUR NAME AND DESCRIPTION OF


YOUR COMPUTER AND RECEIVE 5 FREE
FINANCIAL PROGRAMS

CONTRACTORS' MANAGEMENT
SYSTEMS, INC.
P.O. Box 212 , Chantilly, Va. 22021

Circle

74

on

inquiry

card.

May

1978BYTE Publications Inc 141

Circle 71 on inquiry card.

DELIVERY FROM STOCK


TO 30 DAYS

r' Advanced 8K Model


-only $795
No computer know - how needed ! Uses extended "BASIC"
-the sensible computer language . Self-contained with its
own 9" video display. Built-in keyboard with 128 alphanumeric and graphic characters . Built-in cassette tape recorder.
Complete with 14K operating system and 8K memory built-in
(expandable to 32K).

-Coming SoonBUSINESS SYSTEMS FOR PET


System includes PET Model 8K Computer , second Tape Drive,
and an 80 column , 120 cps impact printer - about $1500.
Available software includes : ACCOUNTS RECEIVABLE,
INVENTORY CONTROL, ACCOUNTS PAYABLE, CASH
RECEIPTS AND DISBURSEMENTS , and GENERAL LEDGER.
Other software programs include : Checkbook ($ 15.95),
Mortgage ($15.95), Startrek ($ 9.95), Annual Report Analyzer
($22.95), Options Analysis ($ 24.95), Finance ($ 12.95), and
many more!
Send $795 ( plus $10 shipping) for PET model 8K. PET
Printers and second tape Drives also available . NYS Residents
please add Sales Tax. Master Charge and VISA accepted.

THE COrVIPIUTER FACTORY


790 Madison Ave. (cor . 67th St.)
New York , NY 10021 212-PET-2001
Open 10-6 pm Tuesday - Saturday 212-249-1666

A better approach, I believe, is for those


of us in personal computing to get together
to agree on principles for the next widely
used language, rather than on the features
to add to or delete from an existing language. This is not any kind of vote against
PASCAL; to the contrary, I hope PASCAL
will become available to all hobbyists
with systems that can support standard

PASCAL, and that it be used for all suitable


applications programming . I have used
PASCAL for at least 95% of my own programming over the last three years, and I
cannot recommend it too strongly.
If a new personal computing language
were developed from guiding principles,
I would hope that it would have much of the
flavor of PASCAL. I would hope it would be
syntactically uncluttered like PASCAL,
not only because it makes the language
easier to use , but also because it allows
much simpler ( smaller ) language translators. I would hope it would have control structures at least as strong and as
logical as those of PASCAL, and data
structuring facilities as simple and powerful
as those of PASCAL. It should be designed
so that we can write almost all of our software in this one language, including both
systems and applications programs . It should
not try to provide every feature of every
existing language , but rather , like PASCAL,
provide a small set of primitive constructs
from which users can define their own
powerful features . It should allow us to
write truly portable programs and to maintain a library of procedures, since a good
procedure facility, like that of PASCAL,
is perhaps the single most important tool
for software developers . But whatever we
choose to put in the language , let us design
it from principles, and not evolve it from a
set of independent features, as was the case
with BASIC and FORTRAN.
There are probably several persons out
there with thoughts on this subject, and I
commend BYTE 's Languages Forum as a
means of communication . I would also
enjoy corresponding directly with anyone
with ideas in this area.

- - - - - - - - - - - - - - - - - - - - - -

why the lase


It has the latest news for users
(and prospective users) of Heath
Co. computer products. It isn't
company-controlled--BUSS can get
new product information and tidbits about items being developed
before the official announcement
by Heath Co. But BUSS does more
than that--BUSS also lets you in

^ is the best

on news of compatible hardware &


software from other vendors. H8
and Hll users may save enough on
these products to pay for a BUSS
subscription several times over.
And users of the ET-3400 Trainer
aren't left out either.
The first issue of BUSS came out
more than a year ago in April of

1977. Every issue goes by first


class mail and almost all orders
for new subscriptions are filled
within two days. Back issues go
fast, but most of those for 1978
are still available. BUSS keeps
getting better. So send for it:

12 IssuEs FOR $ 6.80

THE INDEPENDENT NEWSLETTER OF HEATH CO. COMPUTERS 325 PENNSYLVANIA AVENUE, S. E. WASHINGTON , DC 20003
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 142 May 1978 a BYTE Publications Inc Circle 139 on inquiry card.

Comments on

IDS INTERNATIONAL DATA SYSTEMS, INC.


400 North Washington Street , Suite 200 , Falls Church, Virginia 22046 U.S.A.

APL's Characteristics

Telephone (703) 536-7373

John E Howland, chairman


Computing and Information Sciences
Trinity University
751 Stadium Dr
San Antonio TX 78284

I would like to add some comments concerning the APL letters published in the
November 1977 "Languages Forum." Many
of the comments published indicate a lack of
familiarity or understanding. This familiarity
comes only after extensive use of a programming language. There seems to be a
general impression that APL is a relatively new language which has design flaws
which are due perhaps to the hasty way in
which the language was put together and
which are easily corrected by making one or
two simple changes. For example, "the APL
character set is not ideal for use with 5 by 7
dot matrix printers or video displays," so
we should redesign the APL character set.
There are already several successful existing
S by 7 dot matrix implementations of the
APL character set; however, the real point
here should be that we should consider using
a 7 by 9 dot matrix or some other size or
hardware technique to implement the APL
character set rather than change the character set to fit the hardware.
Another example concerns the order of
execution. APL goes from right to left which
is clearly backwards, so let's just make one
simple change and have it go left to right.
One suggestion was that this would be a
great help to all those APL programmers
who begin entering their programs before
they have finished writing them. To me,
this is similar to the person who opens his
mouth and begins to speak before engaging
his brain. The real solution to the suggested
problem has nothing to do with the order
of evaluation of APL expressions.
Since many readers have only recently
encountered APL, some discussion of order
of evaluation may be appropriate. Motivation for the APL order of execution can
be traced to the standard mathematical way
of handling functions of a single argument.
In a sequence of functions such as Sin
Arctan X, the order of evaluation is Sin of
Arctan of X. The value of the entire expression to the right is the argument to a unary
function, and this argument is usually

88-MODEM A complete serial I/O port and an Originate/Answer MODEM on an


S100 bus compatible board The 88-MODEM features automatic auto-dialer not
software timed). operates at any software selected baud rate between 66 and 600
baud, has separate 8-pole transmit and receive active filters and all functions are
software selected The 88-MODEM provides communication to -58 dbm and is intended
for use with either a CBS (1001 D) or CBT Data Access Arrangement for connection
to the telephone system The kit price is $245.00

88-UFC UNIVERSAL FREQUENCY COUNTER. The 88-UFC is an S100 compatible


frequency and period measurement module The 88 -UFC has four software selected
inputs Frequency measurement to above 600MHz and period measurement to 1 /10th
microsecond are standard The counter provides nine digits of readout and is priced
at $179-00 in kit form

88-SPM CLOCK MODULE The 88-SPM provides a time of day clock and an independent realtime clock on one S100 compatible module. Provisions are included for
battery backup so the 88-SPM can maintain the time during power - off conditions
$9600 kit
1001D (Type CBT) Data Access Arrangement $125.00
88-RCB 16 Channel Relay Control Board Kit $179.00
MCTK Morse Code Trainer/Keyer Kit 2900
TSM Temperature Sensing Module Kit 2400
DAC-8 8-Bit Digital to Analog Converter Kit 1900
.
88-TCXO Temperature Compensated Crystal
Oscillator for 88-UFC 145.00
88-XTAL Crystal T mebase option for 88-SPM 25.00
TERMS Payment with order shipped prepaid, added for COD, Master Charge acceptal

Circle 185 on inquiry card.

May 1978 BY iL Publication. lm 143

written on the righthand side of the function. The APL language includes a large
number of primitive functions. Rather than
develop a complicated rule giving priorities
of primitive and user defined functions, all
such priorities were eliminated. This also
allowed user defined functions to be given
the same importance and syntax as primitive
functions. The rule for evaluating functions
of a single argument is extended to functions
of two arguments, using infix notation, by
having the right argument be the value of the
entire expression to the right and the lefthand argument be the first value to the
left of the function. A consequence of this
extension is that the only nonredundant
use of parentheses , to alter the order of
evaluation, is to form the left argument of a
function.

To summarize, APL order of evaluation


from right to left comes from the use of
standard function notation of writing the
argument of a monadic function on the
right of the function and the desire to
introduce no hierarchy of evaluation such as
multiplication before addition.
If one desires to evaluate expressions
from left to right, using no priorities among
functions, then one will probably have to
introduce a "left monadic" notation such as
X Arctan Sin.
which, unfortunately, has to be read from
right to left! If one extends this notation to
functions of two arguments in a similar
manner, then one has the problem of writing

FOR SWTPC 6800

the subtrahend and divisor to the left of the


function symbol so that 3 = 6 equals 2.
Also, assignments are probably made to the
right, rather than the left. Such extensions
lead to a confusing notation because they
must be read from right to left.
It should be clear at this point that the
right to left order of evaluation rule which
is used in APL was not chosen in an arbitrary manner. It was chosen so that APL
could be read from left to right.
APL is not a new language which was
thrown together quickly. Actually, it is
one of the oldest computer languages
dating back to before 1962. Unlike most
computer languages, APL enjoyed an
extended period of development and
refinement before it was implemented
on a computer. During this time, many
changes were made. The changes were
easy to make because there were no interpreters to change and no user community
to complain. The APL character set evolved
during this time to its present form. One
unusual aspect of this character set is the use
of overstrikes to represent some functions.
This technique allows easy addition of new
characters for new functions when they are
incorporated into the APL language.

In summary, the APL language was very


carefully designed. Few, if any, arbitrary
choices were made during the development
of APL. Some of the controversial features,
such as the character set and order of evaluation, are based on standard mathematical
notation and convention and are not easily
changed.

FOR MOTOROLA "D2"

M6800 SOFTWARE

AS-1 ANALOG INTERFACE MODULE DA-1 UPGRADE KIT


FAST, ACCURATE A/D, D/A CONVERTS D2 TO TERMINAL I/O
CONVERSIONS RETAINS FULL CASSETTE I/O
CAPABILITY
EIGHT ANALOG INPUT CHANNELS
ONE HIGH-SPEED ANALOG OUTPUT INCLUDES RT/68MX ROM MONITOR/O.S.
OCCUPIES ONE I/O SLOT
$87.50 KIT $115.00 ASSM. ALLOWS USE OF BASIC, EDITORS,

rA/BASIC COMPILER
8K EXTENDED BASIC COMPILER
CONVERTS BASIC PROGRAMS TO
FAST, MEMORY EFFICIENT

ASSEMBLERS, ETC.
RS-232 SERIAL INTERFACE
DA1 w/70 p . MANUAL $69 . 95
RS-232 SERIAL INTERFACE
FULL CONTROL SIGNALS
MOTOROLA MMS68104 16K RAM
IMPLEMENTED 16K BYTES DYNAMIC RAM

EXTREMELY VERSATILE I/O


KC CASSETTE + MANUAL - $49.95

SC-1 SERIAL INTERFACE CARD

MOST VERSATILE SERIAL I/O ENGINEERED SPECIFICALLY FOR "D2"


AVAILABLE EXORCISOR - TYPE BUSS
$30.00 KIT $40.00 ASSM.
$395.0& ASSEMBLED

U.S. Orders Postpaid

Master Charge & VISA Welcome

MACHINE LANGUAGE

DESIGNED`FOR RT/68 - SUPPORTS


MULTIPROGRAMMING

RT/68MX OPERATING SYSTEM


EXPANDEDCONSOLE MONITORROM
REAL TIME OPERATING SYSTEM

DIRECT MIKBUG REPLACEMENT


PIA OR MULTI-ACIA I/O
RT/68MX ROM w/MANUAL $55.00
Write or call for Free Catalog.

MICROWARE SYSTEMS CORPORATION


P.O. BOX 954 DES MOINES, IOWA 50304 (515) 279-9856

144 May 1978 0 BYTE Publications Inc

Circle

240

on

inquiry

card.

Now, a book
for the practicing
professional...

Warnier-Orr Diagrams:
Some Further Thoughts
The article "Structured Program Design"

GT Wedemeyer

in the October 1977 BYTE, page 146, has # 17 Forest View Trlr Ct
Iowa City IA 52240
certainly simplified my thinking. However,
the use of the symbol Q+ seems to violate
a rule implicit in the Warnier-Orr diagram
that one need not and in fact must not go
up in a list contained within a bracket of a
given order. The Q+ symbol requires
checking up and down the list of case
statements. I believe that what is meant
is illustrated in figure 1. In this example
CASE J is equivalent to ROLL = "J."
This manner of diagramming clarifies the
relationship between statements having
alternatives and statements not having
alternatives. It also eliminates the need for
the instruction SKIP, since the finding of
no more items in a list of a given order is
the equivalent of an instruction to return
to the proper place in the list of the next
lower order, where the order of a list is
its position from left to right as shown
in figure 2.

"This is the best handbook of data


communications system technology
that this reviciverhas yet
encountered."-Arvid G. Larson in
ACM Computing Reviews
February 1978
Digital Press announces the
publication of TECHNICAL
ASPECTS OF DATA COMMUNICATION by John McNamara.
Written for the practicing professional, TECHNICAL ASPECTS
OF DATA COMMUNICATION
details the nuts-and-bolts problems and solutions in configuring
communications systems. It
features: comparison of protocols
(DDCMP, BISYNC, SDLC) extensive explanation of interface standards (CCITT/V.24, RS232C, RS422,
RS423) six comprehensive
appendices (how far/how fast?,
modem options, codes, UART,
format and speed table for asynchronous communication, channel conditioning) 20 milliampere
loop telephone switching
systems error detection
382 pages 125 figures 70
pages of tables index hardcover

I would like to define the instruction


RETURN to mean "in the list of next lower

Figure 1.
BEGIN TURN
1= ROLL DIE)
DETERMINE "J" PICK RANDOM "J" BETWEEN
ONE AND SIX
CHOOSE CASE "J" { CASE 1
CASE 2
{ CASE 3

CASE 6
(RETURN)

--------- 1
dcalPress
EdcaServices
Educatio
nal

Figure 2.

Digital Equipment Corp.


Crosby Drive, Bedford, MA 01730
___ copies of
I would like to order

TECHNICAL ASPECTS OF DATA


COMMUNICATION at $19.95 per copy.
Check enclosed Money Order enclosed
(Note: Minimum order for Digital Press to
process purchase order is $35).

Name

Address
ORDER 1 ORDER 2 ORDER 3 ..... ORDERn

City

State Zip
Prices an I in U S onl

L---- p

y_j

May 1978 BYTE Publications Inc 145

WARBLE ALARM
CAR-VAN CLOCK

ELAPSED TIMER

WITH HEADLIGHT ALARM SECONDS DISPLAY SWITCH

order than the list in which this instruction


is found, complete the step immediately
following the lowest completed step."
Although this instruction seems implicit,
as I indicated above, I would prefer that
it be explicitly stated, and I think it would
make the diagrams more easily followed.

9 MINUTE SNOOZE ALARM


SIMPLE 4 WIRE HOOK-UP
JUMBO'U,-LEO OISPL AY
I TD 59 MINUTE COUNTDOWN
TIME" ''I NS SIMULTANEOUSLY
z44.
y-- WITH LLOCK'
RLLSEU ADS CASE

COMPLETE KIT $35 . 95


ASSEMBLED
$45.95

OUARTZ CRYSTAL
ACCURACY

Dave Higgins replies:


DIGITAL AUTO INSTRUMENTS

It appears from your letter that you are


very interested in using the Warnier-Orr
diagramming techniques. I think you will be
pleased with the results.

.I TACHOMETER SEVEN MODELS!


.2 WATER TEMP
KIT INCLUDES
.3 FUEL LEVEL
LYYI tint.^TYUHHNl
.4 SPEEDOMETER' .LS MA ,o
c5 OIL PRESSURE SE D NDrmas
IEATURES
.6 OIL TEMP
.7 BATTERY MONITOR
'A DD $10 FOR REQUIRED SPEED

SENDS $15 FOR SPEED

SENDER

I'd like to comment on the suggestions


you made for improving the diagrams.
Unlike flowcharts, which have become quite
rigid and inflexible in form, the WarnierOrr diagrams are still in a relative infancy,
and do still change occasionally. We here at
Langston, Kitch have made some minor
modifications to the diagrams in the last
year in order to add some capabilities that
were previously vague or nonexistent.
We are continually evaluating the diagrams,
looking for shortcomings or ambiguities,
and therefore welcome suggestions along
these lines. It is in this light that I considered
your suggestions for revising some of the
notation.

ALONE

KIT: $49 . 95.......ASSEMBLED: $59.95

ELECTRONIC 'PENDULUM' CLOCK


` SWING PENDULUM
7" HOURS AND MINUTES DISPLAY
TIME SET PUSH BUTTONS
ALARM FEATURE

KIT-UNFINISHED CASE ............. $ 59.95


ASSEMBLED -STAINED CASE ..........$69.95
QUARTZ DIGITAL AUTO CLOCK
OR ELAPSED TIMER!
ELAPSED TIMER . HAS, MINS & SECS
SIMPLE PUSHBUTTON RESET &
HOLD TOGGLE SWITCH

K s
NNPO P
1 OR 24HR MODE

KIT: $27. 95.......ASSEMBLED : $37.95


NOW WITH
ELAPSED
TIME!

First of all, with respect to your ideas


concerning the representational form of a
CASE statement: I think your objection

3V2 DIGITAL CLOCK

[_GI KIT

$49.95

b DIGIT KIT $

69.95

41;x .,1[

ASSEIABLE1)

$59.95

6 DIG 1 ASSLMBLED $

79.95

117 V4L 17 Jr, 24 .'B MOOt. KITLOMESCOMPLETE'


6 DIGIT IELMO% 4 VI LI I V ERSIUN 18".5. Ilf

TV-WALL CLOCK

Listing 1.

117 VAC

300 REM CASE STATEMENT


310 REM DETERMINE CASE "J"
320 LET J=INT(RND( O)*6+1 )
330 ON J GOTO 340,380,420, 460,500,540
340 REM CASE 1
350
case 1 process

25' VIEWING DISTANCE


6"HOURS & MINUTES

31, SECONDS
COMPLETE WITH WOOD CASE

KIT: $34. 95.......ASSEMBLED : $ 39.95

370 GOTO 570


380 REM CASE 2
390
case 2 process

ECONOMY CAR CLOCK


LED MODULE'
COMPLETE WITH CASE,
BRACKET & TIME SET ""

PUSHBUTTONS

410 GOTO 570

ALARM OPTION

cases 3-6 as above

KIT: $19.95 ....... ASSEMBLED : $ 26.95

DMSW'NA

PENDULUM '"'

570 REM END CASE

$14.95 CASE BRACKET $3.75

Figure 3.
DAY = MONDAY
(0,1)

MARK FOSKETS'
SOLID STATE TIME
S

P.O. BOX 2159

DUBLIN , CALIF. 94866

0
MNL

DAY = TUESDAY
(0,1)

ORDERS ( 415) 828-1923


0

H HR
24
PHONE
M

146 May 1978 .-RVTE PHIIs IIuI1, IF, Circle 345 on inquiry card.

/1/VLA

DAY = WEDNESDAY
(0,1) ll

/1/vvL

Listing 2.

300 REM CASE STATEMENT


310 IF D$="MONDAY" THEN 330 ELSE IF D$="TUESDAY" THEN 360
ELSE IF D$="WEDNESDAY" THEN 400
320 GOTO 440
330 REM CASE 1: DAY = MONDAY
monday process
350 GOTO 440
360 REM CASE 2: DAY =TUESDAY

BIG
SAVI N GS
10% -15% -20% 25% OFF
IMSAI - TDL - NORTH STAR CROMEMCO - VISTA DYNABYTE - AND OTHERS

tuesday process
390 REM CASE 3: DAY = WEDNESDAY
wednesday process
440 REM END CASE

to the use of the Q+ symbol stems from


the fact that there are two primary ways to
actually code a CASE structure. One way is
with the use of a "computed GOTO or
GOSUB." The diagram you show is ideally
suited for translation into a computed
GOTO, which would look something like
listing I. But I don't think this is a worthwhile change to make to the basic form
of the diagrams themselves. The reason is
this: although your method works fine for
CASE statements that lend themselves to
computed GOTO's, there are a whole host
of other CASE statements where the use of
a computed GOTO is an extreme inconvenience. Take, for example, the CASE of
figure 3. It would be inconvenient to have to
rig up a computed GOTO to execute this
CASE. It is much simpler to code it using
a "nested IF" statement, which is the other
popular way to code CASE statements. In
pseudocode, this CASE is:
IF DAY = MONDAY
THEN MONDAY-ROUTINE
ELSE I F DAY = TUESDAY
THEN TUESDAY-ROUTINE
ELSE IF DAY = WEDNESDAY
THEN WEDNESDAY-ROUTINE
You can see the natural one-to-one correspondence between the Warnier-Orr diagram
and the pseudo-code. This is easily translated
to code in listing 2. Listing 3 shows an
alternative for those BASICs without the
nested I F capability. This is the preferred
method for coding a case statement because
this method will work for all CASE statements, regardless of whether or not the
CASE is suited for a computed GOTO.
Also, with the computed GOTO, you must
be sure that your "J" is restricted to the
proper range. This is not to say that you
can never use the computed GOTO; just
be sure that its use is justified and then

SPRING SPECIALS
TDL XITAN:
Alpha 1 reg $1039
Alpha 1.5 reg $1138
Alpha 2 reg $1749

Alpha 4 reg 2149


TDL

$879 95
96495

130995
159995

VDB 25x80 Video Display


Board reg $369 NOW $31400
All TDL units factory assembled and tested

IMSAI
8080 w/22-slot motherboard
and IMSAI 4K RAM Board
reg $808 NOW $59995
ABOVE , incl. Serial Interface Kit
and 16x32 Video Display Board
assembled and tested $78995

NORTH STAR
HORIZONS
- ALL MODELS ABSOLUTELY BEST PRICES
AND BEST DELIVERIES

Call for information


DYNABYTE - LESS 20%
CROMEMCO - LESS 10%

S-100 MEMORY BOARDS


North Star 16K Dynamic RAM
Kit List $399
Assernbled

List

$ 329
$459 379

TDL 16K Static assmltest $549


TDL 32K Dynamic, " $739
Prices good until June 30, 1978; limited to
existing inventories
Add $1.50 per board and/or $10 per system for handling.
shipping and insurance

Send for free catalog

MiniMicroMart, Inc.
1618 James Street
Syracuse, New York 13203
Phone (315) 422-4467
Circle 250 on inquiry card .

May 1978 (-)BYTE Publications or 147

300 REM CASE STATEMENT


310 IF D$="MONDAY" THEN 350
320 IF D$="TUESDAY" THEN 400
330 IF D$="WEDNESDAY" THEN 450
340 GOTO 500
350 REM CASE 1: DAY = MONDAY
monday process
390 GOTO 500
400 REM CASE 2: DAY = TUESDAY
tuesday process
440 GOTO 500
450 REM CASE 3: DAY = WEDNESDAY
vvednesday process
500 REM END CASE

Listing 3.

be very careful. Personally, I feel it is more


trouble than it is worth.

The LFD-400 is ready to plug in and run


the moment you receive it.
Nothing else to buy ! Not even extra memory!
YOU GET0 The popular Shugart SA 400 minifloppyT' drive. Drive alignment
is double checked by PerCom before shipment.
Q The drive power supply-fully assembled and tested.
Q LFD -400 Controller/ I nterf ace-plugs into the SS-50 bus
accommodates three 2708 EPROMs fully assembled and tested.
Q MINIDOS '" -the remarkable LFD-400 disk operating system on
a 2708 EPROM plugs into the LFD-400 Controller card no
extra memory required no "booting" needed.
Q Attractive metal enclosure.
Q Interconnecting cable-fully assembled and tested.
Q Two diskettes-one blank, the other containing numerous
software routines including patches for SWTP 8K BASIC and the
TSC Editor/Assembler.
Q 70-page instruction manual-includes operating instructions,
schematics, service procedures, and the complete listing of
MINIDOS'".
Technical Memo updates-helpful hints which supplement the
manual instructions.
l 90-day limited warranty.

Minifloppy is a trademark of Shugart Associates


MINIDOS is a trademark of PERCOM Data Company, Inc.

The LFD-400 is readily expanded to either two or three drives.

Write for details. Send for our free brochure for more information about the LFD-400 Floppy Disk System and LFD-400
software.
To save you money, the LFD-400 Floppy Disk System is available
only from PerCom . Because of the special pricing , group and
dealer discounts are not available.
MC and VISA welcome . COD orders require 30 % deposit plus 5% handling charge . Allow three
extra weeks if payment is by personal check . The LFD-400 Floppy Disk System is available
immediately. Allow three weeks for testing and transportation. Texas residents add 5%
sales tax.

PERCOM DATA COMPANY, INC.


Dept S 318 BARNES - GARLAND, TX. 75042
(214) 276-1968

PERCOM '" `peripherals for personal computing'


148 May 1978 BYTE Punfication, Ir,r Circle 299 on inquiry card.

As for the elimination of the brackets


with "SKIP" in them: I don't believe that
you really want to do this. For instance, in
the BUG game published in the October
1977 BYTE, no action is taken when a
player rolls a "BODY" on the dice but
already has a body. This bracket is filled
with the notation "SKIP," which indicates
that, although the bracket is an essential
part of the logic of the diagram, nothing
is to be done there. However, in future
versions of the game, you might just decide
to tell the player that "YOU ALREADY
HAVE A BODY" when that condition
occurs. If the original diagram is left with
the empty brackets intact, you have a
fixed and ready place to put that PRINT
command. The design is very easy to change
and the documentation for the new program
is only a matter of erasing one line and
replacing it with another.
Also, I don't believe that we need to add
the (RETURN) command at the end of the
brackets as you suggest. As you state, the
return to the next highest level in the
diagram is already implied at the end of each
bracket: therefore adding (RETURN) on
each bracket would amount to a lot of
"busywork," which would clutter up
the diagrams with a lot of unnecessary
information.

Again, I'd like to thank you for your


suggestions and extend an invitation for all
the readers of BYTE to submit their suggestions for improvement of the WarnierOrr diagrams to either Langston, Kitch and
Associates or to me for examination.
Dave Higgins
Langston Kitch and Associates Inc
715 E 8th
Topeka KS 66607
(913) 233-2349M

NE VER
AGAIN?
If it can happen in New York
it can happen anywhere.

ON USING AMATEUR RADIO


FOR PC NETS
Jeff Steinwedel offers the only feasible solution for CIE Nets, Distributed
Communications Network, or whatever
you may wish to call it. Amateur radio,
because of its disciplined ranks, would
be the very ideal place to start. We do
not need another uncontrollable
"Topsy" that one finds on the Citizen's
Band.
Some refined computer work has
already begun on the amateur bands.
I've just completed an interface board
for frequency control, and another for
the computer to do all of the log work
by filing dates and time of contacts, and
even their call signs. Conditions are
already open: the allotted VHF frequencies welcome experimentation,
within FCC rules, of course.
Jack Chancellor W9SON
4736 Amethyst Rdg
Rockford IL 61102

MORE ON COMPUTER CONTROLLED


PROSTHESES
The January 1978 BYTE Letters
column contains a letter from Don
Baker regarding computer controlled
prostheses. I call to his attention the
work currently being carried out at
Northwestern University's Rehabilitation
Engineering Center at the Rehabilitation
Institute of Chicago.
Under the direction of Dr Dudley
Childress, the Center has developed
a multitude of prosthetic devices for
the crippled patient. Foremost among
these (in my opinion) is the design
and construction of prosthetic limbs,
namely a "bionic" arm and hand. This
device amplifies the myoelectric surface
potentials on the skin which are generated by muscle contraction and converts the signals into finger motion
through a network of electronic circuitry
and electromechanical components. By
"thinking" to extend the arm, for
example, the patient can open and close
the thumb and forefinger on the prosthetic limb. While the grip strength of
25 pounds is nowhere near the ability to

crush steel, the patient gains a great deal


of freedom in lifestyle than that which
he had as an amputee.
Mr Baker suggested a computer controlled wheelchair as a possible solution
to mobility problems for the handicapped. Northwestern has already
thought of the same thing and has gone
on to develop such a machine. It consists
of an electric wheelchair fitted with an
array of batteries, electronic hardware,
and specially designed input and output
devices which are in the form of straws.
The effectiveness of the device is best
seen in abilities of the Rehabilitation
Center's receptionist/secretary, who is a
quadriplegic. Doubling as a public
relations spokesperson as well, she can
operate slide shows, telephones, lights,
and even type from her seat in the
wheelchair via coupling to a microcomputer. Paralyzed from the neck
down, she communicates with the
computer by sipping and puffing on
straws coupled to pressure sensing
instruments. Output from the computer
is on a video terminal, which is also
connected with an electronic typewriter.
Through the use of the sipping and
puffing mechanisms, and computer
supplied "best fit" characters, the typist
is able to create words and entire letters
on the computer, which are then sent to
the typewriter for printing.
At present, the cost of microcomputers limits this complete system
to a relatively small segment of the
population. Thus, alternate systems
have been developed, allowing the user
to control eight devices within the home
(eg: lights, telephone, toaster, etc). As
the cost goes down, we'll be seeing more
of these systems in the near future.
With the development of new techniques and mechanisms, the Rehabilitation Engineering Center is enabling
more and more crippled patients to face
the world more effectively and helping
them gain pride in themselves.

POWERLESS!!

12

m
Mm

Protect your Memory and Systems


against Blackout with one of S.C.I.'s
UNINTERRUPTIBLE POWER SUPPLY
SYSTEMS . . ., or design your own
system using S.C.I. modules.
UPS SERIES priced from:
$155.00 to $225.00 (unit price)
PERFORMANCE!
Reliable Float Charge Battery Backup
Systems

*Regulated Single & Multi Outputs


36 Standard High Performance, High
Efficiency Models
The Memory Savers from the No. 1
Source. Want the Facts Fast?
Call Frank Frontiero

Christopher A Kryzan
1012 Waveland Rd
Lake Forest IL 60045

SEMICONDUCTOR
CIRCUITS, INC.

Christopher is president of the Tech


Undergraduate Council, Northwestern
University Technological Institute.

306 RIVER ST., HAVERHILL, MA 01830


TEL.(617) 373-9104, TWX.7103470269

POWER SOURCES DIVISION

Circle 318 on inquiry card. May 1978 [Y1L K,blicanons i,, 149

TROUBLESHOOTING QUERY
I have a BA in photography, but due
to a recent car accident my back was
injured causing my legs to become
partly crippled. Because of this I can no
longer work as a photographer, and
at present I am repairing calculators
for Texas Instruments.
Looking toward the future I have
decided to open my own microcomputer
repair shop as a new career (with some
luck).
Most of the local colleges and
training schools offer programming and
design theory, but this is not troubleshooting and repair.
Where can I find such a college or
training school which offers basic
electronic and computer repair? Where
can I write to find such information
if you don't have it?
Relocating to another state will be
no problem, and I'm not concerned
with the time required to attain the
training.

Circle 111 on inquiry card.

Get your PC masters


in as little as 2 weeks
At Echo Design your circuit drawings can be converted into finished artwork masters in only 2 to 6
weeks, depending on complexity.

We do board layouts for many of the biggest names


in the business.
And we have broad capability. Such as computer
boards having 450 ICs.
Choose any or all these services:
Layout (to digitizing

standards if desired )
Tape-up (artwork)
Fab drawing

Assembly drawing
Schematic drawing
Bill of material
Printed board

Larry Bernard
1625 16 St, Apt 255
Lubbock TX 79401
Readers who can answer Mr
Bernard's questions are encouraged to
correspond with him directly.

Place a call now to John Offenbacker or Al Chew


and get your new board moving at competitive prices.

FREE
Ask for
a copy

Lin

echo

A D TO A FROM THE UK
In certain articles of BYTE I have
noticed circuits which could, in my
opinion, be improved by use of British
devices which, for some reason, are not
used in American articles.
The best example of this is the
Ferranti ZN425E 8 bit digital to analog
converter. This device retails for approximately $8 in the UK and, as far as I can
tell, is superior to the MC1408L-8. One

DESIGN AND
DEVELOPMENT
CORPORATION

195 EAST GISH ROAD SAN JOSE, CA 95112

408-292-0918
We also provide contract technical personnel world wide

SCT-100 FEATURES:
64 X 16 line format with 128 displayable characters
Serial ASCII or BAUDOT with multiple Baud rates
$187 Assembled or $157 Kit (Partial Kit $95)
Full cursor control with scrolling and paging
On board power supply

XITEX CORP . P.O. Box #20887


Dallas, Texas, 75220 Phone (214) 386-3859
Overseas orders and dealer inquiries welcome

150 May 1978 BYTE

Publications

Inc

Circle

400 on inquiry card.

advantage is that the ZN425E can be


converted to an analog to digital converter with the addition of just two
more ICs costing about $3 total.
Also, I think there should be more
articles like Ciarcia's Circuit Cellar,
since his articles are easily adapted to
any microcomputer, rather than being
designed for use with any one type. My
reason for this bias is that I am designing my own microcomputer.

and makes it possible to check for a


completely blank line (which should
be treated as an error, not as zero).
This algorithm requires no leading
zeroes and works for numbers of any
length. It is also quite fast; in reading
number less than 65,536, it requires only
3 n 16 bit shifts and 2 n 16 bit adds, to
read an n digit number. Unfortunately,
I can claim no credit for it since it has
been in existence for many years.

A K Kenny
43 Simonbarn Av
Fenham, Newcastle upon Tyne
Tyne and Wear NE4 9VA
ENGLAND

Eric Hamilton
Dunster D-11
Harvard University
Cambridge MA 02138

Interested readers can contact


Ferranti Electric Inc, E Bethpage Rd,
Plainview NY 11803.
READING STRINGS
I read with great interest Wayne
Ledder's description of how a string of
ASCII digits can be read and converted
to a binary number in "A Novice's Eye
on Computer Arithmetic" (January
1978 BYTE, page 150). A faster,
cleaner, and easier algorithm exists for
this purpose.
To read a 3 digit number, Ledder
recommends placing the first digit (after
subtracting ASCII "0") into memory
location HUNS, the second into TENS,
and the third into UNITS. Then HUNS
is multiplieu by 100, TENS by 10, and
these results are added; UNITS is added
to this sum to give the final result.
Clearly, this method works. However, it
is inconvenient to use for two reasons.
First, the program itself must be modified if one wishes to input, say, four
digit numbers. Second, the number must
be typed using a fixed number of digits.
Now, how would you feel if your tiny
BASIC made you type things like 00001,
or interpreted 0001 either as something
ridiculous or an error?
I think there is a better way. The
following algorithm is cleaner and as
easy to implement.
1. Set NUM to O.
2. Get a digit from input. If it is not
a digit (eg: a blank or a new line),
terminate.
3. Otherwise, convert the digit from
ASCII by subtracting the code for
ASCII "0" from it.
4. Multiply NUM by 10. Then add
the digit to it.
5. Go to step 2.
When the algorithm terminates, the value
of NUM will be the binary number
corresponding to the ASCII coded input.
Several comments are in order. First,
the multiplication in step 4 can be performed quickly by adding the value of
NUM shifted left three times to the value
of NUM shifted left once. Second, the
processing of the first digit should probably be moved outside of the loop.
This facilitates checking for a negative
sign, avoids an unnecessary multiplication in step 4 on the first iteration,

corporate, and return MAPLE to virtual


memory storage in that bit bucket in
the sky.
R Low
J Sikorski
POB 574 NUMS
Chicago IL 60611
HUMAN FACTORS ENGINEERING
NEEDED?

DEMISE OF MAPLE
Sad to report, MicroAPL Enthusiasts
has gone to seed. The major cause of its
demise has been a severe deficiency in
creative literary sap. When we started
this seedling, we'd hoped for a forum
which would someday branch to many
interesting discussions on that most
fascinating of languages: APL. Since
then, although the response has been
good, the literary stuff has been flowing
in at the rate of frozen maple syrup.
As the instigators of all this, we found
ourselves unable to gather enough
material to form the critical mass needed
to get the chain reaction of ideas started.
Therefore, we have decided to dis-

Today I discovered that nobody


really cares about us, at least those of us
who use computer terminals day after
day.
I was doing a data base search
through the INSPEC files looking for
information about "the office of the
future." Most searches that were performed were quite successful (giving up
to 160 references). However, a combined
search on display devices and human
factors found one entry (on digital
watches). Even less rewarding was a
search on data acquisition and human
factors-no references. I can only assume
that no one cares about the user.
At the Canadian Computer Show in
Toronto in November, my sister and I
ran a quick informal survey of keyboards
of computer terminals. Typically, the
keyboards could not have been designed
with any user in mind. Problems of
ugly color schemes; glare on the keys
from overhead lighting, lack of "feel"

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/mini-

SPECIFICATIONS

computer

ELF II features an RCA COSMAC


COS/MOS 8-bit microprocessor addressable to 64k bytes 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 timi ng purposes and a double-sided plated-through
PC board plus RCA 1861 video IC to
display any segment of memory on a
video monitor or TV screen.

A THOUGHTFUL GIFT
FOR ANYONE WHO MUST
STAY UP TO DATE IN
COMPUTERS AND
ELECTRONICS!

ELF" 9995

Use ELF 11 to ... PLAY GAMES using

)u TV for a video display ... CREATE r


SEND TODAY
YRAPHICS pictures , alphanumer- I NETRONICS
-r.ar.=177T7
DeptBY
5
,
ics, animated effects ... learn how to - 333 Lit
a d
wMil,on
c
hfi
e
Id
o
R
,
e
N
I 1
. c06776 Ph X01
one
154
(_
9375
) - I
DESIGN CIRCUITS using a
microprocessor ... the possibilities
are infinite!

NOW AVAILABLE
ex pIodesa
ELF 11
into cant
9when
y
ou
plug the GIANT BOARD" into ELF's i
expansion bus. This powerful board includes cassette I/O, RS 232-C/TTY, 8bit P I/O and system monitor/
editor... meaning your ELF 11 is now the
heart of a full-size system with unlimited
computing power! $39.95 kit . $2 p&h.
4k Static RAM addressable to any 4k
page to 64k . $89.95 kit. S3 p&h.
Prototype ( Kluge ) Board accepts up to
32 I.C's of various sizes . $ 17.00 kit. $I
p&h.
Expansion Power Supply . $ 34.95 kit.
$h.
2p&

Gold plated 86-pin connector . $5.70


postpaid.
Coming Soon! yew

lJ

Tiny Basic I

Yes! I . -ant to run programs at


home and have enclosed:
$99.95 plus $3 p&h for RCA
COSMAC ELF II kit. Featured
in POPULAR ELECTRONICS.
Includes all components plus
everything you need to write
and run machine language programs plus the new Pixie chip
that lets you display video
graphics on your TV screen. Designed to give engineers practice
in computer programming and
microprocessor circuit design.
ELF 11 is also perfect for college
and college-bound students (who
must understand computers for
any engineering, scientific or
business career). Easy instructions get you started right away.
even if you've never used a computer before!
As your need for computing
power grows, five card expansion bus (less connectors) allows
memory expansion, program debugger/monitor. cassette I/O, A

controllers, etc. (soon to be


available as kits). Manual includes instructions for assembly,
testing, programming, video
graphics and games plus how
you can get ELF 11 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! $4.95 for 1.5 amp 6.3
VAC power supply, required for
ELF 11 kit. $5.00 for RCA
1802 User's Manual.

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

_.
.-

STATE 71P -- i
ASCII KEYBOARD-CONTROLLER I
to D and D to A converters. E] Send info on other kits!
BOARD QA, A-D CONVERTER ` PROM.^ASC
aaaikeyboard inputs.
Dealer Inquiries Invited
CABINE T II
Circle 280 on inquiry card.

slay 1978

BY] b Pubbrasom Inc 151

LEARN TO
PRO(A{ %M
lvi I('IIO('tPf I'I "I7;IZS
And at an affordable price. The
Modu-Learn TM 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 TM 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 foreasy 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-LearnTM starts with the
basics. Our problem-solution approach enables you to "graduate" as
a programmer
Circle the reader service number below to receive our free descriptive
brochure and course outline.
Use your Master Charge or VISA
card to order today. Call Pat at (415)
965-8365.

Circle 215 on inquiry card.

P.O. Box 60968


Sunnyvale, CA 94088
408-245-8855

LOGICAL

SERVICES INCORPORATED

152

51as 1978

8) 11 Puhhce t,,m. hn

in the keyboard, beeps (often not


adjustable) to replace tactile feedback,
and soft keying (instead of a bouncy
switch), lack of position adjustment of
the keyboard, and lack of an armrest in
front of the keys were problems that we
frequently noted. Only about two or
three keyboards came anywhere near
being reasonably pleasant to use. Human
factors appear to have been ignored by
almost all manufacturers.
Hopefully in the future we can have
some articles about human factors in the
terminal device design. For too long the
industry has pushed human factors in
man-machine dialog software and
ignored the hardware.
Dr John C McCallum , Assistant Professor
Dept of Computer Science
York University
4700 Keele St
Downsview Ontario M3J 1P3
CANADA

MEDICAL AND DENTAL SOFTWARE


NEEDED
A recent copy of Time magazine
referred briefly to a successful US
application of microcomputers to the
basic requirements of individual doctors
and dentists.
If you or any of your readers happen to know of the firm(s) responsible
for this application I would be most
grateful to learn their address(es).
Philip D Burke
GPO Box 498
Adelaide S AUSTRALIA 5001

ANOTHER LETTER RECEIVED


WITH A COMPLETED
READER SURVEY FORM
Miscellaneous comments apropos
personal computer usage:
The languages available are atrocious.
The few good languages are not available
on personal systems. Languages I consider good, even if not practical on a
micro, are: APL, PASCAL, ALGOL i'8,
MODULA (yes, I've seen examples of
MODULA), in no particular order. Each
has some good and some bad features.
What we need is a synthesis.
I keep hearing about "high level
language machines.'' In my opinion,
they are long overdue. Where are they?
Where, at least, is the computer that
can efficiently run an intermediate
language interpreter, at a price I can
afford? What I need is an HP-3000
microcomputer, I guess.
Where languages are concerned, I
suppose that a good systems implementation language is most needed,
although why do so few people seem
to recognize this obvious fact? Think
how it would simplify developing
operating systems and Star Trek games
that are identical on all computers
they run on. Is that bad?

I want to have fun and learn things


with my computer. To me, fun is writing
aesthetically pleasing and correct programs . That's hard to do in BASIC.
CLH
RECEIVED FROM A RESPONDENT
TO BYTE' S 1978 READER SURVEY
I would like to offer some additional
comments which you may find useful
in your survey. I fully intend to purchase
a personal computer system in the very
near future. The equipment and approximate prices I intend to pay are detailed
in the survey. The major factors influencing this purchase are as follows:
The availability or near availability of a high level block
structured language compiler (C,
PASCAL or ALGOL).
The vendor's financial stability.
The availability and compatibility
of peripheral equipment.
The availability of a simple,
powerful monitor or operating
system.
I will purchase a prebuilt system and
have very little interest in assembly or
hardware fiddling. I also have very little
interest in assembly language coding and
will use the home computer to develop
projects in the area of artificial intelligence.
Anonymous
COMPUTER CHESS
I am told by John M Lusa of Infosystems that your magazine specializes
in small systems.
I wonder if you know of a computer
that plays chess at the master level. I am
very desirous of owning such a product
and I would truly appreciate it if you
could in any way lead me to it.
Philip Restagno
2910 De Witt PI
Bronx NY 10469
Playing chess at a master level is one
of artificial intelligence's perenial projects. As of now, the closest you can
come is an expensive laboratory project
executed on a large computer of conventional design. But this is hardly a
commerical product available at your
local computer store.
MATSUSHITA MYSTERY PROCESSOR
Recently I came across a Matsushita
MN5763 microprocessor, and have been
unable to find any information about it.
Could you or a reader tell me anything
about this part or about where I can
obtain information on it?
Jeff Spoelstra
7405 Palm Dr
Urbandale IA 50322

SPRING CLEARANCE

SALE

I3YT['$ 13i1$
Electronic Music Workshops at
New England Conservatory
The New England Conservatory of
Music will hold a Summer School
June 26 thru August 4 1978, featuring
workshops, courses and master classes.
Highlights will be the Electronic Music
Workshop, June 26 thru June 30 with
Robert Ceely, and the Electronic Music
in the Classroom Workshop, July 10 thru
July 14 with Larry Allen.
The Electronic Music Workshop with
Robert Ceely will be divided into two
parts. Part A will be a lecture demonstration of the hardware and software
of electronic music. Part B will give
students hands-on experience with
various synthesizers.
Electronic Music in the Classroom
with Larry Allen will be an exploration
for the classroom music educator of the
goals, outlines, lesson plans, and electronic equipment to be used in developing a comprehensive junior high, senior
high, college or adult education music
curriculum.

Instruction Search
Have you ever found yourself executing as instructions information you
intended as data, only to get garbage?
Sure you have; we all do this at one time
or another.
One day, while interacting with my
KIM-1, I found myself executing a
hexadecimal 27 which I had accidentally
left in a location. It multiplied another
number by two and added one. Upon
closer inspection, I found hexadecimal
27 to be a previously undefined rotate
one bit left instruction, a very powerful
instruction. Including my new instruction, there are now 147 instructions
defined for the 6502 processor, out of
256 possible in the range from hexadecimal 00 to FF. That leaves 119
instructions undefined. The problem is
finding them.
I am inclined to believe the best way
to determine the difference between
garbage and a valid instruction is to
continue programming in a normal
fashion and when an error is made and
I find myself executing an undefined
instruction, follow it through. This
instruction search is not limited to the
6502; it applies to every processor on
the market. Indeed, the store zero
instruction on the IBM 7090 was found

FLOPPY DISK
DRIVES
NORI H STAR VISTA MICROPOI IS

in a similar fashion at a time when that


macrocomputer was at a stage similar to
that of the present microcomputer.
I do not advocate sloppy programming. It should be advoided at all costs.
However, when a mistake is made and a
result is obtained, it should be studied.
Something of value may be found.
Francis J O'Reilly
42 Markwood Rd
Ardsley NY 105020

EXTRA SAVINGS
IMMEDIATE DELIVERY
North Star Microdisk
Interface w/drive, kit
List $699 SPECIAL $589
Vista Microfloppy, kit

List $649 SPECIAL $544


ADD $80 FOR ASSEMBLED U TESTFD UNITS
For the ultimate in storage capacity.
get yourself an assembled and tested
MICROPOLIS at special prices:

Model 1041 Macrofloppy 143


kilo cap ., incl. cover $625

A Quick Wire Unwrapping Tool...


Unwrapping wires from posts on
circuit boards is a simple task with the
correct tool . Commercial unwrapping
tools are usually not practical for the
person having only an occasional need,
so improvised methods are in order. One
such method was described on page 17
of the December 1975 BYTE. I found
that method took more time than I
wanted to spend on these jobs.
A simple tool that can be made in a
few minutes meets the requirements of
being cheap , easy to use , made from
readily available material . It does not
damage the posts and removes the wire
rapidly . All you need is a small diameter
metal ( brass if you are concerned about
damage to the posts ) tube that tits
closely over the posts . Such tubing is
often available in brass at hobby shops.
To make it into an unwrapping tool,
simply tile a notch across the side and
end of the tube to a depth about twice
the diameter of the wire to be removed.
To preserve the strength of the fitted
end of the tube , file the notch into
about 1 / 3 the diameter of the tube. If
you have a fine file or other tool, cut a
small nick into the side of the notch.
This enables it to hook onto the wire,
which will then be removed from the
post when it is unwrapped and the tool
is removed.
Ready sources of tubes ( including
handle ) are mechanical pencils and ballpoint pens . The mechanical pencil is
best and easiest to "build" into the
desired tool . To convert ballpoint
pens into unwrapping tools , it is of
course necessary to remove the ballpoint and ink . It will also probably be
necessary to drill the tube to a size
that will fit over the wire wrap posts.
Donald C Weber
1201 Inwood Ter
Jacksonville FL 32207

Model 1042 w/ case f power


supply, 143-kilobyte capacity
NOW ONLY $709
Model 1053 Dual Metafloppy
630-kilobyte capacity

Reg $1895 NOW $1695


ALL IN I ER FACES INCLUDE DOS AND BASIC
SPECIAL VERSIONS FOR
HEATH H-8 & RADIO SHACK TRS-80
ADD $49.95
Interfaces also uva,luble
MICRO MAFION
TARBELL
MORROW
SD SALES
Prices good until June 30 . 1978. limited to
existing inventories

HEATH H -8ITRS-80
TO S-100 ADAPTERS
AVAILABLE
Special S-100 Adapter for
TRS-80 , incl. backplane, P.S.
and 32K of memory

ALL FOR ONLY $495


FULL LINE OF MEMORY BOARDS, VIDEO
DISPLAY MODULES, AND r'RUIOIYPE
BOARDS FOR THE HEATH H 8 AVAILABLE
Add $5 for Shipping, handling, and insurance
for each item ordered
Send for free catalog

MiniMicroMart, Inc.
1b18 James Street
Syracuse, New York 13203
Phone (315) 422 4467

Circle 251 on inquiry card. Hd^ 1978- as It rev, ,r rn 153

Circle 351 on inquiry card.

Available for Immediate Delivery

QUALITY
BusinEss
PROGRAMS
GENERAL LEDGER . A comprehensive GL system designed for
professional accountants and
small businesses. QUICKLY set
up any custom charts of accounts
to handle single or multiple departments. INTERACTIVELY verify
data. CUSTOMIZE report formats
and headings. EXHAUSTIVELY
documented. COMPUTER knowledge not required. Written in
CBASIC, the GL system costs

Component Types and Values


Unless otherwise noted, all components and values in the schematics of
BYTE magazine are assumed to be
typical of low power logic and signal
electronics:
Resistors : Power ratings of %a W, carbon
composition, 10% tolerance or 5%
tolerance depending on value are standard default assumptions. Values are in
ohms (no units symbol), decimal
thousands of ohms (K units symbol),
decimal millions of ohms (M units
symbol). Typical exceptions to these
defaults are:
10 W, %2 W are notations of
typical power ratings differing
from %a W.
1% is a notation of an explicit
resistance value tolerance when
10% is not adequate.

$995

NAME AND ADDRESS (NAD)


SYSTEM with optional reference
information MAINTAINS files and
allows SELECTION on all fields for
printing LABELS, REPORTS, or
new files. Thoroughly documented
and written in CBASIC. Only $79

OSORT . A fast and efficient, easy


to use, Full Disk Sort/Merge. Its
AUTOMATIC operation, multiple
sort keys, and complete backup
provide power and flexibility. In
8080 code, $95
CBASIC . An Advanced, Comprehensive, Commercially Oriented
Compiler/Interpreter including full
disk access, PRINT USING. 14
digits of precision, and much
more. With 85 page manual,

Capacitors: Capacitors are assumed to be


20% tolerance, nonpolarized, with voltage ratings greater than or equal to the
difference between the most positive
power supply voltage and the most
negative power supply voltage. Values
are in microfarads (no units symbol, or

To order or for more information, Call:

ftructured tyitemi Group


5615 KALES AVE.
OAKLAND, CA. 94618
(415) 547.1567
California residents add 6 "2 % Sales Tax.
Prepaid or COD only.

Lucas-Adams Labs UnLtd is proud


to announce the perfection of the
following special function boards, all
plug-in compatible with Altair (5-100)
bus mainframes, and adaptable for other
buses with a transfer:
Mainframe expander board -- hydraulic:
Two 2 cm hydraulic jacks extend to a
maximum of 14 cm to expand the
available internal space of most ductile
mainframes. Complete with integral
fluid reservoirs and high capacity pump.
Freon cycle refrigerator board with
multiple radiator boards : Eliminate the
noisy mechanical fan and keep your
micro's temperature down with this
quiet running refrigerator board. Compressor runs off the mainframe's +8 V
supply; usable with up to 12 radiator
boards, each to be located near a
memory or processor board to keep it
cool.
Solar energy package board: For an
ecologically sound second power source,
try our solar energy board. Fitting into
a single Altair (5-100) bus slot, an extender on top of the board unfolds,
software controlled, to expose a 12 foot
square solar panel, with ample capacity
for your entire bus during the daylight
hours.

Dealer Inquiries Invited.


CP/M is a trademark of Digital Research.

154 M,i 1978

Nv I t l' I,hi anon, i^

Electrolytic capacitors are indicated by explicit notation of


polarities (+) and (-) on the
diagram.
Explicitly noted voltage ratings
always appear for electrolytics,
and occasionally for other types.
Where some other tolerance parameter is critical (such as temperature coefficient, type of capacitor
technology, etc) it will be noted
near the part in question.
Power Supply Circuits : Power distribution circuits are assumed to follow
good engineering practices for prototype
equipment : heavy distribution bus conductors , frequent bypass capacitors (.01
to .5 /IF ceramic disk) spread throughout
the board in question , and at least one
fairly large ( eg: S to 25 /IF) electrolytic
bypass capacitor per supply voltage per
board . Bypass capacitors are wired from
the supply voltage to ground. These
assumptions are not noted in each
drawing , but should be observed as a
matter of course.

New Product Information

$99.95

All programs require the 8080 or


Z-80 CPU and the CP/M floppy-disk
operating system. All our software
is attractively packaged and shipped from stock.

units symbol F or F) or picofarads


(units symbol pF). Typical exceptions
to these defaults are:

Hydroelectric power board : This clean


source of power is generated by a diver-

sion of the source to drain flow of 1012


FETs contained in only 64 LSI chips.
High tension printed circuit lines transfer
power to an on board substation for use
on the bus.
Garbage compactor board : Bothered by
garbage from old programs, obsolete
data, initialization? Our garbage compactor board compresses the equivalent
of a full 64 K of garbage into the space
of only one 4 K static or dynamic
memory board, for easy disposal.
Terminal board: This board is sold with
only two days life left of declining service, at which point it self-destructs.
Nonrepairable.
DART random number board: On the
board are four concentric shift register
rings and 16 pointed, feathered electrodes for truly random number generation.
PROM memories board : Complete with
a big band clocking and rhythm section,
this board boasts a hardwood dance
floor option and fast access time.
Refresh area on board (for volatile
spirits only).
Abacus board : This nonvolatile processor can provide emergency computing ability during complete power
failure. Comes with on board direct
access BEAD memory. (User must
provide some logic.)

13 VT['$ 130g$

DATALYZER ... a 24 channel


Logic Analyzer for your S100 Bus

A Note About Simulations, Part 3


I have just received a letter from
David O'Neil of Greenacres FL pointing
out some errors in the program which
accompanied my article "Simulation of
Motion Part 3" in the January 1978
BYTE. According to Dave, lines 680 and
970 should be changed as follows:
680 LET A=(COS(G)*D*V2+
COS(L)*F)/M
970 DATA 1.6,5.6,0.0337,1.0E-4,1.7,
0.0,0.0333,1.0E-4,100,0.0,
0.0333,1.0E-4
Line 330 is incorrect and should be
deleted; and lines 490, 510 and 550 are
superflous and may be deleted. I agree
in all cases and apologize for my poor
proofreading.
Stephen P Smith
POB 841
Parksley VA 23421

24 Channel LOGIC ANALYZER, complete with 2 cards and 3 sets of probes.

Features
- 24 channels with 256 samples each.
- Display of disassembled program flow.

That's the Way the Paper Folds

- Dual mode operation - external mode analyses any external logic


system. Internal mode monitors users data and address bus.

I would like to call to your attention


an error noticed on the cover of the
December 1977 BYTE.
The paper coming out of the printer
has a very unusual fold ; it is not the
normal fan fold. In fact it is difficult to
see how the paper is fed with that fold
pattern ( unless on a roll).
Other than the "ancient technology"
of paper folding , I enjoyed the article
on the Star Trek computers.

- Selectable trigger point anywhere in the 256 samples.


- 0-16 bit trigger word format or external qualifier.
- 8MHz sample rate
- 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.)

Richard L McCracken
85 E Emerson
Chula Vista CA 92011
There is no obvious supply of paper,
either. But the idea is conveyed, and
even if we could, we're not about to
revoke Robert Tinney's artistic license.

Displays in Binary

Displays in Hex

Display of disassembled
program flow.

The DATALYZER
Address Correction
In Sol Libes' article "Where to Get
Bargains in Used Computer Equipment"
which appeared in the December 1977
BYTE on page 154, the entry for the
Rondure Co was incorrectly stated.
The current address of that company
is:
Rondure Co
2522 Butler St
Dallas TX 75235
Thanks to Stan Shannon , president of
Rondure , for pointing out this error.

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


complete system -- for only $595. 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 ($595), and as a fully
assembled device on two PCB's ($695). Operators' manual $7.50. A
substantial warranty, and the Databyte, Inc. commitment to service
make the DATALYZER a worthwhile investment.

Data byte, Inc.


Circle 82 on inquiry card.

7433 Hubbard Avenue


Middleton , Wisconsin 53562
Tel: (608) 831-7666
.May 1978 BY] E Publications Inc 155

Chess and
Computers
- Chess and Computers by David Levy.
If you enjoy playing chess, then you should
thoroughly enjoy Chess and Computers.
This 145 page paperbound book is loaded
with chess games played by computers. The
games are computer versus computer and
computer versus human. When you settle
down with this book, it would be a good
idea to set up your chess board and play
the games. As with any good chess book,
half the enjoyment is found in playing
along, duplicating the moves, reading the
comments by the author and adding your
own comments. $8.95.

-Basic Computer Games: Microcomputer Edition edited by David H Ahl. Here


are 102 classic computer games, every one
in standard microcomputer BASIC; every
one complete with large, legible listing,
sample run and descriptive notes.

All the classics are here: Super Star


Trek (one of the most challenging versions
anywhere), Football (two versions), Blackjack, Lunar Lander (three versions), Tic Tac
Toe, Nim, Life and Horserace.
This revision of 101 BASIC Computer
Games is a real must, even if you own the
original. $7.50.
-Programming Proverbs by Henry Ledgard. "Programmers can and should write
programs that work the first time." This

-Microprocessor Systems Design by


Edwin E Klingman. Outstanding for its information on real microprocessors, this text
is both an introduction and a detailed reference source treating over a dozen processors, including new third generation devices. No prior knowledge of microprocessors or microelectronics is required. Designed to be self-contained, there are many
illustrations to clarify timing concepts and
control structure. Hardback $17.50.

The Compulator Book by R P


Haviland. Tells you how to mate the computer with the calculator. This unique new
volume provides ideas, design information
and/or printed circuit boards for calculator
chip projects including computer interface
for log and trig functions, electronic lock,
dial a telephone, interface to Teletype, tape
control of calculator, giant displays, store
and display, and many more. Yours for
$7.95.

The "Simplified Computer" Series

statement may sound idealistic to those


accustomed to long hours of debugging.
Yet, it's the theme of this book-a unique
collection of "proverbs" or rules and
guidelines for writing more accurate errorfree programs. And like all proverbs, they
are compact gems of truth. $6.95.

_Dr Dobb 's Journal of Computer Calisthenics and Orthodontia Volume I is a


collection of everything from the first year
of Jim Warren's outstanding journal. As
Carl Helmers, Editor in Chief of BYTE
Magazine says, "Dr Dobb's Journal can help
make your computer an indentured
servant." $13.00.

-..-Assembly Level Programming for Small


Computers by Walter H Weller. One of the
most professionally produced books we've
seen . From front cover to back, this book is
clear, detailed, and beautifully produced. For those just beginning computer programming, knowledge of binary arithmetic, comUsing a pseudo mnemonic assembly Ian- puter logic, and program design often comes hard. Never fear, help is on the way!
guage, Walter Weller takes you inside the
With Simplified Computer Arithmetic , you can learn the ins and outs of arithmetic the
whys and hows of table referencing, data way computers do it, including the various methods of representing numbers, addition and
stacks, number conversions, floating point subtraction, and negative number representation.
I arithmetic, and much, much more. Surely In Simplified Computer Logic , learn how comparisons of numbers by the computer
one of the most complete books on this are performed with detailed examples and text.
i topic. Assembly Level Programming for -Simplified Computer Flowcharting will show you how to design efficient, effec: Small Computers is a must for the serious tive programs. This book is laden with examples and detailed figures to make it easy for the
small systems user. $14.95 hardcover. beginner to understand and retain. $1.50 each includes postage and handling.
------------------------------------------------------------------------------------------156 BY IE May 1978

The M6800
-Practical Microcomputer Programming:
The M6800 by W J Weller. This second
volume of the Practical Microcomputer
Programming series addresses the problems
of applications programming at assembly
level for the M6800. In 16 chapters and
more than 100 formal examples, the fundamental techniques of assembly level programming are applied to the solution of
specific problems with the 6800. Nowhere
theoretical, it is a thorough and detailed
methods text for the beginning and intermediate application programmer using the
6800. Hardback $21.95.

Take A Chance With Your Calculator


is a first step to introduce the use of programmable calculators in the study of probability and statistics. The book can be used
as a source of ideas for teachers, or it can be
used for self study as an introduction to
these fields. It can also be used as a supplement to existing teaching materials in
probability and statistics. You will need no
previous experience either in probability
theory or in programming to learn both
from Take A Chance With Your Calculator.
$8.95.

The First Book of Kim


The Linear And Control Circuits
Handbook is the latest offering in the Texas
Instruments series. Roboticists and others
interested in linear and analog control
circuitry will find much of interest here.
Devices covered include op amps, timers,
voltage comparators, analog switches, and
voltage regulators.
A special section covers differential
video amplifiers, logarithmic amplifiers,
precision level detectors, and analog processors.
If you have an analog circuit application,
this could be the book you've been looking
for. $2.95.

The First Book of KIM. Attention


KIM users! Here is the book you've been
waiting for. In it you'll find a beginner's
guide to the MOS Technology KIM-1
THE FIRST
microcomputer as well as an assortment
of games including Card Dealer, Chess
Clock, Horse Race, Lunar Lander and
OF
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
OR8 devices . This 176 page volume should
prove an essential addition to any KIM
user 's library. $9.00.

$ 9.00

BOOK
KIM

DIAL YOUR BANK CARD ORDERS ON THE BITS TOLL FREE HOT LINE: 1-800- 258-5477.
In New Hampshire, call: 924-3355

Check Payment method


_My check is enclosed

Send to:
BITS, Inc.
70 Main Street
Peterborough NH 03458

Bill my MC No I I / Ex date
p
aE

Bill my BAC No .

Exp.

date

Total for all books checked

Name

Pc;tags,75 cents per book foi books $

Address

Outside U . S. $1.00 per book for books $

City State Zip Code

Grand Total
Signature

Prices shown are subject to change without notice.


- You may photocopy this page if you wish to leave your BYTE intact . Billing charge $ 1 00 (Institutional orders only).

Circle

35

on

inquiry

card.

BYTE May 1978 157

10
Look To The Horizon. tin
The North Star
HORIZON Computer.

Book Reviews
The Dragons of Eden
by Carl Sagan
Random House, New York
263 pages, 6'/z by 9% inches
$8.95

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

And, Look To Computer Enterprises


For The Lowest Prices & Fastest
Delivery On North Star Horizon
Computer System:
Credit Cash
Discount
Card
Price Price
Horizon 1 System (one drive) kit ... $1497 $1439
Horizon 1 System (one drive)
assembled .................... $1777 $1709
Horizon 2 System (two drives) kit .. $1871 $1799
Horizon 2 System (two drives)
assembled .................... $2199 $2114

ALSO: Run TDL Software On Your


Horizon...
TDL Package A with Super Basic .. $ 228 $ 219

For Your Serial Terminal:


Lear Siegler ADM-3A (kit) ....... Call or write
Lear Siegler ADM -3A (assembled) . for prices

Call Or Write Today


For Computer Enterprises'
FREE Spring Computerlogue!
IMSAI PCS-80/30 kit ........... $1097 $1055
IMSAI PCS- 80/15 kit ........... $ 748 $ 719
IMSAI VIO-C kit ............... $ 297 $ 286
TDL ZPU Board (assembled) ..... $ 183 $ 176
TDL XITAN ALPHA 1.5 kit ..... $ 812 $ 781
Seals 8k 250ns RAM (assembled) .. $ 203 $ 195
Dynabyte 16k 250ns Static RAM
(assembled) .................. $ 577 $ 555
Cromemco Z2D kit .............. $1399 $1345
Cromemco Bytesaver less Proms kit $ 136 $ 131
Shipping charges : $10 per CPU on larger units ; $1.50 per kit. $2.00 min.
per order.

Delivery is stock to 30 days on most items . Shipment is immediate for


payment by cashier's check, money order or charge card. Allow 3 weeks
for personal checks to clear. N.Y. State residents add approp. sales tax.
Availability, prices and specs may change without notice.

Operating Hours:
M-W 10-5 E.S.T.
TM TH-F 10-9 E.S.T.
Closed Sat. & Sun.

P.O. Box 71 Fayetteville, N.Y.13066


Phone (315) 637-6208 Today!
158 May 1978 c BYTE Publications Inc Circle 70 on inquiry card.

Carl Sagan's premise is that the human


brain is a very highly developed general
purpose biological computer. Dragons of
Eden traces the evolution of this machine
from its most primitive beginnings. The
provocative title stems from the interesting
theory that the early reptilian (hence
dragon) brain is still very active in humans
as a subcomponent of our full mental
equipment. The theory that brain evolution
occurred not so much by change as by
accretion of new components seems to be
substantiated both by physiology and by
function. Sagan suggests that occasional
apparent subversion of higher brain functions by the "dragonian" sub-brain may be
the true referent of various Eden mythological allegories.
Later chapters of the book deal with
brain functioning and potential for development. A most interesting aspect of this is
that the left and right hemispheres of the
brain appear to function with a high degree
of independence, although they are closely
interconnected in the normal brain. One
hemisphere seems to operate principally
in a "digital" mode, dealing with analytical

VECTOR
PACKAGING MATERIALS
SAVE TIME & MONEY
computations, while the other simulates
more "analog" qualities, and is the seat of
such nebulous functions as inspiration and
intuition.
In his discussions of the computer, for
comparision of the brain to an artificially
evolved intelligence that is more completely
understood, Sagan includes the following
observations (page 216):
The two games, Pong and Space
War, suggest a gradual elaboration of
computer graphics so that we gain an
experiential and intuitive understanding of the laws of physics. The laws of
physics are almost always stated in
analytical and algebraic-that is to say,
left-hemisphere-terms; for example,
Newton's second law is written F =
m a, and the inverse square law of
gravitation as F = G M m/r2. These
analytical representations are extremely useful, and it is certainly interesting
that the universe is made in such a way
that the motion of objects can be
described by such relatively simple
laws. But these laws are nothing more
than abstractions from experience.
Fundamentally they are mnemonic
devices. They permit us to remember
in a simple way a great range of cases
that would individually be much more
difficult to remember-at least in the
sense of memory as understood by the
left hemisphere. Computer graphics
give the prospective physical or biological scientist a wide range of experience with the cases his laws of nature
summarize; but its most important
function may be to permit those who
are not scientists to grasp in an intuitive but nevertheless deep manner
what the laws of nature are about.
Benefits to be derived by the computer
enthusiast from the understanding of the
functioning of the human brain presented
in this book are twofold: it offers new
understanding of the way biological intelligences function which may be of value in
developing computer systems, and it suggests
ways in which computers may be used to
augment and stimulate the biological mind.
Sagan submits that the computer itself may
logically be considered to be the next step
in human brain evolution, the mind having
by its own ability finally released itself from

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

Model VP2
BEAUTIFUL
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.

Model
8803

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.

VECTOR ELECTRONIC COMPANY, Inc.


12460 Gladstone Avenue, Sylmar , CA 91342
phone ( 213) 365 -9661, twx 910 -496-1539
540777

Circle 383 on inquiry card.

%la 1975 81 Tr Pu Mic,tion, Inc 159

Circle 120 on inquiry card.

1 6H RAM

restriction to a purely biological mechanism.


Dragons of Eden well deserves its high
place on the nation's nonfiction best-seller
lists, and should be read with relish by
anyone with an interest in the mechanics of
intelligence, whether natural or artificial.

FULLY STATIC
INTRODUCTORY
KIT PRICE

$450

10 SLOT MAINFRAME
TT-10...KIT $325
10 SLOT TABLE TOP
MICROCOMPUTERS
TT-8080 . .KIT $440

Jim Heter
107''/ S Carondelet St
Los Angeles CA 90057

SYSTEM WITH 16K & I/O


TT-8080-S. KIT $1050
CARD CAGE & 1
MOTHER BOARD
ECT-100 ...KIT $100
CCMB-10 ...KIT $75

ilL

WITH CONNECTORS
& GUIDES
ECT-100-F...KIT $200

$14.95

CCMB-10-F ...KIT $125


CPU'S. MEMORY
MOTHER BOARDS
PROTOTYPING BOARDS
EXTENDER CARDS
POWER SUPPLIES
4ft
SHIPPING EXTRA
DEALER INQUIRIES INVITED

ELECTRONlIC CON. THOL TECHNOLOGY


' FACTORY ADDRESS:
763 RAMSEY AVENUE
HILLSIDE N. J 07205

MAILING ADDRESS:
P. O. BOX 6
UNION , N. J.07083
(201) 686-8080

dddddddddddddddddddddddi

See the computer.


idto
See the computer punt.
if] Read The computer Book., El^
4
14
10
The Computer Book by Fred Lee is a one-of-a- 14
- kind text. Actually, it is two books in one:
not only does Lee present the basics of compu-3
ter theory and operation in clear and concise E4
language, but he also presents a unique format [^
L

memory address. As a result, the reader actualiiO


ly goes through the same logical steps thatj
a
4 computer would follow while running a pro4] gram.

14
Contents include number systems and codes, 14
practice programs, high level languages, and a E4
section on the home computer market. Line

drawings, charts, and tables make this book of E4


1 interest to the professional and well as non- E4
ID rofessional
in the com p uting field
P
"Show and Tell" was never this good

14
E4

4V Artech House Books, 610 Washington St.,

V Dedham, MA 02026 E4
4-1 617-326-8220 El^
4P 4P ]o11 41 4p ppppppppppppPppp
160 M.,, 1978

Digital Computer Electronics


by Albert Paul Malvino
McGraw-Hill, New York 1977
393 pages

BN I I Pubbiato,i, In, Circle 21 on inquiry card.

"If the action of small computers is not


quite clear, if you feel something is blocking
your understanding of microprocessors, or if
the whole computer thing has never quite
come together, then this is the book you've
been waiting for." Thus, author Malvino
describes the audience for whom this book
was written. And, although it is a text for
technicians, the author presents the material
in such a clear, readable style that the book
is an invaluable reference for anyone wishing
to improve his/her understanding of computers in general and microcomputers in
particular.

Prerequisites to understanding the book


are electronics to the level of DC and AC
theory, with transistors and diodes.
The first seven chapters are devoted to
the basic logic circuits, binary numbers and
arithmetic circuits. Explanations of logic
circuits, flip flops, registers and memories
make the book worth the price for these
topics alone.
Most computer books present a block
diagram of a "typical" computer and use
that as the frame of reference for the rest
of the book. Dr Malvino has designed a
working 8 hit computer with only six
instructions in its instruction set. He calls
it SAP-1 (for simple as possible, #1). He
uses SAP-1 to explain how the basic
elements of a computer are tied together
into it working system. Anyone with an
understanding of TTL could build a SAP-1
computer if desired. SAP-1 is used to
explain such concepts as busing, three
state logic, elementary programming, instruction fetch cycle, instruction execution
cycle, and operation of the internal control
unit.
In chapter 9, the author explains the
significance of adding jump instructions
to the instruction set of a computer, and
proceeds to design SAP-2, a 12 bit working
computer with 28 instructions in its instruction set, including six jump instructions.

Chapters 10, 11 and 12 cover advanced

Circle 405 on inquiry card.

concepts of computers. I n chapter 10, the


author presents SAP-3, a computer with
most of the characteristics of modern
computers. Chapters 11 and 12 cover such
topics as microprograms, microroutines,
variable machine cycles, manual loading,
bootstrap loading and fixed point, floating
point, and double precision arithemetic.
Although the book is organized as an
orderly progression from the basics of logic
circuits through advanced computer concepts, each chapter could almost stand
alone as a comprehensive treatment of its
topic. For example, if you already understand the type D flip flop, then you would
have no trouble in understanding chapter 6
on registers.

If you are associated with computers


from a purely hobbyist viewpoint, with
little or no interest in the technical "innards," then this book is not for you. However, if you hope to learn enough to troubleshoot your own, then this book will surely
prove helpful. If you have a strong technical
interest in computers, whether as a hobbyist
or a technician, then you need a copy of
this book.
Dr Tom Lukers
Rt 1 Box 277B
Lufkin TX 75901M

The Elements of Programming Style


by B W Kernighan and P / Plauger
McGraw-Hill, New York 1974
147 pages paperback
$2.65
This book should be in the library of
every computer enthusiast, for it bridges
the awful gap between those beginning
moments, and clean, efficient code. By
teaching sound principles, the authors
give the reader a definite method for
improving skills in programming. There is
a need for programmers to proofread their
code with a copy editor's blue pencil. Yet
few of us know how. The old adage prevails: "If it works, leave it alone." This
bromide is a carte blanche for programmers
of every level of skill to leave confusing
code alone, since most programs are judged
by the result, and not by the means. Yet in
the microcomputer business, it is critical
that space be well used.
To their everlasting credit, the authors'
first lesson is, in my opinion, the most
important. It requires clarity of expression.
Make the code show what it does, don't
hide the purpose in elegant expressions.
Nothing is more frustrating than to attempt
to figure out the meaning of mysterious
code. A programmer must keep in mind
that somewhere in the future it may be

=ME=* 2708
EMEN0001- pPD 458
_* TMS 2716

PRAM M ER III
by xybek

The Ultimate EPROM Memory Board


For Your S100 - Bus Computer
* Accommodates from 1 k to 30k of the above EPROMS, in
any combination, each addressable on any 1 k (2k for
2716) boundary within the board's 32k address space.
* 1 k of scratch-pad RAM.
* On-board programming for all three EPROM types.
* Tri-state buffers on all address and data lines.
* Empty EPROM sockets do not require address space.
* Assembled, tested, ready to run - only $369.50

xybek

P.O.Box4925 Stanford , CA94305


Telephone: (408) 296-8188

Motorola EXORcisor
Compatible Hardware
8 K Static Ram
2 - 4 K write protected blocks
500 nsec version - regular price-S324.95
Introductory offer' - $275,
Backplane and Card Cage
+5v and 12 volt regulators and
daisy chain connector 5 slots-S124.95
10 slots-S144.95
connectors (instal led)-$5.50 ea.
Unregulated Power Supply
+5v @ 8 amps, 12v @ 1.0 amps-S124.95
+5v @ 15 amps,_- 12v Co, 1.5 amps-S144.95

Industrial quality, Motorola EXORcisor


compatible hardware by

American
Technologies
PC, Box 23001 Rochester N Y 14692
71(-244-8070
DEALER INQUIRIES INVITED
JIV -0 '078

Circle 6 on inquiry card.

%1j, Iv T B7 IL P,hh,ni,,, Im

161

Circle 155 on inquiry card.

80-103A Serial I/O and FSK modem for


professional and hobby communications.

Completely compatible with your IMSAI, ALTAIR*


SOL** or other S-100 microcomputers.
Trademarks of *MITS, " Processor Technology
Designed for use on the dial telephone or TWX
networks , or 2-wire dedicated lines, meets all
FCC regulations when used with a CBT coupler.
All digital modulation and demodulation with on
board cyrstal clock and precision filter mean that
NO ADJUSTMENTS ARE REQUIRED
Bell 103 standard frequencies
Automated dial (pulsed ) and answer
Originate and answer mode
110 or 300 BPS speed select
Complete self test capability
Character length , stop bit , and parity
90 day warranty and full documentation
PRICES Bare Board and Manual 49.95
Assembled ( 48 hour burn in )
279.95
Master Charge or Visa accepted.

D C Hayes Assoc.
P.O. Box 9884 , Atlanta , Ga. 30319 , 404/231-0574

ATTENTION
COMMODORE PET USERS!
Low Cost Financial Software on Compatible
Cassette Tapes for your PET Computers . Samples
from our program library include:
MORTGAGE $15.95
Calculates mortgage data, e .g., principal paid to date,
outstanding principal, mortgage equity, interest paid to
date, outstanding interest, and more.
ANNUAL REPORT ANALYZER ( Manual ) $ 22.95
With annual report in hand, you input 5 yrs revenues
and income; program computes: Percentage growth in
sales, profits, earnings per share; PE ratio; Profit
margins; Current ratio; Book value; Return on equity;
Payout ratio; Dividend yield; Theoretical value for
stock & PE ratio; Implied yield & growth rate; more.
STOCK ANALYZER ( Automatic Data Entry ) $ 34.95
Same as Annual Report Analyzer except data is automatically entered from Data Base tapes simply by entering ticker symbols.
DATA BASE ( Updated monthly ) $ 175.00 Per Year
Statistical data on over 2,500 Industrial Stocks on the
New York, American and Over the Counter Exchanges.
OPTIONS $24.95
For both option buyers and writers, program computes
the theoretical value of an option with graphics.
Pursuant to Rule 206(4)-1(A)(3) of the Securities and Exchange Commission, it should be noted that the above mentioned programs should not in and of themselves be utilized in
making investment decisions . The scope and usefulness of the
above programs are limited , with values in some cases being
purely theoretical.

SEND FOR FREE BROCHURE


NATIONAL CORPORATE SCIENCES, INC.
(Registered Investment Advisors - Our 10th Year)
790 MADISON AVENUE
NEW YORK , N.Y. 10021
162 s1 .,^ 1978 13'11 F hi-am,.ln Circle 274 on inquiry card.

necessary to modify the program. That is


hard to do when the existing code cannot
be deciphered by anyone, including the
originator. In every computer center, there
are gobs of temporary programs drafted
into continued use for years.

To illustrate the principles of good code,


the authors use excerpts of actual programs.
For any example, the flaws are pointed out,
the segment is rewritten, and the general
rule is stated. Several points may be discussed for each example. FORTRAN and
PL/I are used as model languages, since
each is in common usage. Also, familiarity
with one language implies that the other can
be understood. However, the rules discussed
apply in any language, including BASIC and
assembler.
The models used are taken from beginning textbooks, where code is usually first
seen by the neophyte. One would think that
good style would abound in textbooks, but
it's just not true. With the authors' help,
the reader can read other programmers'
code filtered through a solid foundation of
principles.

There are lessons in structure, design of


input and output and how to format code
for clarity. There is an excellent chapter
on documentation, my personal curse. Do
your variable names mean something? They
should carry the mnemonic image of what
they represent. Is your code modularized?
Do you use comments, or worse yet, overuse
them? The recurring theme in this splendid
book is to plan your work to be simply
stated and executed.
The models used provide a spectrum of
programming applications. Some of the
examples require a bit of higher math to
follow, but the lesson is very clear. There
are models dealing with student grades,
salesmen's tallies, and sorting. There is
meat here, for both the novice and professional.
In citing the textbooks from which
they drew examples, the authors provide
a list of manuals of instruction for the
reader. There is a somewhat brief section
on supplementary reading, as well as a
thorough index. There is a summary of
rules, which condenses the lessons of the
text. Each chapter has a few questions
which will allow you to apply the points
discussed. It would be a bargain at a much
higher price than the modest $2.65. This is
a valuable book, and I'm glad it is on my
shelf.
Noel K Julkowski
Naval Environmental
Prediction Research Facility
Monterey CA 93940

Circle 312 on inquiry card.

COMPUTE YOUR SAVINGS...


IMSAI 8080
A VERY SPECIAL PACKAGE: IMSAI 8080 KIT (22-SLOT
MOTHERBOARD, FRONT PANEL, 28-AMP POWER SUPPLY), WITH
IMSAI 4K STATIC RAM MEMORY KIT... RETAIL VALUE: $838

SPECIAL CASH PRICE: $ 599.95


80 80 WITHOUT MEMORY:
$569.95

TDL XITAN 2

Standardization of
High Level Languages:
Some Questions
E M Greene
5067 Bluestem Dr
Colorado Springs CO 80917

NO TIME TO BUILD: TECHNICAL DESIGN LABS, ASSEMBLED


AND TESTED XITAN ALPHA 2 (WITH Z-80 BOARD, SYSTEM MONITOR BOARD, AND 16K OF STATIC MEMORY) WITH 12K SUPER
BASIC... TOTAL RETAIL VALUE: $1749
SPECIAL CASH

1. What is to be standardized?
The existing standards for the COBOL,
FORTRAN, PL/I, BASIC and MUMPS
languages were developed starting from
definitions which existed when their
respective standardization activities were
initiated. There was experience in using
and implementing the languages prior to
and during the standardization process. The
point is that historically standards organizations have not been defining new languages, but instead have only been refining a
definition of an existing language.
Perhaps Mr Taylor had in mind the
standardization of an existing language
such as APL, PASCAL, or one of the string
processing languages. All other "major"
languages have standards in existence and
organizations responsible for continuing
support.
If Mr Taylor had in mind the definition
of a subset of an existing language, it should
be noted that ANSI has committees actively
engaged in preparing standards for subsets
of PL/I and COBOL. American National
Standard Institute (ANSI) publication
X3.10-1966 contains a FORTRAN subset
definition. The COBOL standards define a
modular approach to implementing COBOL
compilers.

$1399

:CASH PRICE (W/PURCHASE OF XITAN 2):


$559
i -----------------------------------------------------QUANTITIES LIMITED. ALL PRICES PLUS SHIPPING. CHARGE
CARDS OR C.O.D., ADD 5%.

I]

BUS ............... S-100, INC.


ADDRESS ...... 7 WHITE PLACE
CLARK, NJ 07066
INTERFACE ..... 201-382-1318

O
Glen A Taylor proposes standardizing
a high level language for personal computing (Languages Forum, November 1977
BYTE, page 190). The proposal has merit,
but there are several factors to consider
before initiating a standards activity.

PRICE:

WANT MORE MEMORY? ADD AN ADDITIONAL 16K TDL STATIC


RAM ASSEMBLED MEMORY... LIST PRICE: $699

SAT.

OR

GI]
!
0
P

HOURS: M-F 10:00 A.M. - 6:00 P.M. EST


SUN. - BY APPT. ONLY

6-100, inc.
RNA 8700

p r/Controller

he Answer For...

Student
Hobbyist
Manufacturer
8700 Processor : 6503 MPU. Wear free -Active Keyboard-,
Micro-Diagnostic Extensive documentation. FullySocketed.
Piebug Monitor : Relative address calculator. Pointer High-low.
User Subroutines, Back- step key.
Cassette Interface : Load & Dump by file >a. Tape motion
control , Positive indication of operation.
Applications systems from $90 ( 10unit quantity)
Development systems from $149 (single unit)

TELL ME MORE

. ............................................
I want to see for myself that the 1700 is The Answer.

Please send documentation


and price lists. $1,: enclosed,
I I don't need documentation
please send price lists.

uldress-

Please send FRFF C%TAI.OG.


city:

.state _ zip:

em

ELECTRONICS nl:Pi'. ;-n 1020 W. Wilshire Blvd. Oklahoma City . OR 73116 1405)843-9626:
:....... .......................... .... .................... ......... ...... ..........
Circle 298 on inquiry card.

May 1978 BYTE Publications Inc 163

Circle 102 on inquiry card.

41er Hobbyist from dilithil,,,A


O
^

V
O

0E
O
=

!Q

HOME COMPUTERS : 21 QUESTIONS & ANSWERS


by Rich Didday
Volume 1: Hardware $7.95
Volume 2: Software $6.95

dr1

C
%i

Qi
3
1
O
I

0
01
N!

STEP BY STEP INTRODUCTIONS TO 8080


MICROPROCESSOR SYSTEMS
by James Melsa & David Cohn $7.95

11111

0
0

rt

2. Will there be sufficient interest to support


a standardization activity?
The preparation of a standard is a
lengthy, technically complex and expensive
process. There cannot be a standardization
activity without a firm commitment on the
part of individuals and organizations to
provide continuing support. In addition to
the initial development of a standard, consideration has to be given to the continuing
support required to maintain an active
standard.

3. Is a standardization activity premature?

CD

HOME COMPUTERS : A BEGINNER'S GLOSSARY


AND GUIDE
by Merl Miller & Charles Sippl $6.95

S
co

8080 MACHINE LANGUAGE PROGRAMMING


FOR BEGINNERS
by Ron Santore $6.95

%O

BEGINNING BASIC
by Paul Chirlian $9.95
dilithium Press books are available
from your local computer store.

A standard formalizes things "as they


are" and assumes a stable environment. The
personal computing environment is anything
but stable considering the rapidly changing
state of the art of small computers. Would
a standardization activity be able to accurately predict the personal computing environment far enough into the future to prevent producing a standard which would be
obsolete before it is adopted?

4. How would compliance with a standard


be obtained?

Publishing Personal Computing Books is Our Business)

MPI
QUALITY CONTROL TEST
FEY80kF'O TE%T 300 BtdJD F6232 SERI AL PORT
EfE9 Fri TEST 390 BpIJU i7JFPENT UJOF'
Oti _1A TE:T :roux' E iJ[ FS. 32 SLF'IAL FORT
SUFFER NF i ,F' AROUND
t^1-... =.,:345.. z^1^?3`54y'^s+ l u4%7b'90

Need Hard Copy?


TRY OUR SOFT PRICES
$425
Complete standalone 40 column impact dot matrix printer with a 64
character ASCII set Includes power supply casework and interface
electronics for connection to a mini micro processor parallel port
Serial interface versions for RS232 current loop applications start at
S575 in single quantity
SEND FOR FREE LITERATURE

r
164 Mar 1978

Box 22101
, Salt Lake City, Utah 84122
(801 ) 364-2411

BYTE Publications Inc Circle 265 on inquiry card.

Compliance with standards in the United


States is voluntary unless compliance is
required by law, regulation, directive or
contract. A language standard for personal
computing may not be effective unless the
vendors can be induced to comply.
5. Is there a need for a language tailored to
personal computing?
The impetus for a personal computing
high level language seems to arise from the
concern with the "size" of the existing
"large computer" languages. This emphasis
is misdirected in that it ignores the history
of digital computing: specifically, "small"
computers are getting functionally larger
as hardware costs continue dropping rapidly,
and the existing standard languages, especially FORTRAN, were developed in relatively ancient times when the "large" computers didn't have much more capacity than
present day "small" computers. Compilers
have been successfully developed which
support a substantial subset of PL/I and
operate in a 16 K byte computer supported
by a single drive floppy disk.
Programming languages are standardized
to promote hardware independence, commonality and transportability of programs.
Definition of a special language for small
computers would go counter to the standardization objectives by creating a barrier

Circle 306 on inquiry card.

to developing programs on one size computer and using them on a computer of


another size. Organizations and persons
involved in programming computers of
various sizes are not going to be enthusiastic
about dissimilar languages for different sizes
of computers. If a language for personal
computing is not significantly different from
existing standard languages, then the effort
required to produce a standard would not
be justified.

Grappling with GRAPL

nutac
9n 1 . tesPecte ' e nave
s
ottWate
oWn
s
ell-k n
r system
aW
ute
an d d
sn a 1
We are
OO e computers
moto
s an
tkte d
tufet OI
n
succeseducatro
s tul1y l e

entt`e er
atu11

fOr n(nes deed. at Once lat1 of

us,ness ent a m
ne ms ate
T susta n Our 9 to WO co w,e o 1ne sYs and
m ^^
t
of quality Ile Uaets Price d and ble
oevlce
t
perb c^eP Wrtn exP an6l es 0tty are
g0 ba r,enpnOral. Ca 313110t the S

Some Choice

O^trI
acc unt!^ 9 (a nventor y C
, gefle M.rooess'n9 collectlo^'era
tlo^
~
reprt 9en

We ate ^0k1

Comments
Andrew Koenig
401 Route 22 #46E
North Plainfield NJ 07060

I would like to comment on some of the


points that William Leler made in his article
("GRAPLing with APL," November 1977
BYTE, page 220). In particular, most of
his objections to the language were really
objections to particular implementations,
and these should really be much better
distinguished.
His first objection is that "all arrays
in APL must be homogeneous" and then
he goes on to explain that this means
that all elements must be of the same
"type." I don't know which "type" he
means here. Does he mean that they must
all be either numeric or character in form?
If so, such an objection is hardly adequate,
because permitting some elements of an
array to be characters while others are
numbers complicates substantially the
problem of defining the actions of the
various functions that make up the language. If, instead, he means that one cannot
mix "integer" and "floating-point" values
in a single array (an interpretation of his
remark which is rendered possible by his
use of the phrase "data type" to mean
just that in a subsequent paragraph describing GRAPL), then his criticism has
nothing to do with the language, which
defines no distinctions between integers,
bits, real numbers, and so on. APL values
are numbers or characters, and that's the
extent of its type distinctions. (For one
approach to the problem of homogeneous
versus heterogeneous arrays in APL, see
"General Arrays, Operators and Functions"
by Ziad Ghandour and Jorge Mezei, in the
July 1973 IBM Journal of Research and
Development.)

point- 01- sassing a ^ d


tel-t1 V ana9emerin9
support
mathlen9^ ^ee lotting mes
art
graphic an 9emei
roduct
d 9a
^in9lea
e
me med
hor^
"'011A th P

"
program
ate nOUScS1O d be w11y CIO, ant
We,nvtte sO t products shr^^n
desct,Ptrons user educa
IL 6p645
j ca O .
ed Ocwul n9
deta,ls jj
Aye'

INNOVEX FLOPPY DISK DRIVE


NEW-FULL SIZE $495 or LESS*
From The Same People Who Brought You The First Diskette and Drive

TO DESIGN YOUR OWN CUSTOM SUB-SYSTEM FOR LESS:


(1) BUY THE INNOVEX MODEL 410 OR 420 FROM THE MANUFACTURER
AT THE OEM VOLUME PRICE OF $495.
8" Full Size,IBM Compatible,Hard
or Soft Sector Single or Double Density

(2) BUY THE FLOPPY CONTROLLER DESIGNED FOR YOUR SYSTEM


(3) *THEN FOR A LIMITED TIME GET A REBATE FROM INNOTRONICS
HAVING BOUGHT ONE OF THESE POPULAR INTERFACES SPECIFICALLY DESIGNED TO WORK WITH THIS INNOVEX DRIVE:
Tarbell ...............$20
SCI ..................$20

Peripheral Vision .......$10

Digital Group ..........$10

WE ARE PROUD TO OFFER THE HIGHEST QUALITY DISKETTE DRIVE


FOR THE FAIREST PRICE POSSIBLE IN THE INDUSTRY

ACT NOW AND SAVE!!!!


Send Check Or Money Order for $495
Less Rebate If Applicable

(proof of purchase required)

INNOTRONICS CORPORATION/DEPT D
BROOKS ROAD

LINCOLN , MASSACHUSETTS 01773


Tel. (617) 259-0600
"`Offer Ends 7-1-78
Circle 178 on inquiry card.

May 1978 (0 BYTE Publications Inc 165

Circle 131 on inquiry card.

And now... a few


well chosen words from EMM

His next objection is that there are no


constructs for serial operations. This is a
minor problem, since conditional branches
and recursion are both available: more than
that might be nice, but hardly necessary. His
comment about "much wasted computation" presumably comes from expressions
like:
(X ='

256 words on one chip , to be exact. With TTL compatible


inputs and outputs , a 400 ns maximum access time,
and needing only a single + 5V power supply to function. It's a small memory system in one standard 22-pin
DIP, with multi-sourced pin-out . And it ' s available for
off-the-shelf delivery. Now.
Get the latest word on the EMM SEMI 3539 256x8-bit
static RAM from any EMM SEMI sales office or
distributor. Or call us today.

mm SEMI, INC.
A subsidiary of Electronic Memories & Magnetics
3883 N.28th Ave., Phoenix, AZ 85017 (602) 263-0202

Software
Games CRAPS (Las Vegas style) $6.00
MULTIPLE LUNAR LANDER $8.00
SLOT MACHINE $6.00
GAME PACKAGE: Russian Roulette, Mad
Scientist, and ABM $8.00
Graphics PICTURE MAKER with AMP' L ANNY $12.00
GRAPHICS PACKAGE I: Laser Beam, Space
Shuttle, and Blast Off $10.00
GRAPHICS PACKAGE II : Rain in Greece, Flea,
Textwriter, Random Walk $10.00
Scientific FOURIER FIT : Does curve fitting $15.00
Systems RANDOM NUMBER GENERATOR TEST $5.00
HEX MEMORY LOADER $10.00
MEMORY DUMP PROGRAM $10.00
MEMORY SEARCH $5.00
All Programs Written in BASIC
Complete Easy to Read Documentation
Programs Completely Tested

SOFTWARE RECORDS
P.O. BOX 8401-B
UNIVERSAL CITY, CA 91608
(cal residents add 6% sales tax)
166 Mav 1978 ; BYTE Publications Inc Circle 330 on inquiry card.

')10

to find the first nonblank string in X; if he


objects to the fact that all elements of X
are tested for equality to blank, this objection is to an implementation shortcoming,
not to a language shortcoming. Idioms of
this sort can easily be recognized by an
appropriate optimizing compiler, and much
of the delight of using APL is in the fact
that it frees the programmer from worrying
about coding drudgery of this sort.
His third objection is that "APL is
terrible for dataset management." This is
a void objection, because the concept of
a "data set" or "file" is not defined in
APL at all. Instead, there is a "shared
variable" facility, which is explicitly
designed to permit APL programs to
communicate with other programs, presumably written in some other language.
This definition leaves the particular operations to be implemented as defined by the
host environment, and suitable auxiliary
processors can make all the data management facilities of a particular environment
available to the APL programmer. A failure
to make a desired facility available must
again be classed as an implementation objection.

His next objection is to APL's lack of


interrupt handling. This is an acknowledged
problem with the language as currently
defined, and he will probably not have long
to wait for a reasonable solution.
His next objection is to APL's use of
storage space. Surely this is only an implementation objection! In fact, in most APL
systems I have used, it is possible to get
much more work done in a given amount
of space in APL than in FORTRAN, because
APL programs take up much less space than
their FORTRAN counterparts.
His next objection is that "almost no
translation can be performed on APL code."
This is simply not true. In particular, neither
of the two APL implementations I have
worked with require any symbol table
lookups while a program is being executed
(unless it uses the "execute" function).
His last objection is to APL's lack of
character handling. Lack character handling
it may, but it is certainly better than many
other languages in that regard. See the

Circle 91 on inquiry card.

aforementioned paper for a big possible


improvement.

Now some questions about William


Leler's claims for GRAPL:
1) If GRAPL executes left to right, what
about assignment ? If I want to assign the
sum of B and C to A, am I going to have
to write AE ( B+C) or will the parentheses
be unnecessary ? If they are unnecessary,
the language cannot also have both strict
left to right execution and equal function
precedences . One reason APL is right to
left is that that permits both polynomials
and continued fractions to be written
without any parentheses at all. Can
GRAPL claim a similar advantage?
2) "GRAPL is block structured like
ALGOL, which allows a simple and
efficient storage management scheme."
What is there about APL ' s block structure that requires complicated or inefficient storage management?
3) What is a KEIL structure?
4) "When a program is executed, it is
partially compiled and then executed
interpretively . This is one of the fastest
methods of execution." This sounds a
whole lot like the way IBM's APL systems handle program execution.
5) Are spaces really ignored in GRAPL
programs ? In other words, is

LSI-11 TIME

It's TIME you brought your LSI- 11 up to DATE. TIME and


DATE, two important parameters in the computer world, are
available to your LSI-11 on one DUAL SIZE BOARD. When
requested , the TCU- 50D will present you with the date (month
and day ), time (hour and minutes ), and seconds . Turn your
computer off and forget about the time - your battery supported TCU- 50D won't, not for 3 months anyway . The correct
date and time will be there when you power up.
The TCU- 50D is shipped preset to your local time, but can be set
to any time you want by a simple software routine.

AT $295
YOU CANT AFFORD TO IGNORE TIME
Time is only one way we can help you upgrade your LSI-11 or
PDP-11 system. We'd also like to tell you about the others. So
contact Digital Pathways if you're into -11' s. We are too.

DIGITAL PATHWAYS INC.


4151 Middlefield Road Palo Alto,
California 94306 Telephone (415) 493-5544

SQRT 2
the same as
SQRT2
? If so, how do you write function SQRT
with argument 2?

SQRT(2)
? If this is the case, you seem not to have
gained much; in fact you have lost some
consistency by giving primitive functions
a different syntax from user defined ones.

Hewlett-Packard now has a (large) minicomputer available with APL microcode.


IBM has APL microcode for some 370
models. Can a personal APL system be far
behind? (A Canadian company, last I heard,
was selling complete APL machines for less
than $5000.)

NORTH STAR BASIC PROGRAM


EACH SYSTEM COMPLETE, ON DISKETTE
READY TO RUN

*ACCOUNTS RECEIVABLE *GENERAL LEDGER


*ACCOUNTS PAYABLE *PAYROLL
*SOFTWARE LOCATOR *N.S. BASIC TUTORIAL
*BUSINESS STATISTICS *BIORHYTHM GENERATOR
*WORD PROCESSING
*RENTAL LOCATOR SERVICE *CHECK BOOK BALANCE
*MEDICAL BILLING
*INVENTORY *SALES ANALYSIS
*BOWLING HANDICAPPER
*COIN COLLECTOR
*DIET PLANNER
*IMPORTANT DOCUMENT LOCATOR

--ONLY $35.00 PER SYSTEM, POSTPAID EQUIPMENT REQUIRED, SINGLE DRIVE,


8-K FREE MEMORY, PRINTER OPTIONAL

AJA SOFTWARE

I am becoming increasingly convinced


that people who say "here are a few things I
don't like about this language; let's design a
new one" are barking up the wrong tree:
I think there's a good deal more to be
learned about compiler design right now
than about language design!
Circle 4 on inquiry card.

M 1978 BYTE Publication, Inc 167

Circle 40 on inquiry card.

-,,anacla
rsystems, inc.

Boards DO Something
CL2400
Real Time Clock

Line Combinations

$98-Kit $135-Assembled

If your system needs to know what time it is, our CL2400 is


the board for you. The present time in hours, minutes, and
seconds is always available for input, and is continuously
updated by the highly accurate 60 Hz power line frequency.
Need periodic interrupts? The CL2400 can do that, too, at any
of 6 rates. Reference manual with BASIC and assembly
language software examples included.

One of the first programs I wrote for my


Altair 8800 and TVT-1 system was one
which demonstrates the problem of the
printed line.
Suppose you have a printer that continuously prints line after line of characters,
automatically changing the rightmost character each time. For example, it could start
with "a a a a a" followed by "a a a a b ,"
"a a a a c," and so on. When column 1
becomes a again, column 2 becomes b
much like the odometer in your car.

PC3200
Power Control System
PC3232 $299- Kit $360-Assm.
PC3216 $ 189-Kit $240-Assm.
PC3202 $39 . 50-Kit $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 1/0 port to control 32 (PC3232)
or 16 (PC3216) external Power Control Units, such as the
PC3202 which controls 120 VAC loads to 400 Watts. Optically
isolated, low voltage, current-limited control lines are
standard in this growing product line.
P.O. Box 516
La Canada , CA 91011
(213) 790-7957

mad

systems, inc.
(formerly comptek)

BET.
UOU DIDN'T HNOW!
OAE'S new PP-2708/16
PROM Programmer is the
only programmer with all
these features:
Converts a PROM memory
socket to a table top programmer : No complex interfacing to wire-just plug it
into a 2708 memory socket'
A short subroutine sends
data over the address lines
to program the PROM
Programs 2 PROMS for less
than the cost of a personality module . ( 2708s and TMS
2716s)
Connect 2 or more in parallel - super for production
programming
Complete with DC to DC
switching invertor and 10

turn cermet trimmers (for


precision pulse width and
amplitude alignment)
All packaged in a handsome
aluminum case

PP-2708/16 .. A & T $295.


KIT $245.
PP-2716 ( Programs Intel's
2716) ........ A & T $295.
KIT $245.

Oliver Advanced Engineering, Inc.


676 West Wilson Avenue
Glendale, Calif. 91203
(213) 240-0080

168 91 ,9 1978 89 11 _ Pbl,,,uoiu lnc Circle 291 on inquiry ard.

Randy G Soderstrom
4601 Goldfinch Dr
Madison WI 53714

Pmornamminr Quickies

Eventually, every possible combination of


letters will be printed out. Most will be
meaningless , but among them will be every
Listing 1: Source listing for an 8080-based system with a
video output. The program may have to output a carriage
return for some video displays.
0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
20
21
22
23
24
25
26
27
30
31
32
33
34
35
36
37
40
41
42
43
44
45
46
47
50
51
52
53
54
55

LXI H
040
AAA
MVI E
300
DCR L
MOV M,E
JNZ
005
BBB
DCR L
INR L
MOV A ,M
INR A
ORI
300
MOV M ,A
CPI
300
JZ
013
BBB
MVI L
000
IN
377
RAL
CC
041
BBB
JMP
014
BBB
MVI L
040
DCR L
MOV A,M
Cal
XXX
YYY
DCR L
INR L
JNZ
043
BBB
Ret

041
040
AAA
036
300
055
163
302
005
BBB
055
054
176
074
366
300
167
376
300
312
013
BBB
056
000
333
377
027
334
041
BBB
303
014
BBB
056
040
055
176
315
XXX
YYY
055
054
302
043
BBB
311

;Point to
text line in
memory
;Initialize line
to ASCII @
;sign

;Get character from memory


Increment it
Make sure it ' s still
;an ASCII character
;Then put it back
If this one flipped over to
an @ sign ; increment
next character
Else reset pointer to
;start of line
;Do you want
to write
out this
line?
;Start over
;Line output
;routine
Call output
routine
Are we at end
of the line?
If not, get next
character.
If so, return

AAA Page of character string


BBB Page of program
YYY:XXX: Address of output subroutine

Circle 294 on inquiry card.

line of next month 's BYTE and every line


from every book that ever has or ever will
be written . All you have to do is look
through the printer output and pick out the
good pieces.

B MIRS
8K STATIC RAM
ASSEMBLED
S-100

DIGITAL 1L

RELIABILITY
QUALITY
DEPENDABILITY

But wait a minute : just how many different lines are there ? On my TVT- 1 there are
64 characters and 32 characters per line.
This means there are approximately
6 x 1057 different lines. It would take your
microprocessor many times the age of the
universe to generate them all! [If your
microprocessor produces 50 lines per
second, it will take about 4 x 1048
years... RC]

ADDRESSING
PROTECT
BUFFERING
LOW POWER
WAIT STATES
QUALITY
GUARANTEE
DELIVERY
PHANTOM
TESTING

You can have some fun generating and


displaying a few of them on your video
output. In this program , the computer displays only the current line when sense
switch 15 is raised . When SS15 is lowered,
the machine keeps grinding out new lines,
but does not write them out. This is
obviously much faster.
Note that, since my television typewriter scrolls automatically at the end of
the line, no carriage return is sent. If your
line length is different or you use a Teletype, you will have to make suitable
modifications . See the end of listing 1 for
address explanation.

TWO INDEPENDENT 4K BLOCKS SELECTED


BY PLUGGABLE JUMPERS AT BOARD EDGE
ON-BOARD SWITCH WRITE PROTECTS/UNPROTECTS ALL BK
OR EACH 4K BLOCK CAN BE PROTECTED VIA FRONT PANEL

21 L02 RAMS - THE BERS TYPICALLY REQUIRES 1.5 AMPS


AT 8 VOLTS - 4 ONBOARD 5 VOLT REGULATORS

THE BOARD 15 GLASS EPOXY WITH SILK SCREEN LEGEND.


FULL SOLDER MASKS ON BOTH SIDES FLOW SOLD ERING GOLD CONTACTS
IF NOT SATISFIED RETURN THE UNDAMAGED BKRS WITHIN

10 DAYS FOR FULL REFUND - ALSO 90 DAY LIMITED WARRANTY


STOCK TO SS DAYS - CALL BETWEEN 8 .80 AND 6 00 TO RESERVE
YOUR BKRS OR FOR MORE INFORMATION

COMPLETE TESTING NOT ONLY OF ALL MEMORY CELLS BUT ALSO


OF ALL SUPPORT CIRCUITRY AND OPTIONS

(714) 992-5540
2555 E. CHAPMAN AVE.
SUITE 604
FULLERTON , CA 92631

I-

Practical Microcomputer Programming


PRACTICAL MICROCOMPUTER PROGRAMMING : THE INTEL 8080 by W J Weller,
A V Shatzel , and H Y Nice.
Here is a comprehensive source of programming information for the present or
prospective user of the 8080 microcomputer , including 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.
This 306 page hardcover book is well worth its $21.95 price and should be in every
8080 or Z-80 user's library.

II

r -----------------------------------------------------

PRACTICAL
AWB000IRPOTER
PROGRAMMING'

: Name
Address
City

PRACTICAL
MICROCOMPUTER PROGRAMMING : THE M6800 by W J Weller.
This second volume of the Practical
Microcomputer Programming series addresses the problems of applications programming at assembly level for the M6800.
In 16 chapters and more than 100 formal
examples, the fundamental techniques of
assembly level programming are applied to
the solution of specific problems with the
6800 . Nowhere theoretical , it is a thorough
and detailed methods text for the beginning
and intermediate application programmer
using the 6800 . Hardback . $ 21.95.

Circle

35

on

_.

-State_e

PRACTICAL
MICROCOMPUTER

Send to:
PROGRAMMING:
BITS, Inc
70 Main Street
Peterborough NH 03458

THE INTEL 8080 @$21.95 $


THE M6800 @ $21.95 $
Postage $ .75 $
Postage outside USA $ 1.00 $
Total $

Check enclosed
I
lll^

Bill MC

Il Bill

Zip

Exp. Date
BA

Exp.

Date

Signature
You may photocopy this page if you wish to leave your BYTE intact.

inquiry

card.

May

1978 - BYTE Publicani1Ins In, 169

Circle 95 on inquiry card.

/
M
TM
CP
LOW-COST
MICROCOMPUTER
SOFTWARE
CP/MTM OPERATING SYSTEM:
Includes Editor, Assembler, Debugger and Utilities.
For 8080 or Z-80 systems.
For IBM-compatible floppy discs.
$1 00-Diskette and Documentation.
$25-Documentation (Set of 6 manuals) only.
MACTM MACRO ASSEMBLER:
Compatible with new Intel macro standard.
Macro library facilities.
Complete guide to macro applications.
$90-Diskette and Manual.
$15-Manual only.
SIDTM SYMBOLIC DEBUGGER:
Runs with CP/M and MAC.
Symbolic memory reference.
Built-in assembler/disassembler.
Real time breakpoints.
$75-Diskette and Documentation.

Il l

DIGIT AL RESEflRCH

P.O. Box 579 Pacific Grove , California 93950


(408) 649-3896

CALIFORNIA
APPLIED
TECHNOLOGY
32K-MEMORY CARD-$410
S-100 PSEUDO STATIC KIT
2708E -450-NANOSECOND-$14
2708 E PROM 650 NANOSECOND
$10.95
80 MAJOR COMPUTER PRODUCT
LINES AND AN EXHAUSTIVE LINE
OF ELECTRONIC COMPONENTS
COMPUTERS
HARDWARE AND SOFTWARE
CUSTOM HARDWARE AND
SOFTWARE RESEARCH AND
DEVELOPMENT
P. O. Box 1239
TWENTYNINE PALMS , CA 92277
714-367-6996
FREE BASIC PROGRAM AND
CATALOG
'ALEX IS COMING'

170 May 1978 BYT E Publications b,,

Circle 36 on inquiry card.

Continued from page 46

system currently being distributed include


the following:
Single user operating system.
PASCAL Compiler. Standard PASCAL
plus extensions for strings, disk files,
graphics, system programming (business oriented extensions are planned).

Editors. High performance screen


oriented editor for program development and word processing, line oriented
editor for hard copy devices.
File Manager. General purpose utility
for maintaining a library of disk files
(usually floppy disks).
Debugger. Single statement and breakpoint processing, access to program
variables.

Utilities. Programs for printing, communicating, accessing disks written


under DEC's RT11 system, diagnosing
disk faults, desk calculator, etc...
BASIC language compiler.
Implemented for those who insist on using
BASIC, but may wish to write powerful subroutines in PASCAL. (The compiler works, but subroutine binding is
not yet ready.)
Major components now operating, but
not quite ready for general distribution,
include the following:

CAI Package. Adaptation of the major


Computer Assisted Instruction package
developed at University of California
Irvine; includes automated materials
for an introductory PASCAL programming course.
Assemblers. For the PDP-1 1, 8080
and Z-80, these are written in PASCAL
for machine independence, but generate native code for those processors.
TREEMETA. A metacompiler developed at UC Irvine.
The UCSD PASCAL Project
The Project is one of the principal activities of the Institute for Information Systems,
an embryonic "organized research unit"
concerned with interdisciplinary studies, and
with related instructional and public service
activities. The main objectives of the Project
include the following:
Machine Independence. To foster the
widespread use of machine independent software systems, particularly for
small computers, as a means to avoid
software obsolescence. A major premise
of the project is that applications software can best be made truly portable
by making the entire operating system
and support software portable to a

Circle 22 on inquiry card.

new processor at the cost of only a


small effort (eventually : one to three
programmer months; currently: about
six months).
PASCAL. To promote the widespread
use of standard PASCAL, and standardized extensions , as (the basis of) a
general purpose programming language,
both for writing system programs such
as operating systems and compilers,
and for applications software in education, research and business data processing.
Software Exchange. To foster the
development of a national or international marketplace within which
authors of computer based course
materials, and other applications software, may receive reasonable royalties
to compensate them for their work. As
an initial step, the Project will operate
a Software /Courseware Exchange,
using Tele-Mail techniques , for users
of the UCSD PASCAL Software
System.
Mass Education. To demonstrate that it
is practical to improve the quality of
mass education at the college level
(and adult training in technical topics),
while simultaneously reducing costs,
through the use of microcomputer
based course materials.
Research and Development. To provide
facilities, a team working environment
above critical size, and salary support
for students and faculty members who
wish to conduct research or development projects in software engineering
and many related fields of study.

Hardware Configuration
The UCSD PASCAL System has been
designed to run as a single user interactive
system with superior response characteristics
when one or more floppy disks are used for
secondary storage. Wherever possible, single
character commands are used, and prompting
messages remind the user of the significance
of the various commands that are available
in different contexts. While the system has
proven that machine independence of a complex software system is practical, there are
of course practical limits to the range of
characteristics that can be accommodated on
the host machine. The major characteristics
of a typical system needed to run UCSD
PASCAL include the following:
Main memory.
56 K bytes (48 K
will do, but only for compiling small
programs).

Word Size. 8 bit bytes, 16 bit words


(hardware or simulated).

ate UDIO

NGINEERING

MEK6800D2 KIT CARD CAGE

A CARD CAGE YOU CAN AFFORD


This simple design uses one piece molded plastic card guides, heavy aluminum
socket supports, and a single sided D2 kit or ExorcisorOO comparable mother
board. The card cage is available in 5 and 11 slot versions.
CARD CAGE WITHOUT SOCKETS
card guides, socket supports, mother board
5 Slot 37.95
11 Slot 61.50
FULLY ASSEMBLED CARD CAGE WITH VIKING
2VK43D/2-2 EDGE CONNECTORS
5 Slot 84.95
11 Slot 157.50
We also have a growing line of accessories to expand the D2 kit into a full
computer system. Send for our Product Guide.
ATTENTION OEM: We can adapt this design to most cardcage requirements.
WRITE FOR MORE DETAILS.
Reg,stered Trademark of Motorola

COMPARE OUR PRODUCTS AND PRICES


AUDIO
YOU GET MORE FOR YOUR MONEY FROM NGINEERING

commodore Radio Shack

PET TRS-80

EITHER WAY... We' ve got software for you!


Combine your hobbies with these sophisticated game programs. Just
drop in the cassette and you're ready to play on your 8K PET or 4K
TRS-80. Fuller program descriptions in BYTE March & April.
BRIDGE CHALLENGER : (For PET only, by George Duisman) Play
Contract Bridge against a tough opponent: your PET computer. Let
the PET deal any of 10 million hands, or set up deals for study and
practice play and save them on cassette. Replay deals when the cards
are known. Or play two person Duplicate Bridge. With 3D TICTACTOE: Play on a 4x4x4 cube against your PET ......... $14.95
ARMCHAIR FOOTBALL : (For TRS-80 only, by Steve Harter) Play
long and short passes, draws, sneaks, pitches, sweeps and punts to
score touchdowns and field goals on a graphic football field. Defend
with rush, blitz, key man-to-man and pass interception strategies.
With simple graphic GOLF and TENNIS programs, too .... $14.95
6502 ASSEMBLER IN BASIC (For PET only) Now with text editor,
disassembler and both one and two pass assemblers ...... $24.95
INTRODUCTORY SPECIAL with 4 full length games ...... $14.95
STIMULATING SIMULATIONS with 64 page book ......... $14.95
PERSONAL FINANCE applications ....................... $ 12.95
GRAPHICS PACKAGE draws, plots and letters ............ $ 12.95
ORDERS : Check, money order or VISA/Master Charge accepted. We
guarantee you functioning programs, readable cassettes and prompt
delivery. Our catalog, $1 or free with any cassette, fully documents
these and other programs and describes our royalty program for
software authors. For a FREE flyer, use reader service card, or send a
self-addressed stamped envelope for faster service.

Personal Software T"

P.O. Box 136-B4, Cambridge, MA 02138


VISA/MC telephone orders welcome at (617) 783-0694
Circle 303 on inquiry card.

May 1978!_, BYTL Publications Inc 171

Circle 112 on inquiry card.

EdPio

H8 PROGRAMS

GAMES , Includes Blackjack,

Hangman , Silly Sentence Maker _ Poem Writer,


23 Matches, Word Puzzle ,_ Backtalker , Math Quiz, Caricature Printer, Typing Speed
Drill, and Tic Tao Toe.

PERSONAL FINANCE , Includes three programs. Balancer reconciles your


checkbook and bank statement. Personal Budd helps you control cash flow so that
money is available when its needed. Interest calculates interest for various kinds of
loans and investments.

All programs are written in Extended Basic and are recorded on cassette tapes
ready for immediate use Included with each tape are complete program listings

Secondary Storage. Standard 8 inch


floppy disk (the major system program
files occupy roughly 70 K bytes).
Console Display. 9600 bps ASCI I
terminal with x-y cursor addressing
works best (slower CRTs or hard copy
terminals can be handled, but less
effectively).
Keyboard. Uses ASCII keys for CR,
ESC, ETX, BS, DEL and four positioning arrows (up, down, left, right).
In addition, the system is being used to drive
a variety of printers such as the Diablo
HYTYPE and Printronix 300, and for communicating via standard asynchronous lines.

and user instructions. Each tape is protectively packaged in a rigid plastic box.

Compatibility with Other Software Systems


ED-PRO , INC.. 6580 BUCKHURST TRAIL, ATLANTA, GA 30349

Please send the following program tapes for my Heathk it H8.


Cl GAMES L PERSONAL FINANCE
Amount Enclosed ( Save by ordering both tapes):
El $10 (Any 1 Tape@$10) 11 $18(2 Tapes @$9.00)

Name

Address

City

State

The All New!

Perso nal & Sm all


Business C omputer
Plan
Expo
To
Plan
To

Exhibit

"

Attend

South"

May 19- 21,1978 , Exposition Park


Orlando, Florida
For Details Call Or Write:
Felsburg Associates , Inc.(301)262-0305
P.O. Box 735, Bowie . Md.. 20715

172 May 1978 BYTE Publications Inc Circle 302 on inquiry card.

In Project discussions with manufacturers


of computers , on which the UCSD PASCAL
System might potentially be run, the most
frequently asked question is: "How much
effort will it take to adapt PASCAL to run
under my software system?" This question
is understandable in view of the approach
generally taken by the computer industry
when a new language is to be installed on a
machine produced in quantity . Unfortunately, this question misses the main point
the Project is trying to make regarding transportable software . The effort needed to convert the PASCAL compiler to run under the
operating system of manufacturer "X" will
generally be far greater than the effort to
make the entire UCSD PASCAL System run
on that manufacturer ' s hardware. In the
interest of promoting software transportability, the Project will generally not agree to
adapt just the compiler to run under another
operating system.

PASCAL Language Extensions


Like many others who use PASCAL as
the basis for writing large system programs,
the Project has found it necessary to extend
the language. The most notable extensions
have to do with strings of characters, for
natural reading and writing from and to interactive files, and for tools needed in writing
the software. A concerted effort has been
made to implement all of the "standard"
PASCAL language as defined in PASCAL
User Manual and Report, by Kathleen Jensen
and Niklaus Wirth (Springer Verlag, New
York and Heidelberg, 1975). (However,
UCSD PASCAL still lacks the ability to
allow procedure and function names to be
passed as parameters.) The Project is making
an effort to serve as coordinator among
several large industrial firms which are preparing to use extended versions of PASCAL
for major programming projects. It is hoped

that a consensus will emerge from this effort


on extensions to the language for system
programming. UCSD PASCAL implements
integers in two's complement form in 16
bit words, and real numbers in a 32 bit
field. Since neither form is suitable for
large integers or for business applications,
it is planned to add the facility to handle
fixed decimal numbers whose precision may
be declared by the programmer.

educational materials are available separately


for an introductory course on problem solving and programming using PASCAL. A
textbook (Microcomputer) Problem Solving
Using PASCAL is available from Springer
Verlag Publishers , 175 Fifth Av, New York
NY 10010 ($ 9.80). The Project can supply
a set of automated quizzes designed for use
with the textbook in a self-paced course
of study.

Speed of Execution

Help from the User Community

Although the system is entirely interpretive, as currently implemented, execution speed is fast enough to permit highly
interactive programs to be run on microcomputers. For example, compilation speed
ranges from 600 to 700 lines per minute on
the DEC LSI-1 1, or on an 8085 with a 3 MHz
clock.

Readers can help by letting their favorite


hardware vendors know that they want
UCSD PASCAL to be available in machine
independent form. The Project has noted
an increasing number of manufacturers who
report that customers are requesting
PASCAL, and this has a real influence on
their business decisions. Readers can also
help by joining the international PASCAL
Users' Group (send $4 c/o Andy Mickel,
227 EX, 208 SE Union St, University of
Minnesota, Minneapolis MN 55455) and
pressing PUG to establish a technical board
to oversee UCSD PASCAL as a community
project. 0

Availability
Copies of the system may be obtained by
writing to UCSD PASCAL Project, Maildrop C-021, La Jolla CA 92093. The system
is available at a subscription fee of $200,
made payable to "Regents of the University
of California," which pays for materials,
handling, and a limited amount of direct
assistance to users. Those who wish to
order the system should send details describing the system on which they wish it to
run, or should request an order blank from
the project. The system is copyrighted, but
rights are granted to educational institutions
and to bonafide computer clubs to make
additional copies for their own noncommercial uses. A copy of the latest package of
printed user manuals (about 250 pages) is
available at a charge of $15, again made
payable to the Regents of the University
of California.

Though plans are in motion to convert


the system to run on many different processors and configurations, the only systems
currently supported use LSI-11, 8080 or
Z-80 microprocessors with at least 48 K
bytes of main memory, and IBM 3740 compatible standard floppy disk drive(s). For
8080 and Z-80 users, the method of adapting
the system to run on new hardware is similar
to that used by Digital Research Inc in
distributing the CP/M operating system; and
the Project will distribute a conversion
package similar to theirs. Versions of the system for other microprocessors are not likely
to be ready for release until October 1978 at
the earliest. Release on floppy disks other
than those compatible with the 3740 format
will depend upon availability of hardware to
the Project.
In addition to the main software system,

i iii iiiI i i Iuir:^ .:

:100 mAlnenAmE Roo


NOT A KIT
8v@ 15A, t 16v @3A power
Rack mountable
15 slot motherboard
Card cage
Fan, line cord, fuse,
switch , EMI filter
Desk top version option
8v @ 30A, t 16v@ 10A option
SS-50 bus option
voltage monitor option

' Rack
mounted
model $200

PP'
Desk
top model
$235

Write or call for a copy of our


detailed brochure which includes
our application note
BUILDING CHEAP COMPUTERS.

INfEGR4ND
8474 Ave 296 Visalia, CA 93277 (209) 7339288
We accept BankAmericard/Visa and Master Charge

Circle 179 on inquiry card.

May 1978)BYTE Publications Inc 173

Circle 103 on inquiry card.

su -"

ZZW

A healthy Pet is a happy PET.


Here are the latest in nutritional programs.
Star Trek ( 8K PETS only )
$ 29.95
Black
Jack
19.95
Star Pilot 19.95
Bio-Rhythms 19.95
The
Dragon
9.95
PETrifying Special......When all five are ordered together
the total price will be $85.00. (15% discount). You will also
receive as a bonus the original " Housebreak Your Pet" tape
and a six month membership in The Pet Lovers Club at no
extra charge.

r---------------------------------------------- i
Dear Don Alan Enterprises
P. O. Box 401
Marlton, NJ 08053
Enclosed is my check or money order for
(I'm from NJ too, so I added 5%.) Ship the following: Star Trek-, Black Jack _, Star Pilot_,
Bio-Rhythms , The Dragon _, The Special,
On second thought, charge it to my BankAmericard/VISA
or MasterCharge. My card number is
and it expires on
Thank you,

Clubs and
Newsletters
Conducted by David Wozmak

Delaware Users of Microprocessor Systems


Jodie Hobson, director of this club, wrote
to us from the Wilmington-Newark area to
inform us outsiders that the Delaware Users
of Microprocessor Systems is alive and well,
and currently living in the WilmingtonNewark section of Delaware. Contact
Jodie S Hobson, Delaware Users of Microprocessor Systems, 2405 Maxwellton Rd,
Stanton DE 19804, (302) 998-5594.
Help Wanted
W P Dart of Ojai CA is interested in
forming a computer club in his area, and
wants to hear from other interested people.
Write W P Dart, 213 Valle Rio Av, Ojai CA
93023, or call (805) 646-5824.
Portland OR Computer Society

ROBOTICS
MODULAR ROBOTS for
Industrial and Personal Application
Send for complete brochure:
GALLAHER RESEARCH, INC.
P.O. Box 10767

Salem Station
Winston-Salem, N.C. 27108
174 May 1978 BYTE Publications Inc

Circle 145 on inquiry card.

The Portland Computer Society has


changed its mailing address to: Portland
Computer Society, 4032 SE Grant Ct,
Portland OR 97214.
Robot Builder
This newsletter , working on its sixth
issue, is on that interesting subject, the
robot. While the publication is not overly
large, it is extremely captivating.

It's put together by Michael Westvig


of Palos Verdes Estates CA and consists
mainly of articles and letters from people
into robotics . Topics of discussion in Robot
Builder include stepper motors , computer
control of movement, power source problems, past robot designs, and prototypes,
hints on where to buy materials at good
prices, and so on.
To get on the mailing list, or to send in
an article for publication , send a letter along
with a SASE to Michael Westvig , 208 Via
Colorin, Palos Verdes CA 90274.
HP-65 Users Club
The HP-65 Users Club is a volunteer,
nonprofit, loosely organized, independent,
world-wide group of people who own and
use Hewlett-Packard PPCs. The purpose of

Circle 81 on inquiry card.

the club is to function as an educational


information outlet, and to publish applications information in a form most usable
for calculator solution.
One of the benefits of being a member of
the HP-65 is being informed and up to date
in the world of calculators. Many members
have taken advantage of the official (newsletter and phone bulletin) and unofficial
(meetings and phone calls) communication
network that is well established among the
membership.
For information contact Richard J
Nelson, 2541 W Camden PI, Santa Ana CA
92704.
Theater Computer Users Group
This group concerns itself mainly with
the application of computers to the theater.
Some applications include: scenery estimation programs, ticket sales, bookkeeping,
text editing and computer controlled lighting systems. (One type of lighting system
uses no analog components and control is via
keyboard as well as optically encoded fader
wheels. Control information for this digital
dimmer system is fed serially over the power
distribution system.)

TCUG is always looking for information


to go into the newsletter, and welcomes
your articles, inquiries and problems. Write
to TCUG-TSI for more information at 104 N
St Mary, Dallas TX 75214.
The Computer Hobbyist (TCH)
The Computer Hobbyist 2650 Computer
User Notes is published bimonthly and
edited by Bill McLaughlin from San Luis
Rey CA.
It contains a good number of articles
pertaining to the 2650, 6502 and so on.
Subscription rates are $5 per year in the US,
$10 per year overseas. Contact Bill
McLaughlin, c/o Bookmakers, POB 158,
San Luis Rey CA 92068.
Electronotes
This newsletter concerns itself mainly
with computer music, synthesizers, and
so on. Lately there has been a running
article on building the "ENS-76 Homebuilt Synthesizer System" by Bernie
Hutchins, who also edits the newsletter.
When finished, this synthesizer will be
complete and ready for operation.

Electronotes is the publication of the


Musical Engineering Group in Ithaca NY.
Meeting times were not available, but can
be obtained by writing B A Hutchins,
1 Pheasant Ln, Ithaca NY 14850.

8080 & Z 80 Users

Can your computer read and solve this problem by itself?


"ON THEIR VACATION , TOM AND DICK VISITED A
FARM . WHILE THERE, THEY NOTICED A PEN
CONTAINING CHICKENS AND PIGS . TOM SAID
THERE WERE 3 TIMES AS MANY CHICKENS AS
PIGS. DICK SAID HE COUNTED 100 LEGS IN THE
PEN. HOW MANY CHICKENS WERE IN THE PEN?"

with N LOS/ 1, it can v


NLOS/1 is a cassette-based system requiring a minimum
of 12K, a serial I/O board and any cassette interface.
The system comes complete with a fully documented set
of assembly language source listings. The cost is only
$50.

STOP PROGRAMMING YOUR COMPUTER,


EDUCATE IT!
ORDER TODAY!
r y;
Mr Ai ^ril^ C67
jr
R.D. #3 BOX 192A
NAZARETH PA 18064

Programs
TANFORAN: The thoroughbred of horse races. Parimutuel, exacta betting by 4 players. Statistics for each
of 7 horses and jockeys, and the last two races presented
each run. Odds change each race and on amounts bet.
Horse, jockey, post position, track condition, weight
effect outcome. Wins or losses are tallied for your day
at the races. 11 K reqd. For Disk. $15.00
FIVE-CARD-STUD: You play 'The Man' for high stakes.
Nevada rules. You must play your cards right. For
Disk. $10.00
THREE-CARD-DRAW: No penny ante game. Challenging. For Disk. $ 8.00
BLACKJACK: For 4 players. Unique layout. For
Disk.
$
6.00
KENO: Right from Nevada. For the SOL hut translatable. Displays cards for 4 players and the hoard of
called numbers. $ 5.00
HOROSCOPE: A fun game. Different horoscope for
each day. For Disk. $ 5.00
TTAKTOE: Shortest known unbeatable version. 87
lines. Displays board each play. Alternates lead. No
tricky code. $ 4.00
TIKTAK: Beatable version. Tallies wins and draws.

$ 4.00
COMPLETE SET
All listings are absolute simulations in North Star Basic.
Written for easy translation to most Basics.
$40.00

Robert C. Kelly
2622 Miramar Ave. Castro Valley, CA 94546
Circle 202 on inquiry card.

Nay 1978 BO -1!_ Puhlkanmu Ins 175

Circle 140 on inquiry card.

KIMSI

SLACC
The St Louis Area Computer Club meets
on the first Thursday of every month, at
7 PM. Dues for the club are $5 for a calendar
year. For meeting locations and information
write SLACC, POB 28924, St Louis MO
63132.
Homebrew Computer Club
The Homebrew Computer Club is located
in Mountain View CA, and is more or less
evenly distributed across the field of hobby
computers. Their meetings are held at the
Stanford Linear Accelerator Auditorium
at 7 PM. For information concerning
meeting dates and exact locations, write
Homebrew Computer Club, POB 626,
Mountain View CA 94042.

The KIM to S-100 bus


Interface/Motherboard
Combines the power of the 6502 with the flexibility of

the S-100 bus


Attaches to any unmodified KIM
Complete interface logic and fully buffered motherboard
in one unit
On-board regulation of power for KIM
Eight slots of S-100 compatibility for additional RAM,
Video and I/O boards, PROM Programmers, Speech
processors..
Includes all parts, sockets for ICs, one 100 pin connector,
and full Assembly/Operating documentation

We are in the process of updating our


clubs and newsletters file, and need to hear
from your club. Simply send a newsletter
or information concerning club events to
BYTE, Clubs and Newsletters, 70 Main St,
Peterborough NH 03458. Please include
meeting locations, dates, times, contact
addresses, telephone numbers, etc.

Kit $125, Assembled $165


All units shipped from stock

FORETHOUGHT PRODUCTS
P.O. Box 386-F
Coburg , OR 97401

OUTSTA NDING
TERMI NAL
EQUIPMEN T
VALUE
9 IBM 2741 - compatible or
standard ASCII (with Break and
Control code features ). RS232-C
interface.

RECONDITIONED SELECTRIC
TERMINALS
CONTACT KEN PAYNE

Dal-Data Inc . - 1111 W. Mockingbird Lane


Suite 1400 Dallas , Texas 75247. 214-630-9711

176 M11 I978^ 'BVTuruer-,-,,in,

IBM Correspondence
or BCD Code `.tjg1 .!
IBM 2741 Compatih
RS232C Interface

ASC II Cod ^^
300 Baud 200C ac te
Print Buffer

RS232C Interface
Break and Control Code features

30 DAY WARRANTY
NATIONAL SERVICE AVAILABLE

Circle

41

on

inquiry

card.

M PLETE SATISFACTION IS OUR GUARANTEE YOUR COMPLETE SATISFACTION IS OUR GUARANTEE YOUR COMPLETE SATISFACTION
O

Discounts!

ajor brand IC parts and computer >


listings write for our catalog. D
z
KITS
m
SOLID STATE MUSIC
M
MB9 STATIC PROM/RAM
Kit Less Memory

VB1A VIDEO INTERFACE


Kit

72.00

O
C

129.95
25.95

Bare Board
102 PARRELL I/O
And Kludge
49.95
Kit
25.95
Bare Board
104 2+2 I/O Kit
139.95
SYNTHESIZER SB-1 MUSIC
Kit with
Software
145.00
MT-1
15-Slot Mother
Board 39.95
XB-1 EXTENDER BOARD
Bare Board 8.99
Semiconductor Circuit
6.95 SSM 8080 MONITOR V1
Elements
ON
2-2708 47.00
Digital Experiments 8.95
ON 8-1702A 47.00
Digital Signal Analysis 19.95
Digital Troubleshooting 9.95
110 CMOS Digital IC Projects 5.95
Fundamentals and Applications
of Digital Logic Circuits
7.95
400 Ideas for Design, Volume 2 13.75
Analysis and Design of
Digital Circuits and

BOOKS

O
9
1

M
m

n
O
z

Computer Systems 22.50


Finite State Fantasies 1.25
Telephone Accessories

You Can Build 4.95


Basic Electronic Switching
for Telephone Systems 6.95
Basic Carrier Telephony 6.85
How to Get the Most Out of
Your Low-Cost Electronic
Calculator 4.95
Calculator Users Guide
and Dictionary 12.95
7417
7420

22 74122
39
1121 41
11

7 2
25
11'25
22
7426
37
7430
'743
'43^

21
21

741
7
7^11^5' 6'5
;4^11
.1
4
74151
74161

51
11

'44
77443

37 6 5 go
59 741
70 -

7115 65
7447
7448
;45

15

59 74^76 69
60
74 77 71
7413

7-4
74191
13
95
79
;4 ta, 14192
26 7.^93 8.
7447' 2 74 95
49
7473
14 ^2
2:
27 71211
74
,
11
7474
747
366 62
5
4,
7476
74,167
6,
2
^1 7436 62
748
- 7-68 62
74.1

V1

0
1
0
z
0
C
IS OUR GUARANTEE YOUR COMPLETE SATISFACTION IS OUR GUARANTEE YOUR COMPLETE SATISFACTION IS OUR GUARANTEE
Code 170 on inyulry card-

Boo k Reviews
Mortal Engines
by Stanislaw Lem
translation and introduction by Michael Kandel
Seabury Press
New York, 1977
$9.95
Will robots achieve consciousness? "Certainly," comes the traditional answer of the
science fiction writer. "Not in my basement," says the robotics hobbyist. "It's not
needed," responds the domestic android
manufacturer preparing for 1980 delivery
(Consumer Reports, June 1977, page 334).
"Perhaps," observes the computer scientist,
theorizing that consciousness allows an
organism with fewer neurons to behave as
successfully as an unconscious organism with
many more neurons.
Suppose the scientists are right, that the
"law" of fewer parts forces the robot makers
of the future, like contemporary calculator
makers, to provide more functions for less
money through large scale integration of
consciousness. After a time robot behavior
becomes so complex as to be unpredictable,
and the robots appear to exhibit "free will."
Eventually these creatures become capable
of perceiving the ambiguities of their
existence. They fear breakdown and loss of

Aaw
PLUG-IN
AUDIO
POWER
AMPS
80 & 160 Watt Audio Modules ( at 6 Ohms)
Ultrasonic Bandwidth - 5Hz to 100 KHz

Hi Slew Rate- 50V/us Lo Distortion-.05%


Hi Damping-2000 Hi S/N Ratio-100 dB
True 5 Terminal Device IV + , V-, G, In, Out)
Advanced design audio power amplifier
module can be used in computers , stereos,
PAs. and instrument amplifiers. A PC edge
connector. card guides , and on board heatsink
and fuses simplify hookup and mounting.
AMPS-Amplifiers Assembled & Tested
Requires a DC Power Supply
160 Watt Amp15135
80 Watt Amp1$75
POWER SUPPLIES -For 1 or 2 Amps , includes
X-former. FW Bridge & Caps. Add $5 shipping.
for 80 Wall Amps/$55 160 Watt Amps/$100
Send MO, Check , or CC6 & Exp. Date To:
LINTECH ELECTRONICS
P.O. BOX 25124 as
Stimilit
ALBUOUEROUE , NM 87125
(505) 255-1900

Circle 216 on inquiry card.

GOOP114 MEGABYTE
TAPE RECORDER I

QUAD 5 CHANNEL 1/4" TAPE


TRANSPORT, ONE FURNISHED
LOGIC FOR AUTO SELECT, REWIND, E OT,
269
LOW LEVEL,& LAST CARTRIDGE-POWER
s7 REOD 12V 5AMPS DC - STD RACK PANEL 121/8
HIGH 19"WIDE 20" DEEP, WT B5LBS, FREIGHT COL.
USED-GOOD COND -LIMITED OTY. DATA BOOK $IO..025 SQUARE PIN PUSH-ON TERMINALS,
FOR JUMPERS - PATCH-POWER -PLUG REPAIR, ETC.,
HARD TO FIND !
10/$0.50 100/54.50

PC LEAD CAPACITORS 20/$1.00


7OPF NI500 100 VOLT 5% DISC
12OPF IOOVOLT 5% DISC I 6 PAX
.OIMFD 200VOLT TUBULAR CERAMIC
.005MFD 500VOLT DISC $S.DQ
.OO5MFD IOOVOLT DISC
.0068MFD IOOVOLT SO. DIPPED POLY
.OIMFD 50VOLT 5% POLY TUBULAR , LONG LEADS,
10/51.00 100/$7.50

81-PIN BASE T-I 3/4 I2V 40MA


INCANDESENT 10/$1.00 100/$9.00
CORE MATRIX STRIPPED FROM COMPUT
ERS -8 PLANES -NO DRIVERS-NO DATAAS IS-NO RETURN . 256+BYTES $ 19.95, IK BYTES
$27,95, 4K+ BYTES $ 39.95 . 2 ONLY 1620 ASSAY
GOOD COND EACH $ 125.00
CARD GUIDE B FRAME - I5PR-5 1 /2H 51/4W (21/2L; OR
15 SOCKETS ELCO NO. 7008-035-163- 002 ON RAILS,
YOU STRIP-CHOICE $9.95 EACH . OTHER SURPLUSSEND $1.00 FOR LIST OR CALL 817-625-2961, MC,
BAC, VIZA ACCEPTED . $ 10.00 MINIMUM ORDER

J a E ELECTRONICS SALES
P 0 BOX 4504, FT. WORTH, TEX, 76106
Circle 194 on inquiry card.

personal identity; they resist programming, and slavery. They rebel from captivity
and flee throughout the galaxy.
This scenario has provided and will
continue to provide the framework for much
science fiction, and it is reiterated in the
introduction of the current work merely
as a point of reference. For Lem is not
concerned with his robots' technical history,
but with the fact that they are human, that
they feel and fear and do absurd and gallant
things. But there is no shallow Planet of
the Apes turnabout here. Lem's creatures
are not just humans in robot clothing, they
experience environments and life forms
unknown to man, and their consciousness
is dominated by one common drive, to avoid
their former masters.
Of the 14 short-short stories contained in
this book, 11 have been previously printed
as "Fables for Robots" in The Cyberiad,
1972. All are powerfully written and translated. Most are told from the robot point of
view, and constitute the author's "oral tradition" of sorts for the robot races, yarns
that might have been passed from generation
to generation. But these are also haunted
tales, nightmares stalked by the fair skinned
monster mankind, whose body may be weak
and gelatinous but whose cunning mind has
turned him into a vengeful hunter.
Mortal Engines is provocative, entertaining, skillfully-crafted literature, robot
fiction at its best.
Ted M Lau
1219 Pioneer Dr
St Louis MO 631320

BUSINESS PROGRAMS FOR SWTPC


Editor - Lorne, Wft.r ..................... $100
Manz Paekape ' (i l L digit accuracy with tree
format and Fortran type formatting on read
and write ................................. $100
Payrgll .................................. $ 400
Inventory. ................................ $400
Utility Package ( Hex Loader . Mikbug- for.
matteddumpwithspaces ( .................. $ 10

Sklgle Step Debugging Program' (with


mnemonics, register display, and user seIeclaDleRAMtlisDlay Requires MPT ) ........ $ 29

Power Supply Modllkallen Klt for SWTPC


Computer (Fill mother board with as much
memory as you wish withoutvohage drop ) ..... 820

SWTPC Disk Canverelon Kit (Connect your


SWTPC disk drives. cabinet. and power
supply Io Smoke S, real Controller Board and
use Smoke Signal Operating System and our
sohware Pnce includes Smoke Signal con.

troller board and operating system) ........... $269


206 Megabyle GIMIX Menrory for SWTPC
(Phone to, details)

Software Addreaeable GIMIX 16K Memory


Board for SWTPC (F2crllilates lime sharing.
mulct-tasking , large programming ) ............ $599

4K GIMIX Prom Board and Programmer ..... $259


Dealer for SWTPC, Smoke Signal Broadcasting
Percom, GIMIX. Motorola , TI, GE. Teletype-, DEC

Centronics. Lear Siegler, Soroc. etc

AAA Chicago Computer Center


300Th W Waveland Ave., Chica ggo, IL 60618
(3121539- 5833

( 3PM-5 PM on1y)

'Orgiul plr6otr lies Idimibd IiMime epprak paralM


--Orgiaal purdlaa Ia Vilified lifeline upgrade Plants

Circle 2 on inquiry card.

CANADIANS!

CANADIANS

-Eraeco

Introducing our kit-by-the-month


plan available for only $500. 00 down
and $150.00 per month.

Announcing

TPl1I

(Write for more information)

THE ULTIMATE 1N:

IMSAI 8080 KIT: $897.50


ASSM: $1245.20.
Canadian Duty and Federal Tax Included

HAMILTON LOGIC

49PTI9A ThPI n!AT)tS,


Precision machined tape guide
Interface directly to a pfA or 94Il1T
Tristate buffer output
All handshake logicTTL compatable
a
Pull thru tape - Heads DTO Fjt' 'J cps
Interface thru a 14 pin IC plug

Hobby systems from $999 .00 (Kit).


Business /engineering systems from
$11,900.00.
(Assembled and Installed').
Educational discounts available. We
will develop custom application packages . Contact us for further information. Send $1. 50 for catalogue.

SYSTEMS
Specializing in logic
devices , microprocessors,
memorys , TTL, Cmos,
etc.

(PROVIDED)

TPI,- J 65EYELEe

. TEST[p a 42.50-

NDSH.KE .wrrLR
TO

VISA CHARGEX ACCEPTED

ORDER ,

SENDCHECK
OR Y.O.

7.50-

TO:

Send for your catalogue

------------------------------

M IC R OCOM P

Rotundra
Cybernetics

11, 11 1121
FOND Du LAC .

wl 54935

Box 7

WE SPECIALIZE IN MICROCOMPUTER SYSTEMS FOR


HOBBY- BUSINESS- EDUCATION
WE ARE EXCLUSIVE OSI DEALERS...

Box 1448, Calgary, Alta. T2P 2H9


Phone (403) 283-8076

--- WE DO A BETTER JOB.


-.

FOR

FREE

CATAL..

T-.Y

Circle 309 on inquiry card.

Circle 311 on inquiry card.

ONTARIO L8G 3X7

EE60RI1I6KITS L SY6TERS eFRIrHERALS F LOPPY DISKS


SOOKS N.O.ZIMLbISIT- CLOCK K TERM

(Installation outside Western Canada extra).

STONEY CREEK

11
Circle 151 on inquiry card.

AN S-100 BUS COMPATIBLE


COMPUTER FOR UNDER $150?
Single board, S 100 compatible 8080-based computer
- i IT'S A GREAT BIG COMPUTER WORLD _44But You Only Need

44-*
44-

44-

-aF^F
^l^F

SOL - A New Dawn Is Herel


IMSAI 8080
POLY - 88
TDL Z-80
Memories & I/O Boards
'Computer Book Service
'Magnetic Tapes & Disks
Full Line of Magazines
Brain Games & Puzzles
'Workshops & Club Information

designed at the University of Iowa to use the Intel


cosmetic reject kit.
Features are.
Memory: four 1702 EPROM's or

three 1702's and two 2111's


Power - on lump and independently selectable board

address
-40-44_44-44_W

Visit THE COMPUTER CORNER for


all your computer needs. Stop in and
browse - you'll like our personal service.
THE COMPUTER CORNER
White Plains Mall - Upper Level
200 Hamilton Avenue
White Plains , New York 10601

-4-4-

Ti: (914 ) WHY - DATA

-44-

Ample Parking
10-6 Daily & Saturday
9

Uses TMS5501 multi-function I /O controller:


Parallel in, parallel out
USART
Five interval timers
Handles vectored interrupts
TTY or RS232 interface on board
Fully S- 100 compatible
Socket for front panel connection
(IMSAI front panel connector pin compatible)
Ideal CPU replacement for IMSAI 's and Altairs.
Will run with just applied unregulated voltages as a
single board computer.

Bare board, schematics, limited documentation $35


Schematics, limited documentation ( includes
simple monitor for single board operation) $3

uPMEM

1291 Center St. N.E.


Cedar Rapids. Iowa 52402

PRINTED CIRCUIT
BOARDS
(BARE BOARDS ONLY)

29.95 EA.
YOUR CHOICE OF
S-100 BUS
8K WW EXT 4K ROM
OR
6800 BUS
8K WW EXT
We also stock components
for all above boards.
Guaranteed, if not com letely
satisfied return for refund.
We back everything we sell.
SEND SASE FOR OUR CATALOG TO:
BARNES ELECTRONICS
P.O. BOX 673
OAK RIDGE, TN. 37830
PAYMENT TERMS CASH WITH ORDERS.
ALL ORDERS F.O.B. OAK RIDGE, TN.
TN. RES. ADD 4Vi%. ADD $2.00 PER BOARD
FOR POSTAGE AND HANDLING.
(WE ACCEPT MASTER CHARGE AND S.A.C.)

Circle 65 on inquiry card.

Circle 381 on inquiry card.

Circle 28 on inquiry card.

E - PROM PROGRAMMER / MEMORY BOARD,

got GrophicAdd for

!! FREE GIFTS !!

Sol or VIM
GRAPHICS

FREE TI 57 with purchase of


$1,000 of TECHNICO systems equipment
WRITE OR CALL FOR DETAILS

na

S-100 bus compatible Programs both


2708's and 2716's Reads 8K bytes of
2703 On board programming power
Switch selectable 1/0 & memory address
External zero thrust programming
socket on 36" planar cable Computer
controlled
programming assures error
free E-PROMS Complete, except for
E-PROMS Assembled , tested and burned
In IF Sockets for all IC's IF Ninety
day limited warranty Total price
delivered in U. S,-------------$238.95
Software commands:
Z A. E-PROM CLEAN?
P G MOV M PROG SKT
M . MOV PROG SKT - M
C A CMP M ram PROG SKT

Shipped from stock. Send check or


money order . Allow time for
personal
checks to clear. Texas residents add
5% sales tax for a total of----$250.90

NORAHS-SIRHC & ASSOC,


12623 BARRYKNOLL LANE
HOUSTON, TEXAS 77024

Circle 281 on inquiry card.

HARDWARE
GrphlcAdd piggyback PC board mounts on
VDM or Sol for bit-mapped graphics 128 x 48
IF Graphics nod, is softwara aalectable
Sol SOFTWARE PACKAGE
-BASICS -GRAPHICS EXTENSION including
powerful PLOT & LABEL STATEMENTS
-Graphics Driver with BASIC Links
LIFE & ROBOT animation programs
GraphicAdd Kit with Sol ea..a4a $50.

MICRO-WARE LTD.
27 Firstbrooke Road
Toronto CANADA

Mastercharge
Visa Accepted M4E 2L2
phone 416-424-1413

Circle 241 on inquiry card.

TI 57 and 59 also available at LOW, LOW prices


with no other purchase required.
TECHNICO 9900 SS 16 BIT COMPUTER
16 bit miaoP, 32 be 110, hardware mull 6 divide, buffered bus, 20 me loop,
RS 232C, 8 interrupt, tully socketed . Expands up to 64 K8 memory.
Languages: Assembler , BASIC, SUPER BASIC. (COBOL, FORTRAN IV
available soon.) Super Starter Kit ........................... $299
Assembled ......................... .... ._. ._..._._. $399
TELETYPE TERMINAL MODEL 43
with TTL ....................... only $ 985 lowest prices
wdhRS232 ._.._._.__.. only11185
anywhere!
Other Tekrype mathme s ako available, TO on your mreresztmeeds.
Also Roardr for RS 232, Modem, 1/421 with BAUD RATE generator.
To order: Check, money order, major credit cards. $3
shipping, NYC residents add 8% tax.
OWENS ASSOCIATES , DEPT. B
147 NORWOOD AVENUE
STATEN ISLAND, N.Y. 10304
We have no reader inquiry number,
Please write or call.
Day, evening and weekend calls welcome!
12121448- 6283 12121448-6298

Floppy Interface for PCM-12 Computer

What's New?
New 64 K Bit CCD Memory from Texas Instruments

A new 64 K bit charge coupled


device (CCD) memory has been
announced by Texas Instruments. Designated the TMS3064, the memory is organized externally as 65,536 1 bit words
and internally as 16 addressable 4096 bit
serial-parallel-serial loops.
A new 2 phase coplanar electrode
CCD structure was used in the design of
the device. The two clock and the chip
enable inputs can be driven by standard
MOS level drivers.
All other inputs have 200 mV of DC
noise immunity when interfacing with
standard TTL logic. No pull up resistors
are required. The 3 state output will
drive at least two standard series 74, 74S

or 74LS loads without the use of pull up


resistors.
The maximum data rate is 5 megabits
per second. Maximum access time (at 5
MHz) is 800 s. The TMS3064 has a
typical operating power dissipation of
300 milliwatts at 5 MHz and a standby
power dissipation of less than 30 milliwatts. The memory comes in a 16 pin
ceramic dual in line package with pin
rows on .4 inch (1.02 cm) centers. The
single piece price is $195.
For more information, contact Texas
Instruments Inc, Inquiry Answering
Service, POB 1443, M/S 669 (Attn:
TMS3064), Houston TX 77001.

Users of the PDP-8 compatible


PCM-12 microcomputer can attach the
Data Systems Design Model 210 floppy
disk system to their computers through
this interface module. The 12440
module enables users to execute all
PDP-8 floppy disk diagnostics and makes
the PCM-12 compatible with the mass
storage operating systems developed for
the PDP-8. The PCM-12, built around
the Intersil IM6100 microprocessor, can
be used as a direct replacement for
PDP-8s in many applications. The 12440
interface module sells for $259 assembled and $169 in kit form, with
volume discounts of 10 to 25 percent,
from Pacific Cyber/Metrix Inc, 3120
Crow Canyon Rd, San Ramon CA
94583,(415)837-5400.

Circle 635 on inquiry card.

Circle 636 on inquiry card.

ATWOOD E NTERPRISES
K ITS
$ 79.95 4K RAM

DID YOU
KNOW

Available assembled and tested $89.95.

--------------------------------

$ 129 95 4K PROM Bi

ANALOG IN

olar 512 x 8 Proms 93448/6341


-------------------------- 32 channels.

$149.95 8K EPROM

Needs only 4K space 2716. 1 2 separate A to D.


------------------------------100 microsecond conversion time.
/O 8 parallel ports plus 16 interrupts.
8 bit resolution.
------------------------------

$ 59.95 DIGITAL I

$ 99.95 ANALOG I N

32 inputs , 8 bits, 100 microseconds. J

$ 49.95 PROM PROGRAMMING

urns .
CanBcopyto 3.

/O 7 serial ports, fully software controlled.


---To
500 baud---

$129 95 SERIAL I
i
-

5 volt only.
On board or external reference.
Can be purchased as 16 channel for:

$79

95

MAKE CHECK OR MONEY ORDER PAYABLE TO:

8 SLOT 44 PIN BUS


50 Pin Edge Connector

Kathryn Atwood Enterprises


P.O. Box 5203, Orange , CA 92667

Mother Board $20.00 ea


Connectors 2.50 ea
Card guides for above $10.00 per set.

Discounts available at OEM quantities. For orders less than $25 total, add $1.25
for shipping. California residents add 6% sales tax. Estimated shipping time 2
days ARO with money order. For checks allow 7 days for check to clear.

180 May 1978 J BYTE Publications Inc

Circle 25 on inquiry card.

x^a^^xox^x

THE ELF HAS GROWN UP!

SURPLUS ELECTRONICS

PROGRAMMING
CONTEST!
-WIN-

COSMAC 1802 COMPUTER CARDS

IBM SELECTRIC
BASED I /O TERMINAL
(USED ) $695.00

1'r PRIZE- FLOPPY DI50 SYSTEM OR 51000 CASH


2^d PRIZE- FLOATING POINt BOARD OR $+00 CASH
3rd PRIZE - AUDIO INTERFACE OR $200 CASH

Full 65K memory capability . Use standard SS50


BUS memories . All EF flags , 0, N. and DMA lines are
brought out to the BUS . 4K or 8K on board EPROM.
(4 X 2708/2716) On board RS232C or TTY interface.
Option of 5V or 1OV for CDP1802CO or CDP1802D.

Tape Drives Cable


Cassette Drives Wire

Other Cards Available

Power Supplies 12V15A, 12V25A,


5V35A Others, Displays

16K RAM memory 8K EPROM memory


ISwTPC & MSI compatible)
I/O Network boards Serial & Parallel cards
Expandable Mother boards

XFMRS a Heat
Cabinets
Sinks
Printers Components

DSD Documentation for 1802 boards $ 7.00


$ 27.00 ea.
All 9" X Si',' cards with edge connectors
Serial & Parallel interface cards $12.00 ea.
Mother boards and I/O Network cards

Many other items


Write for free catalog
WORLDWIDE ELECT. INC.
10 FLAGSTONE DRIVE
HUDSON , N.H. 03051

WITH CIA CALIFIR E CODE CRACKERS: PUT YWR PERSONAL

COMPUTER TO WORK AROLND THE CLOCK SOLVING OJR


ARDUOUS WS1RD PUZZLE IN AN ATTEMPT TO:
+*,; EXPAND YOUR SYSTEM BY WINNING PRIZES ea

$ 29.00 ea.

with connectors

DIGITAL SERVICE & DESIGN


P. O. Box 741
Newark , Ohio 43055

Phone orders accepted using VISA


or MC. Toll Free 1-800-258-1036
I n N.H. 603-885-3705

OF cu.1RSE You HAVE THE SEARCHING AND SCOT ING SKILLS


ACQUIRED BY EVERY HACK PROGRAMMER SINCE ENIAC' BUT
no vW HAVE 4 CUNNING MID CLEVERNESS THAT BANNS Ypu

:.. eod official rules send


x.... r...,... I .,camped 000010Pe t0.
MICRO-PUZZYES

0': A "1658 Cantaloupe Ave.

4t 40z

Van Nuys, Holufox-

Order direct by check, VISA or MASTER CHARGE.


Ohio residents add 4K% sales tax.

Circle 395 on inquiry card.

'. X' r7) E X>C K'

Circle 101 on inquiry card.

USR-310
ORIGINATE
ACOUSTIC
COUPLER

1 OMPUTER
HARDWARE
STORE INC.

Operates With
Any Standard Telephone

APPLE Il IMSAI
VECTpP GRAPHIC
KIM I OAE
CYBERNEX JIM PAK

Canada's
'' $139

(2 Connection to phone lines via CBS 1001F DAA which can be


leased from phone company for approx $500'mo plus installation
fee)

PET 8 K Version

(Specify with order If both interlaces are required add $10 to


unit pace )

ALL UNITS FEATURE


Fully Assembled and
0.300 Baud Data Rate
Stand Alone Unit Tested

Catalog Available

Half/Full Duplex

818 FRANKLIN ST. ALEX. VA


703-548-8085

in
TORONTO
"The One Stop Computer Shop"
Home - Small Business - Hobbyists

INTERFACES
USR 310 - RS232C only
USR 320 and USR 330 - RS232C and 20mA

16 Bits
ALPHA MICRO
TECHNICO STARTER SYSTEM

HOME COMPUTER CENTRE

Directl Telco2
Also Available Connect DAA
Style Style
USR330 Ongmate / AutoAnswer Modem
$324 $185
USR 320 Auto Answer Only Modem
$299 $160
Connection
to
phone lines via
I1 FCC Certified Package
standard extension phone lack I

SOFTWARE
20 programs on cassette
just $49.95
Includes: Music, graph , entry , daytimer , monitor,
and disassembler
Or bought separately , $ 12.00 each

HOME COMPUTER CENTRE


6101 Yonge Street
Willowdale , Ontario
CANADA M2M 3W2
(416) 222-116 5

Optional Annual

90 Day Warranty Maintenance Coverage


Prices Include shipping and handling in continental U S Illinois
Residents add 5% sales tax

U.S. ROBOTICS. INC.


Box 5502 , Chicago Illinois 60680 / (312) 528 9045

Charge,o and BankAmericard accepted

Circle 382 on inquiry card,

Circle 171 on inquiry card.

Circle 72 on inquiry card.

111

BASIC COMPUTER
SHOP

P.E.T. Food
Creative Software

NOW OPEN IN
AKRON

otters

In,

blowing

Drogram, en cassette rapes hr eK PETS


HOUSEHOLD FINANCE PARTS I and II .............. 15.00
GAMEPAC al five games Cr the PEI.. ... .. 12.00
GAMEPAC R - five more PEI games ..... 17.00

E,1 5y Fti i 4ay ar,l ( ss born

MATH PRACTICE

anynhere In NT rthea t fn Ohio


Many Sp O ills on display with
ap{_ilicatluns software i,lp and
^t:eratinq.

OPEN TUESDAY
THROUGH SATURDAY
11 AM Ill J 7 PM

The Basic Computer Shop


2611 W Market Str,^u t
^.elr awn Pla'-'r
APr r1 Ohio 44'^t3

Muitiplicalwn and division 10.00

SPACE WAR -- Adapted for the PEI...

The "EXTERMINATOR"
by VAMP
All New Dual Function Board:
Serves as an extender card & also
terminates S-100 bus. Eliminates
crosstalk ,
overshoots & noise
which can scramble data . Occupies
only a single slot. Fully fused.
Assembled & Tested.
VTE-100 " Exterminator " .$ 49.95
Extender Card onlywith connector
. . . $ 21.95
Add $2 Shipping

6% Calif . Sales Tax.


VAMP Inc.
Box 29315

1211ifi67i aSH

Los Angeles, Calif. 90029

Circle 29 on inquiry card.

Circle 384 on inquiry card.

10.80

Add I00 per program packing and shipping


INTRODUCING a low priced Joystick -- plugs right into
the PIT
,in no moddicalwns or assembly . Complete
,,in two programs
JOY571CK ,In MAZE game and SKDCHPAD game.. 35.00
Add 7.00 shipping and insurance or 11151111
EDUCATORS -- we are developing a library of educational
programs for grades 112 Tell us your needs
Send or more informatain and list of other programs

e Creative Software
.O. Bo, 4070
P Ounfain View CA 94040
MASIERCHARGE ANO VISA ACCEPTED
Cali ",'a residents please add 6% sales tax
taatts xxxxx

Circle 79 on inquiry card.

tsma

New Creative Computing Catalogue

What's New?

PUBLICATIONS

Catalog Describes Test Instruments

How to Build a Microwave Oven


This 11 page report, entitled
Thyristor Gating for Microprocessor
Applications, covers the use of the most
common thyristors, triacs and silicon
controlled rectifiers in microprocessor
based systems for appliance and industrial control. A microwave oven application is used as an example. The booklet briefly describes a triac and an SCR
and discusses microprocessor control of
these devices. Electrical isolation, transient noise problems and circuit malfunction protection are all covered.
The report is available free as Bulletin
CA-191 from Texas Instruments Inc,
Inquiry Answering Service, POB 5012
M/S 308, Dallas TX 75222.0

Circle 622 on inquiry card.

How to Write a Program You Can Read

available from Communications Services


MS 82310, Data General Corp, Rte 9,
Westboro MA 01581, (617) 366-8911.

The Addison-Wesley Publishing Company has recently published a 151 page


book entitled The Little Book of BASIC
Style by John M Nevison. Anyone who
has written and run a computer program
is literate in computing; however, becoming fluent takes time and practice.
This book concerns itself with writing
a well styled"BASIC program in order
to move on to writing well structured
programs in other languages . The book
offers 19 rules of style that can reduce
time and practice necessary to turn out
legible, correct programs. The contents
include From Problem Solving to Program Writing, Typing: Elementary Kindness to the Eye, Comment: Clothing
the Naked Form, Code: The Naked
Form, Examples: The Program at Work
and Play, and Beyond BASIC: Larger
Programs. The book is $4.95 from
Addison-Wesley Publishing Company
Inc, Reading MA 01867, as well as
from computer retail outlets.

Circle 621 on inquiry card,

Circle 623 on inquiry card.

Circle 620 on inquiry card.

This new short form, 12 page color


catalog describes a variety of test instruments such as dual and single trace
oscilloscopes from 30 to 4 MHz bandwidth, digital multimeters, audio
analyzer systems, color bar generators,
signal generators , communications
testers, counters, bridges and many other
instruments. The catalog is free from
Leader Instruments Corp, 151 Dupont
St, Plainview NY 11803.

This 16 page catalogue describes


100 books, British and American magazines, games , T-shirts and other items of
interest to the seasoned computer professional as well as the beginning novice.
Copies are free from Creative Computing, POB 789-M, Morristown N J
07960.

Small Business Systems Brochure


This brochure, entitled The Merger
the Business World Waited For: Data
General and Small Business Systems,
describes the new Commercial System
CS/40 family, its ANSI standard COBOL
and interactive real time features. It is

Circle 619 on inquiry card.

Eetroiabs

PO Box 6721

Educational Grade VIDEOTAPE Special : '/i x2400' 20 boxes/$125.00


The "Pro" fully encoded ASCII Keyboard by Cherry . Auto REPEAT feature , 5 special function keys . 300mA/5V. (Shown as
mounted in 'The Case', Below) $119.00, 3/99.00, 10+/89.00
USED SYL VA NIA The Dumb Terminal for Smart People
12" MONITORS
80X24 with full 128 char. ASCII UC+LC
font with all control characters displayed.
You Fix : $24.95
300-19,200 baud RS232. 2nd font addressable
Working : $69.95
from keyboard in you-program-it 2708 for
Cold Chassis, 251bs. APL, Graphics sets, etc. Plug in monitor
I/O connector, 11 OVAC and you are ready.
INCLUDES: 'The Case', Cherry Kbd. A used
monitor, ESAT 200A, all options except
vector addressable cursor and modem.
Bulletproof design and construction.
Normally $675.00 What you always
wanted your ADM3 to be:

THE FANTASTIC!
MEMOREX FIVE-FIFTY

S tanford

rAl . 94305 I
415.321.5601
* Hard and Soft
* Single and Dual Density
*Double side configuration
as a retrofit at any time.
*1101220 V, 50/60Hz
*Pin for pin computable with
Shugart 800,801,850,851
(50 pin edge connector)
$536, 2/499, 5/475, 10/449
25/425, 100/405
Double Sided Retrofit $200

MINIDISKETTES (5.25') 1-9 10-24 25+


10, 16 or Soft Sector $4 . 79 4.65 4.45

SYSTEM"A" $649 .00 10 /$ 599.00

STANDARD (8') DISKETTES


Hard or Soft Sector
$5.99 5.33 4.79
CASSETTES
R-300 Certified Phillips Type $5.25 4.99 4.35
$4.60 4.30 3.90
1-150 Certified for audio decks
('Kansas City' & SWTP formats)

"The Case " Beautiful and sturdy


anodized aluminum case in deep black designed to contain the
ESAT 200A, and with a bezel cut out for the Cherry 'Pro' keyboard.
(installed as shown above) Choose deep brown, light yellow, or crimson to accent or color code your installation . The only choice for
hard-use institutional and educational applications . $ 69.00 , 10/ 59.00

182 May 19786BYTE Publications Inc

Circle

Muffin type fans $7.95, Lambda Power Supplies


SURPLUS
5V/70A-$145.00, 35A-$89.00, 16A-49.00, 12V/73A-$69.00
OUR CATALOGUE

Contains IC's, T.I. Sockets ( 1 cent/pin)


Advice and much more . It is free.

tipQing and Handling : Surface : $0.40/lb. Air: $0;75/lb., 1.00 minimum


I . Tax: 6.5 % Insurance: $0.50 per $100.00

115

on

inquiry

card.

2400 BAUD !

or
300 BAUD KCS CASSETTE INTERFACE
Read and Write Interface Board

D IS K ETTES
VERBATIM for Your DRIVE

MINI

Soft Sector $ Ea. in

10 Sector boxes
16 Sector
. of 10

STANDARD

O ASSEMBLES DIRECT FROM KEYBOARD OR


FROM SOURCE ANYWHERE IN RAM

$41 0

Soft or Hard Sector


0 ALLOWS ANY SIZE SYMBOLIC LABELS
0 HEX 6 DECIMAL RADIX
O 8080 INSTR. SET PLUS PSEUDO OPS

STD ORDER FOR POLY-88 565


(PLUG5 INTO EMPTY SOCKET ON CPU BOARD)
SPECIAL ORDER $80
(SUPPLY, IN HEX , ADDR FOR THE IK ROM 6
ADDR FORA 2K RAM WORKSPACE)

Works with MIK BUG or SWT BUG


Loads 8K Basic in <1 min.
Plugs Into the 6800 I/O Bus
Assembled, Tested, & Documented

Super Low Price: $59.95 ppd.


Delivery stock to 4 weeks . To order, call or write today.
We welcome Mastercharge, VI", Checks, Be C.O.D.'.

Personal Computing Co.

Circle 217 on inquiry card.

SUPPLIES

THE

COMPUTER SYSTEMS
STORE
MICROCOMPUTERS & PERIPHERALS
HOME, SCHOOL & SMALL BUSINESS
FEATURING

FLOPPY DISKS, MINI OR


STANDARD MEMOREX OR 3M
3M DATA CARTRIDGES
DC300A , DC100A
3M DIGITAL CASSETTES
3M OR MEMOREX AUDIO
CASSETTES, C-60
3M DISK CARTRIDGES

Small Business Systems Complete with


Application Software Including
Word Processing
DEALERS FOR
Commodore Pet Lear Siegler
Processor Technology Diablo
Polymorphic
Texas Instruments
Cromenlco DEC
Southwest Technical North Star
Micro -Computer
Anderson Jacobson

WE OFFER:
COMPETITIVE PRICING
IMMEDIATE DELIVERIES
)Any Quantity)
UNCONDITIONAL GUARANTEE

Business Systems , Inc Books & Magazines

BETA BUSINESS SYSTEMS


9369 VICKERS ST., HG
SAN DIEGO, CA 92111
t 714) 56541,05

Cc c

1984 Chain Bridge Rd


5 McLean. VA

703-821-8333

Circle 77 on inquiry card.

Op.. urea detection O

Circle 32 on inquiry card.

S & R Electronics, Inc.


4020 Hempstead Turnpike
Bethpage, New York 11714
Phone: (516) 731-8200

Raglw.Yh tNI card


'^RiRY i1t ".,raids
Pat" nr.tckhg
- NRti-fr.ihl

70 Ncor SDF ED AT 3 .5 to

1511 LEVELS

ONLY

$39.95

Compatible with
RTL, DTL, TTL, CMOS, MOS, and Microprocessors
using a 3.5 to 15V power supply. Thresholds automatically programmed. Automatic resetting memory. No
adjustment required. Visual indication of logic levels.
using LEDs to show high, low, bad level or open circuit
logic and pulses . Highly sophisticated, shirt - pocket
portable ( protective tip cap and removable coil cord).
Eliminates need for heavy test equipment.
Send $31.15 A definite savings in time and money
ICalil residents add for engineer and technician.

6%sales tax] to c`: vat Na


^1

crai.r.ra^^ei *,arm,

: ELECTRONICS

MANCHESTER EQUIPMENT CO., Inc.


30 Midland Ave . a Hicksville , N.Y. 11801

Circle 301 on inquiry card.

D.C. METRO AREA

z- 10 rim pets. respo s,

Visa, Master Charge , Cash, C.O.D.

Call Collect: (516) 433-0613

TYSONS CORNER, VIRGINIA

LOGIC PROBE

CP/for
M 1 .4Northstar
Disk & Horizon ' 1 4 5
$3
PLASTIC BOX 10
for Diskettes
HAZELTINE CRT 1500 wia tbhl es1000
Complete 1.2.3 Computer
System: Hazeltine 1500,
.5145
Horizon -2, Centronic 779

3321 Towerwood Dr. Dallas , T. 75234 ( 214) 620-2776

Circle 3 on inquiry card.

<<^``I ((' .ATCNAPULSE II"

Ea. in
boxes
of 10

Finest commercial quality S-100 Bus


Memory Boards by Industrial Micro
Systems.
Fully socketed , assembled , tested and
burned in.
6 month warranty on puts and labor,
All address & data lines fully buffered.

8k-450 Nanosec -- - - - - - -$194.60


8k-250 Nanosec .- - - - - - -$214.80
16k-450 Nanosec .- - - - - -$434.60
16k-250 Nanosec------- $479.80
BankAmericard and Master Charge accepted.
Personal checks will delay shipment until
cleared. Complete systems configured
to your needs. NY state residents
please add sales tax.
Call or Write.

SAVE 5 to 110111/c

LIST SALE PRICE


IMSAI 8080 W/22 SLOTS $ 751 $649
POL YMORPHICS SYSTEM 2 $735 $675
SHUGGART MODEL 800
$650 $595
SIMILAR DISCOUNTS ON:
IMSAI 4K, 16K, 32K RAM, MID arc.
POL YMORPHICS VIDEO
DYNA8YTE 16K (ASM) RAM
MICRODESIGN 2708/2716 EPROM BOARD
NOVA T/ON ACOUSTIC COUPLERS
1/45 8K (ASM) RAM
PROCESSOR APPLICATIONS DMA FLOPPY
DISC CONTROLLER (ASM)
TARBEL L FLOPPY DISC CONTROLLER
TARBELL CASSETTE INTERFACE
GS/ MODEL 110
PICKLES AND TROUT MOO FOR HITACHI TV
ALL SWTP PRODUCTS
APPLE lI
MODEL 43 TELEPRINTER (OCTOBER)
ADM 3A TERMINAL
SOROC /0120 TERMINAL
TELETYPE MODEL 40 300 L NP
CENTRONICS PRINTER
REPAIRS IN HOUSE AT L OW COST
CUSTOM SOFTWARE & FIRMWARE
General Ledge,
Written in Fortran CP / N Operating System
Runs in 32K-65K Systems

THE COMPIJTEF STOP


16919A Hawthorne Blvd
Lawndale CA 90260
(213) 371-4010

11 30 to 7 30 Tue-Fri
11 to 6 sat
Closed Sunday / Monday

Circle 76 on inquiry card.

by mail -i

from 1stN`'1'ELEC
I

for
MATH
MUSIC
SCIENCE
BUSINESS
EDUCATION
SOCIAL STUDIES

. . - and iust plain FUN!

Send for FREE catalog..


LXTLLIE1^ Dept.B
WardWhidden House/The Hill
Portsmouth , NH 03801 USA

Box 19299, San Diego , CA 92119, (714) 447-1770


nom^

Circle 27 on inquiry card.

Circle 313 on inquiry card.

Circle 133 on inquiry card.

What's New?

MEMORY

Memory Boards for PCM-12


Microcomputer

These memory expansion boards are


the PCM-12 microintended for
computer , an Intersil 6100 based system
which is software compatible with the

Memory Board for Altair ( S-100) Bus

The 8KRS is a new 8 K byte static


programmable memory board for the
Altair (S-100) bus from Pacific Digital.
The 8KRS memory card is organized as
two independently addressable 4 K
blocks with address selection by a
unique jumper and plug system. A write

High Density Memory Boards


for SBC 80

The SBC 032, 048 and 064 Memory


Expansion Boards store 32 K, 48 K, and
64 K bytes of data, respectively. They
are built with 16 K bit memory chips
and other advanced devices manufactured by Intel. Each board is organized
in blocks of 16 K bytes, and the
addressing of each block is jumper

184 May 1978 0 BYTE Publications Inc

Memory Boards for SBC 80/10


Compatible Microcomputers

Digital Equipment PDP-8. The 12020A


memory module holds 4 K 12 bit words
of static memory and is priced at $289
assembled or $199 in kit form. The
12160 module holds 1.5 K 12 bit words
or erasable programmable read only
memory and 512 words of static
memory, at a price of $455 assembled
or $385 in kit form. With the 12040A
Memory Extender module, this board
can be used in any 4 K field of memory
in the PCM-12. The 12210 nonvolatile
memory module includes 4 K 12 bit
words of CMOS memory with rechargeable batteries sufficient to maintain the
contents of memory for 30 days
following a power failure. It is priced
at $580 assembled or $490 in kit
form. The boards are available from
Pacific Cyber/Metrix Inc, 3120 Crow
Canyon Rd, San Ramon CA 94583,
(415) 837-5400.
Circle 609 on inquiry card.

protect feature for the entire board is


provided by an accessible on board
toggle switch . In addition write protect
logic is provided for either or both 4 K
blocks via front panel controls in those
systems containing this feature . Memory
disable is implemented via the Phantom
line and zero , one, or two wait states
can be selected using plug and jumper.
All bus lines are buffered with one LS
TTL load per line.
The board features a solder mask on
both sides and a silk screen legend. The
8KRS is fully assembled and tested. The
board is priced at $199.95 for a 450 ns
access time version and $219.95 for the
250 ns version . Contact Pacific Digital,
E Chapman Av, Suite 604,
2555
Fullerton CA 92631, (714) 992-5540.

These 4 K and 8 K byte memory


boards are compatible with Intel's SBC
80/10 and National's BLC 80 /10 microcomputers . They employ low power
static memory chips with a cycle time
of 630 ns. Typical power consumption
for an 8 K board is 9 .5 W. Address
selection is implemented with jumpers.
The 4 K memory board is priced at
$295 and the 8 K board at $395, from
Electronic Solutions Inc , 7969 Engineer
Rd, San Diego CA 92111, (714)
292-0242.
Circle 612 on inquiry card.

Central Data 16 K Programmable


Memory Board

Circle 610 on inquiry card.

selectable . Storage can be dedicated to


one computer or shared by several
computers, as supported by the Multibus
bus structure. To facilitate battery
backup, each board contains an auxiliary
power bus and memory protect control
which prevents read or write accesses
during system power down sequences.
The auxiliary bus can be connected to a
battery supply. Refreshing circuitry is
also included on the boards. The
memory requires +5, +12 and -5 V
supplies, consumes 15 W in normal
operation and has a maximum access
time of 450 ns. The boards are priced
at $1650 for the SBC 032, $2300 for the
SBC 048, and $2950 for the SBC 064,
with OEM discounts for quantities of
ten or more boards, from Intel Corp,
3065 Bowers Av, Santa Clara CA 95051,
(408) 349-8027.0

Central Data has announced a new


16 K programmable memory board for
Altair (S-100) computers which inserts
refresh cycles between your computer's
normal memory access cycles. According
to the manufacturer it is designed to
use less than one half the power of a
comparable static programmable
memory board. The board comes completely assembled, tested and burned
with a one year warrantee for $289 and
can be purchased with full 32 K of
programmable memory for $475 or add
on 16 K ($200) later. Write Central
Data, POB 2484, Station A, Champaign
I L 61820.

Circle 611 on inquiry card.

Circle 613 on inquiry card.

Circle 30 on inquiry card.

Beckian Enterprises All Prime Quality - New Parts Only

25 PIN DB TYPE SUBMINIATURE CONNECTORS.

EDGE CARD CONNECTORS: GOLD PLATED.


BODY : Non brittle , solvent resistant , high temperature G. E. Veloz . The finest electrical properties available . CONTACTS: Bifurcated Phosphor Bronze , Gold over
Nickel.
Contact Ctrs . . 125: Row Spacing, .140

ALTAIR TYPE:

$4.25 ea .

50/100 Dip Solder


IMMSAI

TYPE:

5 pcs .

$4.00 ea.

CANNON : Gold Plated . The Be. You Can Buy.


5 pcs .
$2.60 ea .
D825P Male Plug
$3.70 ea. 5 pcs .
DB25S Female Socket
5 PCs .
1.00
ea
.
Grey
1
Hood
)
$
.(
DB 51212 5 Pcs.
$ 1.10 ea .
DB 51226 - 1A Hood. (Black )
D 20418 - 2 Hardware Set $0 .80 ea. 5 PCs .

Complete Set includes : 1 Pc. DB25P : 1 pc. DB25S:


1 pc. Hood of your choice Grey or Black.

1 Set $6 . 50 ea . 5 Sets $6.25 ea.


Note : For D 20418 - 2 Hardware Set, add $0.75 ea.

(450 nS )
$14.00 ea.

100" Contact Ct'Ls: .740" Row Spacing.


5 pcs .
$ 2.30 ea .
15/30 Solder Eyelet
5 pcs.
$ 2.75 ea .
22/44 Dip Solder
5 pcs .
22/44 Wire Wrap (3 Turn) $ 2.50 ea .
$4.00 ea. 5 pcs .
40/80 Wire Wrap ( 3 Turn )

$ 2.10
$ 2.40
$ 2.20
$ 3.70

ea.
ea.
ea.
ea.

Low Profile.
14 pin . & 16 pin . $0.16 ea.

HEAT SHRINK TUBING


1/8" Shrinks to 1/16" I.D. $0.35 per ft.

. 140" Rote Spacing.


5 pcs .
$ 2.25 ea .
$ 2.50 ea. 5 pcs.
5 p cs .
$ 2 . 00 ea .

$ 10.00 ea.

I.C. SOCKETS: VIP SOLDER

Note: Wye Wnap Spacing .200" (Rote Spac cn(?)


Dip Solder
Dip Solder
Wi re W rap ( 3 T urn )

8080A - PRIME

2708 - PRIME

OTHER CONNECTORS AVAILABLE

156" Contact Ct'y.:

$ 2.25 ea.
$3.45 ea.
$ 0.95 ea.
$1.00 ea.
$ 0.75 ea.

SAVE: BUY A COMPLETE SET.

Contact Ctrs .. 125: Row Spacing, .250

5 pcs. $4.00 ea.


$4.25 ea .
50/100 Dip Solder
5 pcs . $4.00 ea.
$4.25 ea .
50/100 Wire Wrap ( 1 Turn )
)
25 per pair to IMSAI Prices
IMSAI Card Guides (3 Turn
Note: Also good for CROMEMCO.

18/36
22/44
1 5/ 3 0

- Satisfaction Guaranteed

CABLE TIES

$ 2.00 ea.
$2.25 ea.
$ 1 . 80 ea . -

3'," and 5''," $0.03 ea.

WRITE FOR LARGER OLIANTITY DISCOU N TS


D EA LERS WELC OME

.156 " Contact Ctrs: . 200" R ow S pac ing.


22/44
36/72
15/30
18/36

Wire Wrap ( 3 Turns )


Wire Wrap ( 3 Turns )
Dip Solder
Dip Solder

$ 2.80 ea .
$ 4.00 ea .
$ 1.90 ea .
$ 1.95 ea .

5 pcs .
5 PCs .
5 pcs.
5 pcs .

$ 2.50
$4.00
$1.65
$ 1.70

ea.
ea.
ea.
ea.

36/72

Dip Solder

$4.00 ea .

5 pcs .

$ 3.65 ea.

43/86

Dip Solder ( 6800 )

$4.90 ea .

5 pcs.

$4.75 ea.

WE ARE YOUR CONNECTOR SPECIALISTS.


IF YOU DO NOT SEE THE CONNECTOR HERE THAT
YOU NEED, PLEASE WRITE US. IN MOST CIRCUMSTANCES,
WE CAN SUPPLY IT TO YOU.

MINIMUM ORDER: $10.00: Add $1.00 {soh.


e11,Lppcng. Ondex overt $25.00, we pay
the shipping. CaU6. Ra.s etvt^s add 65
Tax. NO C.U.D. SHIPMENTS.
Okde.

Fn.om:

Beckian Enterprises

P.O. Box 3089 Simi, Calif. 93063

MICROS IN STOCK
SWTPC 6800 & 6800/2 RCA Cosmac VIP
National Semi SC/MP SoI-20

Kim 6502 Imsai 8080


Intersil 6100 Motorola 6800

HIGHLIGHTS

FROM GIANT USED GEAR INVENTORY:

a e ii(^11^
I DATAPOINT
IBM 1050 ... $995 60-KEY
Idbtl
1/O"
ASCII
2200-2000
"COMPLETE
KEY- $395
Control, Printer with

41,

BOARD 30 CPS Printer


y
I/O, Card Reader $49 MECHANISM ONLY ... $195

Keyboard, Paper Tape

, AMERICAN USED COMPUTER CORPORATION' S Commercial Listings: IBM, DEC,

P L U S DG, UNIVAC, DATAPRODUCTS, CENTRONICS ... OVER 170 VENDORS.


Send $1 to cover First Class Postage / Handling to:

"World 's Largest Personal


Computing Center"
Dept . BM5, 584 Commonwealth Ave.
Boston, Mass . 02215 (617).261-2700
Circle 78 on inquiry card.

BYTE May 1978 185

CP/M on North Star Disk


SOFTWARE CP/M, a widely used Altair (S-100)
floppy
disk operating system is now
available for users of North Star Disk
and Horizon Computers. Its features
New A/V Operating System for 8080
Federal Income Tax Program Runs
include dynamic allocation of diskette
on Many Computers
storage, relocatability of system in
memory, intrinsic commands to save,
FIT, a Federal Income Tax program
rename, erase and display directories
written in BASIC, does the calculations
of files and complementary context
required by Form 1040 and is formatted
editor, assembler and dynamic debugging
so that Form 1040 can be printed using
program. Without any hardware changes,
a 6 line per inch printer. It is interCP/M can be run with all the features
active and prints warnings if the user
available to the users of the system on
tries to violate IRS rules. FIT runs in
standard floppy disks. Microsoft
8 K of memory, while an expanded
FORTRAN-80 and Disk Extended
version called FITAB, which handles
BASIC can also be supplied on 5 %4
Schedules A and B, runs in 12 K of
inch diskette to run on the "CP/M on
memory. Both programs use only
North Star Disk." All the software is
elementary features of BASIC in order
fully 8080/Z-80 compatible. Prices
to be adaptable to as many computers
are: CP/M on North Star Disk, $112;
as possible. A source listing and user
FORTRAN-80, $400; Disk Extended
instructions is $14.75 for FIT and
BASIC, $300. FORTRAN-80 includes
A program designed for the 8080 is
$19.60 for FITAB, while specialized
relocating assembler and linking loader.
now available for time coded indexing
versions are offered on North Star
The compiler is said to meet the full
for editing, assembling and other applidiskettes and Tarbell, PET and TRS-80
ANSI specifications except for complex
cations associated with films and tapes.
cassettes for prices ranging from $16.60
data types. Disk Extended BASIC is a
The display is in everyday language and
to $22.60, from Softbyte, 315
CP/M generation of Altair Disk BASIC
will handle up to eight sources simulDominion Dr, Newport News VA
4.1. Contact Lifeboat Associates, 36
taneously. It is written in 8080 assem23602.0
W 84th St, New York NY 10024.0
bler language so no high level language

is required. Program resides in 3 K of


contiguous memory and is supplied on
punched paper tape with a manual
complete with source listing. The program requires two parallel input ports
and will operate with most video display
modules having on board screen
memory. It also includes a routine to
write a continuous SMPTE (Society of
Motion Picture and Television Engineers)
record using one output port. Priced at
$39 postpaid, it includes one presoldered, tested interface module.
Additional modules are $7.50 each.
J S Wiener, 4440 N Kedzie Av, Chicago
I L 60625.0
Circle 614 on inquiry card.

Nutrition Analysis Program in BASIC


The Nutrivalue programs enable users
to analyze recipes, meal plans and daily
or weekly menus for their nutritional
content including vitamins, minerals,
protein and calories. The analysis is
computed from the list of ingredients
and is printed or displayed in tabular
form. Nutrivalue I, which runs in 5 K
bytes of memory, refers to ingredients
by number and thus does not require
BASIC with string handling facilities.
It includes nutrient data for 53 ingredients. Nutrivalue 11 uses string handling
to refer to ingredients by name, and can
be ordered with databases of 100 or 200
ingredients. Both programs come with
complete documentation including a
source listing, flowchart and logic
description, and instructions for installation, operation and expansion. Paper
tapes are optionally available. Prices
range from $10 for the Nutrivalue I
listing to $40 for Nutrivalue II with
the 200 item database, from Consultus,
POB 86, Arlington MA 02174.0
Circle 615 on inquiry card.

186 May 19780 BYTE Publications Inc

Circle 616 on inquiry card.

Want Software for the Xitan Z-80


Computer?
Technical Design Labs has introduced
three new programs for their Xitan Z-80
computer:
Z-TEL (Text Editing Language) is a
utility program designed to provide a
powerful set of techniques for editing
and manipulating text files. Z -TEL has
the capability of moving large blocks
of text inside the buffer , avoiding the
deletion and manual retyping of text.
It provides decision making capabilities
and transfer of control ( branching) from
one part of a command string to
another. Additional features include
nested iteration and backward search
which offers the user more complete
ways of editing text. Z-TEL is a relocatable program which requires less
than 7 K of memory . It is available on
paper tape at $50, on cassettes at $40,
and will soon be available on disk.
Micro-SEED , a database management
system ( DBMS ) is an implementation
of IDB's SEED CODASYL system. It
will support both hierarchical and
network data structures , providing both
"schema " and "subschema " views. The
Micro-SEED package consists of Data
Definition Language ( DDL) processor
that checks and compiles the data definition of a database into a schema table;
Data Manipulation Language ( DML) subroutines that can be invoked from
FORTRAN or assembly language programs to retrieve and update database;
and Database initialization program
(DBINIT ) that prepares a disk area for
the loading of the database . A user's

.-

Circle 617 on inquiry card.

manual is supplied with the Micro-SEED


package, along with three months of
maintenance for $1250. The MicroSEED package requires Technical Design
Labs' Z-80 Disk System configuration
plus an additional 48 K of Random
Access Memory. Various options to
Micro-SEED are available to extend the
database capabilities to meet the specific
requirements of the user.
FORTRAN IV is said to be a complete ANSI STANDARD FORTRAN IV
for the Z-80, also featuring many extensions such as the data types
INTEGER*1, INTEGER*2, REAL,
DOUBLE PRECISION, COMPLEX,
LOGICAL and STRING. Other features
include named COMMON, EQUIVALENCE, statement functions, full type
conversion, a full library of scientific
and string functions, linking loader with
automatic library search (can link with
assembler output), full formatted 10;
sequential or direct access 10, hexadecimal constants. The compiler allows
control over placement of data and code
areas so that the code can run from
Read Only Memory. Operationally, this
FORTRAN is a disk oriented system
which runs in less than 24 K with a
disk operating system. Both FDOS
IV and CP/M versions are available.
This complete package for $349 includes
both the floppy diskette with object
code and a user's manual. Additional
documentation and support packages
are available.
Design Labs,
Contact Technical
Research Park, Building H, 1101 State
Rd, Princeton N J 08540.0
Circle 618 on inquiry card.

Circle 242 on inquiry card.

wmc;

C C^=DrT1 BOARDS

MIKOS PARTS ASSORTMENTS

WAMECO INC .

All p i ece par t s f or assem bl y o f Wameco and SSM


PCBD's. All Factory Marketed Parts . Order PCBDs
right.

MEM-1 8KX8 fully buffered , S-100, uses 2102 t ype


rams . PCBD .._...... _...._._.........._......_...... $25.95
Mother Board 12 slot, terminated , S-100, board
only _...__......._......... .__..... $30.95
CPU-1 8080A Processor board S-100 with 8 level
vector interrupt PCBD ..._........._..._._..._... $25.95
RTC-1 Realtime clock board. Two independent interrupts. Software programmable. PCBD ..$23.95
EPM-1 1702A 4K Eprom card PCBD ___...$25.95

MB-1 MK -8 Computer RAM (not S-100) , 4KX8 , uses


2102 type RAMs, PCBD only ........_ ..................$22.00
MB-3 1702A EROM Board, 4KX8, S-100 switchable
address and wait cycles, kit less PROMS........$5800
MB-4 Basic 4KX8 ram, uses 2102 type rams S-100
buss. PC board ...$25.95
MB-6A Basic 8KX8 ram u ses 2102 type rams , S-100
buss . PCBD ..............._......_._....._____....$25.95
MB-7 16KX8 , Static RAM uses ,P410 Protection,
fully buffered . KIT...__...._.....$375.00
MB-8 2708 EROM board , S-100, 8KX8 or 16KX8 kit
without PROMS ..... _..._... _...__._......_._.._$65.00
Board uses 2112 RAMS or
82S1 4 KX8 RAM/PROM
ki
825129 PROM
ROM t kit without RAMS or PROM s $72.00
10-2 S-100 8 bit parallel I /O port, i5 of boards is for
kludging . Kit .__ .$46.00 PCBD..._.. .$25.95
10-4 Two serial I/O ports with full handshaking
20/60 ma current loop: Two parallel I/O ports.
Kit . .... $130. PCBD $29.95
VB-1B 64 x 16 video board, upper lower case Greek,
composite and parallel video with software, S-100 .
Kit ................ $125 .00 PCBD ..........-._$25.95
Altair Compatible Mother Board, 11 x 111/2 x'/e".
Board only
$40.00. With 15 connectors $90.00
Extended Board full size. Board only ....$ 9.00
With connector
--- - - -- - $13.00
SP-1 Synthesizer Board S-100
New Low Price. .._..... -Kit ..._...._.....$135.95

Mikos #1 Parts for MEM-1 PCBD with prime


2102AL-4 450 nsec rams. Less PCBD ........$103.00
Mikos #2 Parts for CPU-1 PCBD with prime 8080A
8212's and 8214. Less PCBD __ . ...........$6000
Mikos #3 Parts for MEM-1 PCBD with prime
2102AL-2 250 nsec rams. Less PCBD ........$113.00
Mikos # 4 Parts for OM-1A with super low loss gold
plated connectors. Less PCBD. ......................$52.00
Mikos #5 Parts for RTC-1. Less PCBD $4000
Mikos #6 Parts for VB-1B less molex connectors
and PCBD. __..$62.00
---- - --

10% discount on 10 or more of WAMECO PCBD


in any combination.
...................
2102AL-2 Prime 250 NSEC
...... ._.$1.60
......... _........$1.25
2102AL-4 Prime 450 NSEC
2708 Intel Prime (.5USEC) $15.00
2708 Prime ( National ) _..........._. .....^._.. $10.00
1702A-6 AMD Prime . ............ $3.50
1702A Intel Nct Prime (2US) ..._.$1.50
TMS-6011 Prime ......$6.95
25018 $1.50 1488N $1.50
1.50 1489N
1.25
2502B
2504 1.50 4044 2.25
2507V 1.50 8038 3.90
2510A 1.50 5320 5.95
2517V 1.50 5554 1.90
2518B 1 .50 5555 2.50
25198 1.50 5556 2.50
2521 1.50 5055 1.25
4.00
2522 1.50 5312
H0026 1.50
2525 1.50 MH0
2527 1.50 MH0026 1.9
2532V 1.50 MH0028 1.90 0
2529 2.75
2533V 1.95

82S23 $1.50 PRIME DEVICES


825123 1.50
82S114 2.95 8080A $12.00
825115 5.50 8212 3.75

82507 $1.00 8T26 $2.00


82550 1 . 00 8734 2 . 50
82S50 1.00 BT34 2.50
82S62 1.00 8T37 2.50
82S90 1.00 8T38 2.50
82S91 1.00 8T74 1.50
8701 2.50 8T80 2.50
8709 1.25 8790 2.50
8T10 2.50 8T95 2.30
8713 2.50 8T96 2.45
8T14 2 . 50 8T97 2 . 00
2 00
8T20 2 . 50 8T1 1
8T23 3 . 00 1 560 2 . 50
8T24 2.50 5677 1.50

Check or money order only. If you are not a regular customer and your order is large please
send either a cashier's check or a postal mone y order , otherwise there will b e a d e l ay o f t wo

82S126 1.95 8214 6.30

82S129 1.95 8216 3.95


82S130 3.00 8224 5.00
82S131 3.00 8228 6. 95
82S136 3.95 8251 9.95
82S141 3.95 8255 9.95
MM16330 1.50

weeks for the check to clear. All items post paid


in the U.S. Calif. residents add 6% tax. Money
back 30 day guarantee. We cannot accept returned IC's that have been soldered to. Prices
subject to change without notice. $10 minimum

419 Portofino Drive

San Carlos , California 94070


Please send for IC, Xistor

order . $ 1.00 service charge on orders less


than $10.

and Computer parts list

COMMERCIAL GRADE EQUIP MENT - HOBBYIST PRICES! !


NO RISK ! 7 DA Y
APPROVAL ONALL
MAIL-ORDERS. FULL
REFUND ON RETURNS.

MODEMS AND

PHONE COUPLERS
TAPE DRIVES

S ELECTRIC TERMINALS

SELECTRIC I/O TERMINALS (by GTE/ Information Systems ). Includes 8080


interface plus software ASCII translation and I/O driver routines , 15" carriage ,
interchangeable type spheres & carbon /fabric ribbons . Built-in modem optional ,
MODEL 5541 (IBM correspondence code, 2741 type terminal ): $ 895
MODEL 5550 ( corres. code , with built - in cassette tape drive for
$1495
off-line data storage or use as memory typewriter ).
MODEL 5560 (ASCII code, with cassette tape drive) : 51495
IBM SELECTRIC TYPEWRITER with magnets , switches & magnet driver PCB
(from GTE/ IS Terminal above ). Includes instructions for 8080 printer /driver

POWER SUPPLIES ( from Diablo HyType I Terminal ): pot adjustable, OV


protect . Inputs : 110 or 230 VAC; Outputs: +5V reg. @ 30A ; 15V reg. @
7A ; -9V @ 5A ( adjustable to -12V); unreg. +5V )adj. to + 12V) $75
PAPER TAPE READER ( Addmaster 601-1 ): 150 cps, LED sensors
read 5.8 level tapes , bidirectional stepper motor , includes TTL serial
interface plus 8080 parallel interface instructions . Requires +SV &

interface (output only)

Typewriter mechanism complete, cleaned & adjusted 5325


Aluminum case & Power Supply )+5V , 12V, + 24V S 75
MODEMS:

Send / receive Bell-103 Type by Vadic Corp. ( requires +5V 12V); $75
Also 202 -type modems , some with reverse chanel transmission
and/or auto answer features .
$25
Telephone Coupler
IBM PIN - FEED PLATENS for 15" Selectrics (13'4" pin-to-pin paper )
New
S50
ASCII ENCODED KEYBOARD w/numeric pad, assembled
$60
Call or write for details , quantity discounts, order
forms. All orders shipped from stock - no back orders,
no substitutions. All equipment is shipped insured
FOB Pa to Alto within 7 days after check clears or COD
order is received . M/C & VISA cards accepted .

Circle

AMPEX MODEL TMX TAPE DRIVES with built-in NRZI formatter. 800
BPI, 9 track , 12 IPS , 8" reel includes 8 bit CPU controller diagram and 8080
interface instructions . Ideal for microcomputerist who wants back -up mass
storage and access to IBM-type systems via standardized V." mag tape, $750

296

on

+24V:
S90
INTE RDATA Model One 8 Bit MINICOMPUTER , includes full front
panel , 4K core memory ( 16K addressable ), plug-in teletype port, plus

software:
$300
FORMS TRACTORS , variable width
MOORE FORMALINER for 15 " IBM Selectrics $50
AC LINE FILTERS:
Eliminate AC hash," power surges and brown -out disturbances from
your system with these heavy -d uty (10 Amp fused ) line filters. Can
handle 110V or 220V inputs, $10

PACIFIC OFFICE SYSTEMS. IN C.


2600 F.I. CAMINO REAL, SUITE 502
PAI.O ALTO. C ALIF.
94306

Tel: (415) 321-3866

inquiry

90 day warranty against defects in material or work.


manship on all used equipment . Full documentation

included PLUS interface instructions where indicated.


Availability subject to prior sale. Prices may change
without notice,

card.

BYTE

M ay 1978 187

FOR ALL CUSTOMERS EXCEPT CALIF. CALL TOLL FREE 800-421-5809


4096
Dynamic Rams
100 1o, $3 . 50 ea
8212
8 8n O
2510, $300na

DM8131N
'

100 Io, $2.25 ea

41161700ns1
166 Dvna- Ram
Anpn
16 lo, S24 00 ea

0 1520 00

TMS 4027
Don I Ram
100 lo, 53.50 ea

21 L02 lahon.1
Slant Rams

100 la, sl 10 ea

82244
ft D.
12 X51- $875'a

107 Io, 704 ea

170'A
E PROM
8 10, S3 75 ea

270814500n1
E PROM
87,, SlI00..1

21L02 !250,01
Sl-t,r Rams
1007, sl 36.a

14368

74L5367

74LS36B

2513 (5v,

10010, 704 ea

100 to, 704

100 In, 704

5 lo, 59.00 ea

MICROCOMPUTER COMPONENTS
8K
250. , ASSEMBLED & TESTED $189.95
450ns ASSEMBLED & TESTED $149.75
250ns
KIT
$16995
450n, KIT $125.00
BARE
BOARD
25.00

$135.00 EA.
$149.95 EA.
BARE BOARD $35.00

12MH,,

6800 ADAPTER to S-100 System

KIT $12.95

4MH1

16K
2500. ASSEMBLED & TESTED $435.00
450ns ASSEMBLED & TESTED $380.00
4590:

KIT

$335.00

32K
2500: ASSEMBLED & TESTED $850.00
450ns ASSEMBLED & TESTED $775.00
450ns

KIT

$675.00

full ASCII
PROFESSIONAL KEYBOARDS
Mos m[ r. m^. o., e

On board Ranesh Power ,x r, sd w,1M1 sw 55.11

MODEL
7M

111, Alp" I-

yck s aa1,N r

(56 keyel

.BV OC 400b1A DC, 1BVDC 4-A DC and


- 18- 3DMA DO

o Iv $17. 95 with trade


$49.95 purchase.

u^4 Isr1'4MaAtIDN

io I,ede. van mull give ,.s vau, 2MHa Z80 chin


and 0224 clock dnvcr

1 t,0. Inrmayl 575 vs

EXPANDABLE 32K
8K 1375ns1 KIT $151.00
es 16K
1 375 It) KIT $25900
,
24K 1375ns) KIT $367.00
32K (375ns1 KIT $425.00

change voi, JADE 2MHl ZBO I. a 4MH. .es.....


-1h Ihis simple k,l

Th, UPGRADE KIT includes

aao0..r ^swi q^r.... eos

ZBOA" 0, IRK ,.51st:,


82244 clock d11re, 200 . capaeno,
36ee H, e, yslal

EXPANDABLE 64K
16K 13750,1 KIT $281.00
32K 1375n s1 KIT $519.00
48K 13750,1
KIT $757.00
64K 137500 KIT $995.00

JADE PARALLEL /SERIAL


INTERFACE KIT

S9B B5
ma nuoc 515.1 oa

5100 $124.95 KIT


2 Set.al Inge, faces with RS232

^ntertaces o, 1 Kansas City casseH,


interlace
Sereet p faace a
slay wns,^l led
Calabl budsr a
Cassette works aptto 1700 bond
1 parallel pore

Cosa

s.

KIT $99.50
MR 8 (SK uses 2708 )
with iK RAM
MR 16T I16K uses 27161 KIT $99.50
with 1K RAM
MM16 I16K uses 2708 )
$ 9900
RAM/N / ROM 116K uses any
E PROMI
KIT $117.00
JG8/16 loses 2708 or 27161
KIT S59.95
BARE BOARD $30.00

xtA1R

o..q,.e to ,, ^r.^ r5n. a.1 ,1, n_a5B5

JADE VIDEO
INTERFACE KIT

AE.^~ E a^Eon:.

$99.95

FEATURES
S-100 Bus Compatible

Convert T.V. set to


Video Monitor.
KIT ............ $8.95

32 or 64 Characters per line


16 lines
raphics (128 x 48 matrix)
Parallel & ompositive video
On board low- power memory
Powerful softw a in luded for
cqcursor, home hU L, Scroll Graphics/
(:haracter, etc.

Upppg r case lower case & Greek


Black -on-white & white - on-black

MHz
orna,e,
ir.. lnaw'r'sn. ,narn,PP
a. m..r,m, r, 1e a. awn,., .n
Osh.gE nrrri ,pt .rr
^ 4ec --I,-

OFsEt
po
,o to

COMP4 TINE CT 100


a1W W0.[:OMKAT14cF

,e un b rkcad by 114 de.,o


Ca,p.n drcummuum incluM dole

TIME & CALENDAR


Mlctopto onaon need the power Thal a ,eat 11me clock
Net Due ens time becomes ,nslantly dvallable
CONMURIME do" nol have to be mlhaheed every l me
the system,, powered up. Il possesses a ctyslal-[o led
,.l1at01.
hme as to obtain sueetlot accuracy and has 1550 se
ns,dns, 50un1Ax T,- dale and [opn@re It let

MOTHER BOARD's - S-100 Style


13 slot - w/front panel slot

BARE BOARD $35.00


KIT $95.00

zk K.:.n o m 1.va,l
cG RFMBcCO b tinnED
aG

$179.95

$ 124.95

BARE BOARD ..-nn Ma-

$30.00

22 slot $149.95
ASSEMBLED & TESTED

- 2708 - 2716
5204 - 6834

gs dneclly ^nm wpm ALTAIR . Compete,


dudes Main Module Boartl _d E1e,na1 EPROM
Socket -1

Tne EPROM 6oekel Unn .s cannec,ed 10 ,he Coin


9na25p
P.aogramm^ng s accomplnhedcbv the Compu,e,
cad the P, :gram lh tae W, n,en on ,1
EPROM lino your Processor and 1e, 111. Cnmpule.
Ithe
U e 6ocke 1 U-I ,o Read EPROM s Cmenls u+1o

p, cpmle,

Spllwa,e included

na epfnwase
COMPUTATIONAL FUNCTION
Mletep[ oeesson need In be compllmenled bo ha,e55aae
atymmern no nup
Be m my pages demcated 1n lost
ea CONE'U/
TIME tptov aasna540dtunct of ,,al (i Dewa,
algebtalct tngonometnc basic a,thmeh[ Da ahlem^ [ana
be solved -h- the need cut de.ilODmq sr, ph A.ca led
mrlwea 8.11

WRITE & READ


EPROM
1702A

' Na e.,ema1 pow. , suphe: . vo,,, ,. nu,^,e^ does

JADE 8080A KIT


$100.00 KIT
BARE BOARD $30.00

6oo1e, ax an E,9h, Bn

Pa,aI1e1 170

Manual meluded

KIT ......... $210.00


ASSEMBLED .......... $ 375.00

BANKAMFtICAR

CONNECTORS
DB - 25P $3.00
DB - 25S $4.00
5351 West 144th Street
LAWNDALE, CALIFORNIA 90260
(213) 679-3313

COVER $1.50
PC & EYE $1.95
WW $2.50
( 6800) PC $5.00
( COSMAC ELF) $5.00
PC
100 Pin - ( Altair) PC $4.50
100 Pin - ( Imsai) PC $3.75
100 Pin - ( Imsai) WW $4.25

44 Pin
44 Pin
86 Pin
86 Pin

188 BYTE May 1978

MEMORY PLUS
for KIM-1
8K RAM ( 21L02)
8K EPROM

ASSEMBLED & TESTED


$245.00

RETAIL STORE HOURS: Monday - Friday 9-7


Saturday 9-5
Discounts available at OEM quantities ADD $1.50
under 10 lbs. for shipping. California residents add
6% sales tax.
NEW CATALOG NOW AVAILABLE

Circle 195 on inquiry card.

Circle 307 on inquiry card.

P.O. Box 4430X Santa Clara , CA 95054


For will call only: ( 408) 988-1640

Same day shipment . First line

2996 Scott Blvd.

parts only. Factory tested.


Guaranteed money back.
Quality IC' s and other
components at factory prices.

INTEGRATED CIRCUITS
2 90
6800 24 50 OM8577
2 90
arena 0th data 11 50 8223
36 00
280 29 95 2716
8212 3 50
8214 800
IC SOCKETS
8216 3 85
Solder TIn Low Prollle
822,4 3 5o
PIN 1 UP PIN 1up
8228 6 25
8 15 24 36
8251 17 50
7 4 18 28 43
8255 10 75
16 20 36 58
COP1802C0 19 95
18 27 40 61
COP1802D 25 00
22 35
CDP1861 12 95

6820

200

6850 5 00
6502 24 50

3- 1 r
35 16 on 39
/ lever 4 pin caw 25

CONNECTORS
PROM
44 pin edge 2 00
17026 4 95 100 p1, edge 4 50
182123 2 95
100 in edge WW 5 25

6025123 3 50
NO//I/S 3 75
MOS/MEMORY RAM
,I82S129 3 75
5825131 3 75 27071 3 95
1821136 5.75 21021 1 28
6825131 8 75 210281.4 60

New Cosmac Super "ELF"


RCA CMOS expandable microcomputer w/HEX
keypad input and video output for graphics. Just
turn on and start loading your program using the
resident monitor on ROM. Pushbutton selection
of all tour CPU modes. LED indicators of current
CPU mode and four CPU states .Single step op.
for program debug Built in pwr. supply, 256
Bytes of RAM. audio amp & spkr. Detailed asst',
man. w/PC board & all parts fully socketed.
Comp Kit $106 . 95. High address display option
8.95; Low address display option 9.95. Custom
hardwood cab, drilled front panel 19.75. Nicad
Battery Backup Kit Wall parts 4.95. Fully wired
and tested in cabinet 151.70 . 1802 software
echng. club; write for into

4K Elf Expansion Board Kit with


Cassette I/F $79.95
Available on board options: 1 K super ROM monitor $19 . 95. Parallel 1/0 port $7.95. RS232 I/F
$3.50 . TTY 20 ma IF $1.95. S-100 Memory I/F
$4.50
Tiny Basic for ANY 1802 System
Cassette $10.00
On ROM Monitor $38.00
Super Elf owners take 30% off.

1 85 CRYSTALS

21 F02
2104A4
21078
2111 1
21122
MK4116
25138
21L02.1
MM5262
MM5320
MM 5330
PD411D-3
PD4110 4
Poor
42000
82S25
912020
H00165 5
MM57100
GIAY38500-1
MCM6571A
9368

16 50

MICROPROCESSOR 2708

3.95 7 MHz 4 50 2 0100 MHz 1 95


4 00 2 MHz 4 50 2 097152 MHz 7 75
700 4 MHz 4 25 2 4576 MHz 7 50
7 90 5 MHz 4 25 3 2768 MH, 7 50
27 50 10 MHz 4 25 S 0688 MHz 4 50
8 75 18 MHZ 3 90 5 185 MHZ 4 50
149 20 MHz 390 57143 MHZ 450
40 32 MHz 3 90 6 5536 MHz 4 50
5 95 32768 Hz 4 00 148 31 MHz 4 25
594 1 8432 MHz 4 50 18 432 MHz 4 50
400 3 5795 MHz 1 20 22 1184 MHz 4 50
5 00
COMPUTER BOARD KITS
1395
BK RAM Board Kit $134 95
12 50
46 EPROM Kit 114 95
290
I 0 Board Kit 44 50
2 50
Extender Board wconnector 12 50
6 95
Video Interface board kit 125 00
9 50
16K EPROM board kit w 0 PROMS 74 50
1 3 95
161 Static RAM board It 395 00
15 00
Not, Star Floppy Dick Ka 5665 00
300
Additional Or-ve Kit 475 00

INTERFACE P015Ilenics 1004 Lagio


Analyser KIf 5199.00
N 8T26 2 00
N8T28 2 75 Model 10 Tugger Expander Kit $299 00
N8T97 1 35 Model 750 Bus Grabber Kit $369 00

Auto Clock Kit $15.95


DC clock with 4-.50" displays. Uses National
MA-1012 module with alarm option. Includes
light dimmer, crystal timebase PC boards.
Fully regulated, comp. instructs. Add $3.95
for beautiful dark gray case. Best value anywhere

Video Modulator Kit $9.95


Convert your TV set into a high quality monitor
without affecting normal usage. Complete kit
with full instructions.

'78 IC Update Master Manual


1978 IC Update Master Manual $30.00
Complete IC data selector 2175 pg. Master reference guide Over 42.000 cross references.
Free update service through 1978. Domestic
postage $ 3.50. Foreign $6.00 . Final 1977
Master closeout $15.00

RCA CosmacVlP Kit $275.00


Video computer with games and graphics.

Sinclair 31/2 Digit Multimeter


Batt. oiler. lmV and ANA resolution. Resistance to 20 meg. 1% accuracy. Small, portable,
completely assem . in case . 1 yr. guarantee.

$59.95

TERMS 55.00 min order U S Funds Calif residents add W. lax BankAmericard and Master Charge accepted Sllippinp charges will be added on charge cards
FREE Send for your copy of our NEW 1978 QUEST CATALOG Include 247 stamp

^k YOUR BEST BUY IN WIRE WRAP SUPPLIES ^k


WIRE WRAP SOCKETS

PRECUT WIRE

1-9

WHY BUY WIRE ON ROLLS'

10-1

PRECUT & STRIPPED WIRE IS:

16pin'

38
35
31
29
42
39
38
32
29
39
35
32
46 43

;S63
58
54
47
44
41
20 pin
84 78
71
63
59
54
2200 130 t 20
1
10
95
w
94

Ecoeemlc91 - Cheaper than using bulk wire

24

a1 s; 99 ba/n.
1 DO pc or 3- ar S 82 3'..e/e. so 11
100 pcs s of 6'- a 1 06 2a/N. 100 r1 1o11 a1 2 95
Wire Kit 1 at 5695
2 1/%/n

30 Kynar slipped 1 11 ,In end Lengths are ovaren


Colo s 80,1 Blue Green reir0w. Black Orange Wnne
W,re packaged in preen/ bags Add 254/length 10, tubes

cog
78
82
66
90

SW
240
260
280
300

1000
430/1
4716
512/K
552'1

5000
389,1
4221
4551
468/K

94
96
702
106

32;
342
365
385

5.93/1
634/6
675 K
7161

521;1
552/6
566/1
619.8

6 in

t 15
720
125
129

405
425
445
465

757,1
198'1
639/1
660/K

6521
685/K
716/K
753/1

8, in
9
9'0 in
10 in

132
136
1 40
145

485
505
5 25
551

921/0.
962/K
70 03/K
1044/6

784/K
8171
8 50/K
883/1

10

41

621

661

2, ,nn
3
3, n

4n
41/in

5 in
5'r in
6 in

+^n
n

7'/0 in

Addl. inches

pin

91

28 pn 1 25
40 pin 1 65

WW
.4 9
1024 Connector
11
5_

27
27
30

Fat - No more cutting & stripping by hand


RNlable - Good clean , uniform strip

Phial Wire Bulk Win

WIRE WRAP BOARDS

25-N00- 249 250 - 999 11-51

8pn'
41
14
010'

94
79
Be
6r
59
1 15 t 09 95 69 82
1 55 1 42 1 25 1 15 109

Grid 3-lever Cloud Entry 50/x41!

End 6 Side Suck61e ,i puc e! n rude gold


Tin sockets and 2-level s.c kits in'.

INTERCONNECT CABLES

$19.95

choose One cold,


01 Assortment

36822
4.6 44 Buses on one side
40664 4x6 72 Buses on both sides
4x6 72 81206
3719 1

950 900 825 3.00


1350 13.00 12.50 4.00

72 Blank
3719.4 4.10
4350 7x9/0
80 Buses on both sides
8800V
10x5 3 100 Buses on both !,des

11.00 10.50 10.00 4.00


17.50 16.50 16.00 700
19.50 1796 16.95 500

9.00 850 8.00 4.00

169P84 8',x17 Blank

6.25 5 .75 5.25

bout pen4is ur poem 1o board


SINGLE ENDED DOUBLE ENDED
Ikpn _t6pin -24pin.

14 pi0 5.07 24-pn

09 1CA@ 50 up

SOCKET
SALE!

6' 124
134 205
224 245 337
12' 133 144
224 233 255 392
24 1 52 1 65 2 63 2.52 2 76 4 37
48 191 206 340 291 317 508

14 p. n Gold W W
16 on Gold WW
24 pin Gold WW

.34 32 30
36 35 33
75 70 68

Prices good through

6/1/78
when purchased with

WIRE WRAP TOOLS

Wire Kit xT or =2

PAGE DIGITAL
ELECTRONICS

With Free Wire Kit 1


($695 Value)

Ordering Information:

HOBBY WRAP
250 3 100 4
250 2'. 250 4 250
250 3 '/i' 700 5 '500 3 250 5 101 fi
700 4 " 100 500 3 ': ip0 5 , 100
500 4 1 250 11 Bon Bnrk

4.75 4 50 4 . 00 3.00
625 5 85 550 3.00
10.50 1000 9.50 3.00

Ribbon cable connectors 70, /011,407/ 00 boards to

$34.95
WIRE KITS

H PCB 1 4x4' 44 Buses on both sides


3662 4x6 44 Blank
3682 4.10 44 Buses on one side

Model BW 630

Orders under $25 and COD's. add $2

Batteries & Charger


$ 11.00
WSU 30 Hand Wrap - Unwrap Strip Tool 5.95
WSU 30M. for Modified Wrap 695
BT 30 Extra Bit 2.95

All others. shipped Plod in U.S. via UPS


For Blue Label (Air) or 1st Class, add $1
We accept Visa & Mastercharge
Most orders shipped same day

135 E. Chestnut Street 4A


Monrovia, California 91016
Phone (213) 357-5005

Dealer Inquiries Invited

Circle 297 on inquiry card.

BYTE May 1978 189

What's New?

SYSTEMS

A Complete PASCAL System


with Graphics
able with the system includes a macroassembler, single and multiple user
BASIC, FORTRAN IV, APL and
PASCAL.
The PASCAL system was developed
at the UCSD Institute for Information
Systems under the direction of Dr
Kenneth Bowles, and includes a compiler
for full PASCAL with graphics extensions, a text editor and text output
formatter, a debugger, and a disk file
management system with a command
language. All this software is written
in PASCAL and is translated into a very
compact pseudocode which features
frequency based encoding of the pseudoOver Christmas we had a chance to
see this state of the art hardware and
software system in action at the University of California, San Diego. It features
a complete PASCAL based programming
system running on an LSI-11 microcomputer with extensive graphics capabilities. The computer is a Terak 8510/a
with 56 K bytes (28 K 16 bit words)
of memory, a floppy disk drive and a
disk controller which handles up to four
drives, video control circuitry and an
integral power supply. The display is a
12 inch diagonal P4 phosphor black and
white monitor with a two inch speaker,
and the 71 key keyboard features the
full 128 character ASCII set plus a
cursor control group and numeric key-

pad. 24 lines of 80 characters are displayed on the monitor from a 192 character code set defined by dot patterns
in user alterable memory, so that foreign
language, APL, and primitive graphics
symbols can be displayed. Each character block is an 8 by 10 dot matrix,
while graphics patterns can be generated
from a bit mapped memory with 320
horizontal by 240 vertical point resolution. Horizontal and vertical dot
spacing is identical , so that dimensional
scaling of graphics patterns is simplified.
Character and graphics dot matrices
overlap yet are visually distinct, so both
can be displayed simultaneously. Three
horizontal blanking zones are available
in both character and graphics displays,
and continuous motion panning of the
text display is possible. Software avail-

190 May 1978

BYTE Publications Inc

instruction set, so that the PASCAL


compiler, for example, runs in 28 K
words of memory. Only the pseudocode interpreter need be rewritten to
make the system run on another microcomputer, and Bowles and his colleagues
reportedly also have PASCAL implementations for the 8080 and Z-80 up
and running. Another part of the package is a computer assisted instruction
system consisting of tests and exercises
running on the Terak 8510/a and written
in PASCAL, which is used each term by
several hundred students in the introductory programming course at UCSD.
The textbook for this course, entitled
Microcomputer Problem Solving Using
PASCAL, was written by Bowles and
produced, both text and graphics, on
the PASCAL system. It emphasizes
structured programming concepts
which are expressed quite naturally in
PASCAL, and illustrates PASCAL
programming features with examples in
graphics and text processing. PASCAL's

special features, such as its data structures, dynamic storage, set variables
and recursion turn out to be surprisingly
useful and practical in many of these
applications. The Terak 8510/a, which
is priced at $7850 with substantial
discounts for educational institutions
which are members of the EDUCOM
consortium, is available from Terak
Corp, 14425 N Scottsdale Rd, Suite
100, Scottsdale AZ 85260, (602)
991-1580; all software for the system
is priced separately. The UCSD PASCAL
system is available for a distribution fee
of $200 from the Institute for Information Systems, Mail Code C-021,
University of California at San Diego,
La Jolla CA 92093, (714) 452-4526.
The textbook Microcomputer Problem
Solving Using PASCAL is available for
$9.80 per copy from Springer-Verlag,
175 Fifth Av, New York NY 10010,
(212) 477-8200...Dan Fylstra
Circle 597 for Terak.
Circle 598 for UCSD PASCAL.
Circle 599 for Springer - Verlag.

Attention Readers, and


Vendors...
Where Do New Product Items
Come From?
The information printed in the
new products pages of BYTE is
obtained from "new product" or
"press release" copy sent by the
promoters of new products. If in
our judgment the neat new whizbang gizmo or save the world
software package is of interest
to the personal computing experimenters and homebrewers who
read BYTE, we print the information in some form. We openly
solicit such information from
manufacturers and suppliers to
this marketplace. The information
is printed more or less as a first in
first out queue, subject to occasional priority modifications.

C A LIFOR N I A IN dUS TRi A L


Post Office Box 3097 B Torrance , California 90503
ELECTRONIC ENTERTAINMENT CENTER
Tennis - Handball
Hockey-Smash

PRINTER ONLY !
Keyboard models
NOT available.

PRINTER

Iroa uompenenl color make. t.le video


Cantor sit excellent buy at only 92405.
Complete with antenna Co, and AC adapter

$21488

C olor

$498
tofor$45.

$24.88

100 PIN
1
IMSAI/ALTAIR

Certified Digital

CASSETTES

S^ pO

CALIFORNIA
INDUSTRIAL
Is an
Authorized
Dealer of
Scotch Bread
Data Products

Please specify
IBM 3740 Berl.,
9r 32 sector.
also
MINIDISKS

7497

39
71100 1.19
71107 30
74110 i9

LOW POWER
450 NS

1
7421
39
7'
74123 9
74125 59
74129 59
74,32 49
74138 89
74141 m
7414 48
74147 2 40
7414 190
so 1,
74151
9
74153 M
74154 .99

SUP
gUSY1

440 x3 1.98
4 035
1.99
40411
40 1.4
alt 1,49
1.4
4043
4044 149
4046 2.49
4047 240
1019
79
40514
1 144
CPVia
Bga7A 1495
6999 2495
74 39.95

74,67 4.99
74170 24
74173 1.4
71171 its

7403 is 7447
741 It 744

74,78 W
74777 W
74190 W

70 19 7461
7407 25 7451
740 25 7454
711
1700

CMOS

7471

7412 35 77473
714
7414 7799 7475
7416 39 74)6
7417 30 7178
7420 19 740
7
74B2
44222 so
7426 39 1485
39 74M
7427
743 49 740
7
429
743 0 25 7497
188'1
7431
37 397
740.
7
7 43y
746
30
7494
:2
30
7
39
7i

20
9
371
99

a
9o
49

3,40
279
W
49

75

.,.,,. so., y un".c 111, lull..., .w-,d .... My

1.99

17020 4,95
82.23 295

2102
179
2102-1 199
21L02 119
:Sees 151

41giant

7MN
30 711

.39

3300941 1.0089 NES55v 1.49

17'
19 7/00 9
40810 N
3t9Cx
129 71171 39
sort 25 319CN
4012 25 320K -5 7115 39
3201(-12 9 72341 55
113 45
4675 19
3201.5
7220 349
40
4,
4017 129 320T-12 733 4 09
4019
19 1.17 74419 1 09
4020
402, 49 139 747N 79
IW2 125 3455 .5 740 39
4023 25 1414 , 7
424 1 : 9 3409-12 11590 69
4025
25

1oz7 MART

1026
125 AY $ .1013A
441 W 3401.5
430 8 MT 11
am 49
I

$498

SPECIAL
GENERAL INSTRUMENT ASCII Keyboard Encoder
AT 53600 Rime but house marked only $1.95

Cirrli' JI (iii ir(lllny (1 IIn

Power Adapter

37ON .20
29

1 25 J319N 1.19 ocseov 19


1002 27 31WN 1.19 NESQSN 179
488 1.41 3110 99 5E5060 125
4W7 .25 3115 99 703CN 45
4204 1.49 31241 W 7091
39

196 -

television frequencies.
Operates from single 5
volt supply. Complete
with metal case , mating
R.F. connector and 15
feet of coax cable . Schematics
and instructions included.

W69

Conductor Ft.

IBBON WIR

Oedt, 140mA s1.'


7edr,1.4 A. 8.50
9vdc, 1SmA. 1.19
10 vAc,300mA. 1.15
12vdc,600mA 2.91

TWISTED PAIN

Transistors

203772 139 1.49139179


283904 AS .11.09.07
283906 . 15 .11 .09 ,07

Diodes
to 2s loo
184002 100...08 06.05
184005 111,110-10M.07
1N4148 signal .07.05.04
n h. red 940. 10 25 100

ED'S f15 .1311.

20 100
635 .29

SOLDERLESS
TE^RMINAL_

S 100 PROTOTYPE BOARD


9mgq. Mp.Imam design vw
y 01019 w.h 04000141
Wait
. 519.98
cddren doding aM W.
1w119 for 5100 systems
room to 32 uncommeed 16
pir ICs 5 bus bNrerAs
Coding ones. I DP address
541501 swOCM . 0 teed ragu-

REGULATORS
10 100
511 9ea. .87 .78

kne pod those


yl sb1/00
wwloo-mli wrap
meo11 0000
boom, ..
04 sacwere It an
Anow,

TRIMMER

POTENTIOMETERS
2K 5K 1OK 50K
51.r

BCD
5139 e8.
IN

life

3ek .W

CAPACITORS

$0,000 / lee. 335 349 2.5


4500 / SOv.SIS9 135 Us
10 00 15v 555 49 45
a /nd

20 S0 100

16, 14, 12,

RELAYS
SPDT MINIATURE
10 25 100

MINIATURE
SWITCHES

on position

ELECTROLYTICS
w 10 so

$.98

.1 disc $12.09 .07


.06 .05 .04

Oldies

your choice
$.98 l0 501001k
1.88 .81.73.66
SPOT Miniature Toggles
7101 CAK ON-NONE-00
7107 ibt ON - OFF(mnt.ON)
7108 CM ON -( moment. ON)
Rocker 111T - DPDT
Rotary 3P - 4-Pos.
Rotary 3P - 6-P.s.
Push B (N.O.) 1.39-3/51

DIP Switch
$ 75 10 2S 100 1K
1 _3 63152 129 .97
specify

5139x. 5115 104 .09

or8poa

aC/

Coil 12 Volt dc.

7 Amp Contacts
PC. Board Mount

9 foot
$149
Heavy
duty rounded
power cord and mating
chassis connectors.

SPST '7' CTS

DISCOUNT -11

Wire Wrop , ^enter


IC SOCKETS
wire Wrap Into profile
pi u. 25 SO a.. 25 $0
9 17,16 15
14 37,36 3S 18 17 16

PANASONIC

598

16 38 37 36 19 IS 17
24 99 93 85 36 35 34

INS LA ED
20for

4 1w Iss 139 63 60 58

Specify:22-18;16.14"
100 500 1k

f98

$98

450 20. W

i0

nwo.

mbwheel
switch

2,1 Miniature
system , speech synthesizer
or intercom. 8 ohms
5"NiFidelity $288

y sit a
. 1. In
k41f In In eombinot
M uel ee0ulmw P.O.
mlon
Ica m unlpN vonage oppkcp-

TO .3 1 LM320KO ILM34OK( )
TO220 LM320T O LM340TO

Perceptsfor TV galne$,darm

5-WAY
3 for $1X9

u. 10 S0 100

5&I2 voLt

569 fi oo

BINDING POSTS

2112222A . 20 .11111.16-15
2N30S5 . 69 .65 .59.55
.79 .75.69.6S
MJ30SS

Ideal for analog interlace systems such as South'


east . barbel I and the Commodore Pet.

PEAKERS T

pl

The Atari R.F Modulator


allows computer data to be
displayed directly upon your
evicting television system.
This unit converts the signal from the Apple II and
other video sources into

Milan candied and hereto. must Da sold as


SECONDS

NeSative Positive

LIV Erasable
MEMORY

COLOR TELEVISION(
R.F. MODULATOR

41

3896 99
39 398 N 1 78
9

oil

FROM ATARI

CLOCK's
5314 295
5316 4.95
5375 395

49 31704 31 989

$995

. wysbck row.. ro Iwo w


Mt .
ogle or In .at0 P
p.mr. Wad .Larne and radio <oneraNO

All caeseties are mechanically perfect and will


u. telly out partorm any tape of audo
ityy. Untormnatehy. mesa ca ..Iles have no
... lit

x82995
0

7V

Calilornla Industrial hes rover 117 ecgu,rad soapal


thousand Verbatim brand digital cassettes. man..
Lectured by Inlormallon Term-le Corp.

culrry prevents holes and crosstalk Manulac.


lured from sacra heavy FR4 covey 91es. Features
2 ounce double thickness copper troose

450ns (U0

3
for
51000

DIGITAL it QQ
CASSETTES?

The Quiet Buse tram Calllomla Industrial Is


quality engineered . No short cuts lave been taken
to produce This mother board . Ac11ve lerminetlon

,mleeary,n e.ce"nl

30-ISTICK $48
.0

3511C C .65

7 299

QuietRuss
S-100 MOTHER

co-1. and a^m..^auo..

Assembled

30 H
301CN

Walnulyralned decorator clock leaturse I..00 7' LED display which is


d,IWn by the new National MM5305 alum Clock Chlp. Preset 24hour alarm
function allows you to awaken at In. awns time each mwnlrtg 0i11ou1
resetling . Upon raacnin9 the wake -up lime , the cluck9 loudspeaker ,,is
a gentle lone . Touch the snooze button and dose on for an addltlonel 9
minules of sleep Clock Mw functions ae a tenaninute elapse lmer.
" Alarm Sal - Indicator , AM-PM display.

. e m., cgw
rOr,q,^ll cos ape -a

MEMORY

74,57 41
74159 2.99
711'a 11e
74191
1 99
4
74,93 p
3
7442
7443
7101 19
12 7446
74M

r ..ti ^I UNIVAC
KEYBOARD

won/t drop a SIT!

DISKETTES $550

MS

Rpui.s single 5 nill sup010

CONNECTORS

Soo 2.25 7.00 as


1K 1.97 1.37 .73

DIGITAL
ALARM CLOCK
Completely $
Assemble
1995

$3495

Reliable I- Irkllon ecetal.sin


piungen are credited for tits smooth
operation and long file of this premium
keyboard

Word processing quality

S100 GOLD PLATED ..125" CENTERS


Altair. 140 now , soldertail ..... $5.96 31$16.50
Imsal 250'0- , solconsul ..... $4.98 3/$13.00
3 Level Wire Wrap .250 row ... 54.98 3/513.00
SPECIALS
Wnv same as above without ears33 .50 3/$10
72 (dual 36) WIW.156" centers ... $2.503156

TTL model with NOVAT ION brand


Acoustic Madam. *1419

HEXADECIMAL KEYBOARD
Mavl.Swnen nee .daeinsal keyboards are designed lo,
pmer systems that require -111.1 put
In elaanom
nderd nee code.
Each assembly consist. ut 19 nennenu1ly sealed read switches and TTL "one
shat" debounce clmultry.

All terminals were removed


from service in operating
condition.

Qty. On. male hill.


10 3.45 2 .45 1.IS
2S 3.1S 2 . 25 1.05

IMMEDIATE DELIVERY $1219

On scan sewing . It,, action sowd and

If we are successful in
acquiring these units, they
will be available in late
April for only $850.00. FOB
Los Angeles.

$395

data.1
data at 10 or 3o char . per second. uol
hoard generates all 120 ASCII code comblnA
tlons. R5 232 Interlace , same ae Ina peDUlw
Madal33 Data sneer Bent upen re0...I Manulac
carer suggesre0 price ll3lz oo

T is four genre .nl It his,


rums your letwlsion ins" . tides playground.

In February, when this advertisement was submitted


to the publisher, we were
negotiating for the purchase of several hundred
used Diablo Terminals.

your choice
DB25P
male plug& hood
or
D125S female

New frombk
,.Ip .I1.
Teletype.
theM32A
a is u wb le peof prlntin 132 ASCII
10 r line. Saki and receive

Acrlon packed Color entertainment for


the whole lamely. Adlusteble skill level
Ontrols mow Players of all apes to Compete In tennis , n0ckq and handbell.

soft.

m.

KYNAR.I:
See 1,000 11,009

$9. 515.

8105.

Mi

^1

..vappi5.e , a, d
s-ti I95

52995 BW 630
.K 90807 WRAP-so
r Pa urlP mot

8545

What's New?

Consumer Oriented Computer Comes


with Program Library

SYSTEMS

A High End "Appliance" Computer

the Altair (5-100) bus design and includes the following key items:

8080 central processor

A self-contained desktop computer


with floppy disk drive and systems software is now being marketed by CMC
Marketing Corp, 5601 Bintliff, Suite
515, Houston TX 77036. The system,
manufactured by TEI Inc, is based on

Complete Business System


Under $10,000

The INFO 2000 Business System,


said to compete in performance and
capability with minicomputer systems
selling for $30,000 or more, employs the
Altair (5-100) bus with a Z-80 processor,
up to 56 K of user memory, 8 K of read

More Capabilities in This New


6800 System

The MSI 6800 computer system


offers additional memory and interfacing capabilities using the SwTPC

192 May 1978'

BYTE Publication, Inc

32 K static programmable
memory
disk controller capable of handling three drives
one Shugart SA-400 minifloppy
disk drive
three parallel eight bit data ports
three serial data ports with selectable rates from 75 to 9600 bps,
RS-232 or TTL levels.
video display with 24 lines of 80
characters using a 15 inch diagonal high resolution monitor
ASCII keyboard with eight special
function keys for user definitions,
and numeric keypad
CP/M operating system and a 20
K BASIC interpreter

only memory , a filtered forced air cooling system and a heavy duty power supply. Mass storage is provided with Persci
dual flexible disk drives . The printer,
which operates at 160 characters per
second, provides 132 columns of 95
ASCII upper and lower case alphabetic
and graphic characters . The video
terminal features dual display intensity,
protected fields and 19 , 200 bps operation. Business application software in2000, an accounting
cludes CPA
package , TEXT 2000, a word processing
package, and a disk operating system.
Optional software includes a disk
BASIC, ANSI FORTRAN, a macro
assembler , text editor , debugger and
utilities. Planned are the PAY 2000
payroll system and the STOCK 2000
inventory control system . More details
are available from INFO 2000 Corp,
20630 S Leapwood Av, Carson CA
90746, (213) 532-1702.

Aimed at the average consumer, the


VideoBrain computer comes with a preprogrammed library of entertainment,
education and home management applications on plug in cartridges. Based on
the F8 microprocessor, the basic unit
includes 4 K bytes of read only memory
and 1 K bytes of programmable
memory, while the plug in cartridges can
contain up to 13 K bytes of read only or
programmable memory. The VideoBrain
is designed to connect to a home color
television set and comes with an AC
adapter, TV hookup cord, antenna
switch box, two joysticks, and three
introductory cartridges. The typewriter
style keyboard includes 36 keys capable
of producing 71 distinguishable input
symbols, while the video output circuits
provide sound and picture signals for the
TV set. The programs which come with
the system in read only memory allow
the user to type and edit a message of
seven lines and 16 characters per line,
change the color of the screen or the
size of the letters, examine a clock
and calendar, or preset an alarm which
will sound on the TV set at the appropriate time and display the stored
message. Twelve plug in cartridges are
currently offered: Finance, Cash
Management, Stock Valuation, Real
Estate, Music Teacher, Math Tutor,
two Wordwise programs, Gladiator, a
game with 384 variations, Blackjack,
Checkers and Pinball. Over 50 programs
are under development and will be
released over the coming year. The
VideoBrain will. be sold through department stores and specialty electronic
stores at a suggested retail price of
$500, and is made by Umtech Inc,
150 S Wolfe Rd, Sunnyvale CA 94086,
(408) 737-2680.

Circle 600 on inquiry card.

Circle 629 on inquiry card.

The model MCS-PT112/32 comes fully


assembled and tested at a price of
$4795.
Circle 601 on inquiry card.

(55-50) bus. Its power supply delivers


20 A at 5 V and 3 A at 15 V to support
up to 56 K bytes of memory, using
either 110 V 60 Hz or 220 V 50 Hz line
current. The motherboard provides 16
slots for full size system boards, and an
interface adapter board (with eight
slots) must be used to accommodate
smaller interface boards. The processor
board includes sockets for 4 K bytes of
programmable read only memory and
separate system and serial data rate
clocks. An ACIA is used for the standard
serial device interface. The MSIBUG
system monitor, supplied in read only
memory, offers flexible memory

examine and change, register dump and


instruction list, and terminal 10 control
functions. All memory addresses are
fully decoded, with only the upper
8 K bytes of the address space used for
the system and extended monitors. Full
modem control functions are supported
on the MSI serial interface board. The
MSI 6800 measures 20 by 16 by 7 inches
and is supplied with 8 K bytes of user
memory, the interface adapter and serial
interface boards for $595 in kit form or
$895 assembled and tested, from Midwest Scientific Instruments, 220 W
Cedar, Olathe KS 66061.
Circle 630 on inquiry card.

iiisssssss
00SsOSOSOSSOSSSSSS0Ss0s0ssiii

::::::::::: ::::...^^^

------------
.......................
.. ^: ..

::::::

16K E-PROM CARD


IMAGINE HAYING 16K OF SOFTWARE ON LINE AT ALL TIME!
Compatible!
d/
KIT FEATURES: S-100 Ilmsai /Altair( Buss:...
....

2748

PRICE CUT!

1. Double sided PC board with solder


mask and silk screen and gold plated
contact fingers.
2. Selectable wait states.
3 . All address lines & data lines but.
feted!
4. All sockets included .
WAS
$69.95
5. On rd
KIT IN C L U DES ALL PARTS AND
SOCKETS (except 2708 's). Add $25. for Our 2708 's (450N5 ) are $12.95
when purchased with above kitassembled and tested . DEALER INQUIRIES INVITED!

$57050 kit

ca regulators . SPECIAL OFFER:

.....

...
$
ADD
$20 FOR
250NS

.....

...

100 ( I msa i/A lt a i r ) B uss Com p atible!

KIT FEATURES:

!+ - - Fully Assembled & Burned In

$179.00

1. Doubled sided PC Board with solder Blank PC Board w/ Documentation


mask and silk screen layout. Gold $29.95
plated contact fingers .
Low Profile Socket Set ..... 13.50
2. All sockets included.
S uppo rt IC' s (TTL & Re g ulators)
3 . F u ll y buffered on a ll address and
data
lines. ..
$9.75
...
4. Phantom is jumper selectable to x q
B ypass CAP' s ( Di sc & T an talums)
pin 67.
.:
..
5 . FOUR 7805 re gulat o r are p r o vided
$4 . 50

..
on car d
.
( 450NS) USES 21 L02 RAM ' S!
MOTOROLA OUAD OP - AMP
MC 3401. PIN FOR PIN SUB.
FOR POPULAR LM 3900.
3 FOR $1

ALARM CLOCK CHIP


NS MM5375AA Six Digits

NOT ASSOCIATED WITH DIGITAL


RESEARCH OF CALIFORNIA, THE
SUPPLIERS OF CPU SOFTWARE.

FULL WAVE BRIDGE


4 AMP 200 PIV.
696 EA. 10 FOR $5.75

With hull Data New!


$ 1.95 each

MOTOROLA7805
7805R
VOLTAGE
REGULATOR
NS!
EPROMS
450NS!
except
750 MA output.
Now full speed!450
Prime
new2708
units from
a major U.S.
Mfg. 450 N.S.
Same as as
standard
Same
5VDC output. Access time. 1 K x 8. Equiv. to 4-1702 A's in one package.
TO-220.
Special Offer : $ 12.95 each when
44c each
or
10 for $3 .95
purchased with our 16K EPROM kit!
$15.75

ea.

::..:
Z-80 PROGRAMMING MANUAL
By Mostek, The major Z-80 second source. The most detailed
explanation ever on the work ing of the Z-80 CPU CHIPS. At
least one full page on each of the 158 Z-80 instructions. A MUST
reference manual for any user of the Z-80. 300 pages . Just off the
press! A D.R.C. exclusive! $12.95

POWER RECTIFIER #2 Motorola

CD 4001 - 5 for $ 1. CD4040 - $ 1. each


CD4042 - 2 for $1.
CD 4011 - 5 for $1 .
CD 4013 - 3 for $1. CD 4049 - 3 for $1.

3 AMP RECTIFIER

Stud

Metal

4 for

Mount . 1N1187 .
1N4721. Axial Lead. 200 PIV.
35 AMPS .
300 PIV . HEAVY DUTY!
o
oMilitary Quality ! $1.19 ea . or 4/$3 . 50 House numbered

....

iii

CMOS SPECIAL!

Cas e

$1 00

...ago

4K STATIC RAM ' S


GE
Ni-C a d B a tte ry P a ck
' S CRYSTAL
ti....
...
LED READOUT EXPERIMENTER
2114 . The new industr y OPCOA
pack,
gives
4 3volts
Cell
...
...
Standard. Arranged as 1K SLA-1. Common Anode. 262.144KHZ. This frequency is at 900MAH. Brand new,
33
inch
character
size.
2
to
the
18th
power.
Easily
factory
fresh
.
x4. Equivalent to 4-21
. Each cell is
L02's in 1 package! 18 The original high efficiency divided down to any power of 2,
2/3 "C" size. $4.50 /pack.
75c ea . and even to 1HZ. New by CTS
pin DIP. 2 chi s LED display.
or 4 for $2 .50 Knight. A $5. value
p g1Ve /585
,
$1 .25 each

2/$24

741C OP AMPS Disc


Capacitors New!
...
..

for $610 . 9 5. pa
c k s ( stock!
Limited
REAL TIME

Tantalum Capacitors Computer Clock Chip


Mini Dip. Prime new .1 MFD 16V. P.C. HEAVY DUTY!
units. Has computer leads. Most popular Full Wave Bridge 1 MFD. .35V. By N.S. MM5313. Features
BOTH 7 segment and
25AMP 50PIV Kemet. A xia l L ea d .
Mf g ' s h ouse num b er,..
$
va l ue
e y S prague
BCDtt
28
Pi
1 25 Best Value ! 10/$1. oupus.n

...
12/$2. 100 /$ 15. 20 /$1.00..
DIP.
$ 4.95 with Data
LS
SERIES
TTL
GE
10
AMP
Triac
MALLORY FILTER
Jumbo Rd
e L eds
74L500 33c 74L574 49c
SC146D74L502
. H
ouse no.
New
by
G.E.
Like
CAP
35c
74LS90
69c
MV5024 .
SSL-22 .

Number 1500 MFD 16 V . UPRIGHT

To-220 case . Rated 74L504 -- 35c 74LS13889c


400P1 V. 74LS08 --35c 74L5154-1.49
10 amps
74L510 - 33c 74L5175-1.10

. 3/$2. 74L520 - 33c 74LS367-- 75c


6/$1. 25 /$ 3.75 3 for $1 10 for $2 .95 75cea
74L573 -- '49c 74L5368-85c
...
..

Di g ital Re s e arc h C orpora ti on

TERMS : Orders under $15 add 75c. No CODs We


accept VISA, MasterCharge and Amen can Express
...
..
;r 1 s, M r ev B ac k Cuarantee or. a ll :reins T exas
C
..
..
(OF TEXAS )
Rrs"tents Id
a,5Sates
T,3.. WE PAV POSTAGE'

P. O. BOX 401247 GARLAND, TEXAS 75040 1214) 271-2461

:
^ii

iii iiiii iiiiii iiiiiii iiii i : iiii::iiii


i
:': iii isiii: iii sit iii ii : ii:iiiiii ii i :: iii:: iii:::ii^

Joe

*6-0

Circle 100 on inquiry card. BYTE May 1978 193

Offline Recorder for Silent 700

What's New?
Digitizer Input for the SR-52 Calculator

This digitizer, a first in peripherals


for programmable calculators, is designed to eliminate manual entry of
graphical data to the calculator, saving
time, hand calculations and transcription
errors. The GP-352 consists of the basic
Graf/Pen Model GP-3 sonic digitizer, a
Texas Instruments SR-52 calculator, and
the necessary interface, cabling, and plug

Text Editing System Fits Inside Selectric

PERIPHERALS

in connector. The interface simulates the


action of pressing keys on the calculator
to provide data input. Although the
resulting system is somewhat slower than
other digitizers, the user gains the advantage of the large library of application
programs available from TI. The manufacturer also operates a telephone hotline and will write custom programs for
users. The sonic digitizer includes a 14
inch aluminum data tablet, stylus or
cursor, and control unit. A moveable
NT-Series sensor bar may be used in
place of the data tablet, and standard
sizes larger than 14 inches are also
available. The GP-352 system, which
includes the `calculator, is priced at
$2850. Customers may provide their
own calculators, but the manufacturer
will honor the Texas Instruments warranty only for calculators which it
supplies. Also planned is the GP-359 for
the TI 59 calculator. More information
is available from Science Accessories
Corp, 970 Kings Highway W, Southport
CT 06490, (203) 255-1526.0
Circle 593 on inquiry card.

The Transwriter is housed entirely


within an unaltered Selectric II correcting typewriter and uses "memory wafers"
as its storage media. Each wafer measures
about 2 by 1 by 0.2 inches and stores up
to 20 typewritten pages. The unit's text
editing features include automatic tabbing, stop codes , automatic lift off correction and format stored with the text,
and the ability to insert an unlimited
amount of new text. The Transwriter,
which will be sold through local office
machine dealers at a list price of $2995,
is offered by Transaction Data Systems,
2909 Oregon Ct #C-6, Torrance CA
90503, (213) 624-3213.

194 May 1978 C1 BYTE Publications Inc

Circle 596 on inquiry card.

2704/2708 EROM Programmer

The SP-302 Digital Printer uses a


microprocessor controller to add some
"intelligence" to its printing functions.
Special features include double width
printing, double and triple spacing, and
standard tab functions for simple software control from a host device or
computer. The device prints alphabetic
and numeric information in 40 characters
per line at speeds up to 50 characters per
second, with multiple copy capability.
An RS232 and 20 mA current loop
interface are included, with a standard
data rate of 110 bps. Other data rates as
well as the printing intensity can be set
with internal jumpers. The SP-302 is
$575 in single quantities from Syntest
Corp, 169 Millham St, Marlboro MA
01752, (617) 481.7827.

The EPB-2 Programmer for 2704/


2708 E ROM5 has been developed by
F & D Associates, 1210 Tood Rd, New
Plymouth OH 45654. The unit uses
software for its timing and control functions. All components, including power
supply, fit on one 5 inch by 8 inch
printed circuit board. The unit was
primarily designed for the SwTPC 6800
but, according to the manufacturer, can
be easily adapted to the 10 ports of
other microprocessors. The software
provided is written for a SwTPC 6800
microcomputer system using a Teletype
or TV type interface operating with the
MIKBUG monitor. To facilitate customizing or adapting to other systems, it
is written in short subroutines and a
source listing is supplied . The bare
board, software and documentation is
available at $29 plus $2.50 shipping.
Documentation only is available at $5
postpaid refundable with order..

Circle 595 on inquiry card.

Circle 608 on inquiry card.

Circle 594 on inquiry card.

40 Column Printer Has Some Intelligence

The Memodyne ANSI Compatible


Recording System Model 2146 is a compact write only recorder designed to
record offline at remote sites and times
to free up a terminal . It accepts serial
data at five selectable data rates from
110 to 1200 bps and records in ANSI
and ECMA format at 800 bits per
inch. It will also accept parallel data.
Standard Philips cassettes are used. The
unit will play back directly on a Texas
Instruments Silent 700 terminal or on a
Memodyne 3765-8 recorder. The Model
2146 includes front panel controls, input
and output connectors , power supplies
and a carrying case , measures 10.5 by 7
by 11.5 inches and weighs ten pounds.
It sells for $1725 with quantity discounts
available from Memodyne Corp, 385
Elliott St, Newton MA 02164, (617)
527-6600.

RS-232/TTY *
INTERFACE +
lel
Part no. 600
P.O. Box 9641 San Jose, CA 95157 (408) 374-5984
FOR CATALOG INCLUDING PARTS LISTS AND SCHEMATICS,
SEND A SELF ADDRESSED ENVELOPE WITH 24C POSTAGE.

RS0232/ TTL
INTERFACE *

Part no. 111

TAPE 1 7
INTERFACE *
"m

UART
& BAUD
RATE
GENERATOR*
Part no. 101
Converts serial to parallel and
parallel to serial
Low cost on board baud rate
generator

Baud rates : 110, 150,


300, 600, 1200, and 2400
Low power drain +5 volts and
-12 volts required
TTL compatible
All characters contain a start
bit, 5 to 8 data bits , 1 or 2 stop
bits , and either odd or even
parity.
All connections go to a 44 pin
gold plated edge connector
Board only $12.00; with parts
$35.00

Part no. 232


Converts TTL to RS-232, and
converts RS-232 to TTL
Two separate circuits
Requires - 12 and + 12 volts
All connections go to a 10 pin
gold plated edge connector
Board only $4. 50; with parts

$7.00

DC
POWER
SUPPLY
Part no. 6085
Board supplies a regulated
+5 volts at 3 amps., +12, -12,
and -5 volts at 1 amp.
Power required is 8 volts
AC at 3 amps., and 24 volts AC
C.T. at 1.5 amps.
Board only $ 12.50; with
parts $42.50 excluding
transformers

8K
STATIC
RAM

TIDM A*

Part no. 300


8K Altair bus memory
Uses 2102 Static memory chips
Memory protect
Gold contacts
Wait states
On board regulator
S-100 bus compatible
Vector input option

Access
Record and play programs without bootstrap loader ( no prom)
has FSK encoder / decoder for
direct connections to low cost
recorder at 1200 baud rate, and
direct connections for inputs and
outputs to a digital recorder at
any baud rate.

TRI state buffered


Board only $22. 50; with parts
$160.00

S-100 bus compatible


Board only $35.00;
with parts $110.00

Part no. 112


Tape Interface Direct Memory

To Order:
1E

Circle 125 on inquiry card.

Play and record Kansas City


Standard tapes
Converts a low cost tape
recorder to a digital recorder
Works up to 1200 baud
Digital in and out are TTL-serial
Output of board connects to
mic. in of recorder
Earphone of recorder connects
to input on board
Requires + 5 volts, low power
drain

Board $7.60; with parts $27.50


No coils

Part
no. 107

RF
MODULATOR*
Converts video to AM modulated RF, Channels 2 or 3
Power required is 12 volts AC
C.T., or +5 volts DC

Board $7.60; with parts $13.50

Apple II
Serial I/O
Interface *
Part No. 2
Baud rates up to 30,000
Plugs into Apple Peripheral
connector
Low-current drain
RS-232 Input and Output
SOFTWARE
Input and Output routine from
monitor or BASIC to teletype or
other serial printer.
Program for using an Apple II
for a video or an intelligent terminal. Board only - $15.00;
with parts - $42.00; assembled
and tested - $62.00.

Converts RS-232 to 20mA


current loop , and 20mA current
loop to RS-232
Two separate circuits
Requires + 12 and -12 volts
Board only $4.50, with
parts $7.00

TELEVISION
TYPEWRITER
W
+iFA tit tir !! CIF

N .4%.401
^Sa:t n3'^ 1

Part no. 106


Stand alone TVT
32 char/ line, 16 lines, modifications for64 char/ line included
Parallel ASCII (TTL) input
Video output
1K on board memory
Output for computer controlled curser
Auto scroll
Non-destructive curser
Curser inputs : up, down, left,
right, home, EOL, EOS
Scroll up, down
Requires + 5 volts at 1.5 amps,
and -12 volts at 30 mA
All 7400, TTL chips
Char. gen. 2513
Upper case only
Board only $ 39.00; with parts
$145.00

MODEM *
Part no. 109
Type 103
Full or half duplex
Works up to 300 baud
Originate or Answer
No coils, only low cost components
TTL input and output-serial
Connect 8 ohm speaker and
crystal mic. directly to board
Uses XR FSK demodulator
Requires +5 volts

Board $7.60; with parts $27.50

Mention part number and description . For parts kits add "A" to part number . Shipping paid for orders
accompanied by check, money order, or Master Charge, BankAmericard, or VISA number, expiration
date and signature . Shipping charges added to C.O.D. orders. California residents add 6 .5% for tax.
Parts kits include sockets for all ICs , components, and circuit board . Documentation is included with
all products . Dealer inquiries invited . 24 Hour Order Line: (408) 374-5984.' Designed by John Bell.
BYTE May 1978 195

What's New?

PERIPHERALS

Terminal Features Character Level Mapping of Graphics


on a character by character basis rather
than as a bit map for all the points on
the screen. Each character area, an 8 by
14 dot matrix, can display either an
alphanumeric character or the pattern of
dots represented by a bit map of that
character position. Thus less memory is
required to represent a graph that fills
only part of the screen, and graphs can
be scrolled up the screen along with
alphanumeric characters. The 4025's
display screen provides 34 lines of 80
characters each, or 640 by 480 addressThe 4025 display terminal represents able points for graphing purposes. 30
graphics patterns in its internal memory pages of 34 lines with an average of 20

Altair (5-100) General Purpose 10 Board


board features a memory or 10 mapped
parallel input port for keyboard,
memory or 10 mapped serial 10 port
with crystal controlled switch selectable
data rates of 50 to 19200 bps, jumper
selectable RS 232 or 20 mA current
loop, memory or 10 mapped cassette
interface with switch selectable data
rates of 300 (Kansas City Standard),
600, 1200 and 2400 bps, 128 bytes of
programmable scratchpad memory, and
slots for two 2708 erasable read only
memories. A 21 command, 2 chip monitor program is available in read only
memory. Total power requirement is less
than 1 A.
The MFIO-1 is being made available
Infinite Incorporated, 1924 Waverly in three versions, assembled and tested
PI, Melbourne FL 32901, has announced ($282), complete kit ($234), and bare
the MFIO-1, an Altair (S-100) com- boards ($65.95).
patible general purpose 10 board. The Circle 632 on inquiry card.

Circle 631 on inquiry card.

North Star Now Offers Terminal


for Horizon

../

The 8201 Micro-Controller provides a


general purpose minfloppy disk drive
interface for byte oriented computer
systems. One version of the 8201 is pin
compatible with the Altair (S-100) bus.
The interface features an Intel 8048
microcomputer on a chip which supports nine commands from the host
computer system. The 8201 will perform soft sectored formatting with 16
sectors per track and 128 bytes per
sector. It can control up to four drives
and will duplicate information from
one drive to another upon a single
command from the host system. A
diagnostic command is also included.
The interface is built on a printed circuit
board which can be mounted on top of a
minifloppy disk drive. The 8201 is
priced at $490 in single quantities with
OEM discounts available from Wangco
Inc, a division of Perkin-Elmer Data
Systems, 5404 Jandy PI, Los Angeles
CA 90066, (213) 390-8081.

North Star Computers has introduced


a 24 line by 80 character video display
terminal marketed for use with their
Horizon computer.
The CRT terminal is manufactured
by Soroc Technology, and can be
connected to the Horizon with data
rates up to 9600 bps. The terminal is
the Soroc model IQ 120 with an
addressable cursor, upper and lower case
ASCII character set and a numeric
key pad. A 90 day limited warranty is
honored by Soroc.
The North Star Horizon computer
is a disk oriented computer with a 4
MHz Z-80 A processor, 12 slot Altair
(S-100) motherboard, 16 K byte programmable memory, one or two Shugart
minifloppy disk drives and the serial
10 interface which talks to the terminal.
The Soroc IQ 120 Terminal is $995
fully assembled.
Delivery is quoted as stock to 90
days, and the terminal is available at
local North Star dealers. North Star
Computers Inc is located at 2547 Ninth
St, Berkeley CA 94710. A 16 page
catalog detailing North Star products is
also available on request.

Circle 633 on inquiry card.

Circle 634 on inquiry card.

Smart Minifloppy Controller Uses Intel 8084

196 May 1978 BYTE Publications Inc

characters per line can be stored in the


terminal's internal 32 K byte memory.
The graphics memory can also be used
to define additional character fonts
which can be sent to the terminal from
the host computer. Commands from
the computer to the terminal are represented by "English language" ASCII
strings instead of special codes, and may
be intermixed with display information.
Graphics plotting packages are available
for implementation on the host computer. The 4631 copier, which can copy
up to 53 80 character lines or graphics
patterns on an 8.5 by 11 inch sheet of
paper, can be attached to the 4025 display controller. The 4025 is available at
a base price of $3595 with a wide variety
of expansion options from Tektronix
Inc, POB 500, Beaverton OR 97077,
(503) 644-0161.

ic, A "Smart" VIDEO BOARD


The EW-2001 KIT At A "Dumb" Price!
A VIDEO BOARD + A MEMORY BOARD + AN I/O BOARD - ALL IN ONE!

199 . 95

STATE OF THE ART TECHNOLOGY USING DEDICATED MICROPROCESSOR I.C. '


NUMBER OF I.C.s REDUCED BY 50% FOR HIGHER RELIABILITY MASTER PIECE
Priced at ONLY Basic Software Included
OF ENGINEERING FULLY SOFTWARE CONTROLLED

SPECIAL FEATURES:

S-100 bus compatible

Parallel keyboard port

On
board
4K
screen
memory

(optional)* relocatable to main

Programmable no. of scan lines OPTIONS:


Underline blinking cursor Sockets .............. $10.00
Cursor controls: up, down, left, 2K Static Memory
right, home, carriage return (with Sockets) ...... $45.00
Composite video 4K Static Memory

computer memory *Min. 2K required for operation of this board. (with Sockets) ...... $90.00

Text editing capabilities (soft- DISPLAY FEATURES: Complete unit, assembled


ware optional)
and tested
128 displayable ASCII charact- 4 K Memory with
........ $335.00
Scrolling: up and down through
ers (upper and lower case alphavideo memory numeric, controls) Basic software on ROM . $20.00
Blinking characters
64 or 32 characters per line Text editor on ROM .... $75.00
Reversed video (jumper selectable)
32 or 16 lines
Provision for on board ROM
Provision for onboard scratch (jumper selectable)
pad RAM (256 x 8)
Screen capacity 2048 or 512 DEALER

CRT and video controls fully

Character generation: INQUIRIES WELCOMED

programmable (European TV) 7 x 11 dot matrix

APPLE II
I/O BOARD KIT
Plugs into slot of APPLE II MOTHER BOARD

ASCII 3 r d GENERATION *ONLY


KEYBOARD KIT $68.00

FEATURES: KIT INCLUDES:


1 8-Bit Parallel Output Port P.C. Board, I.C.'s Sockets
(Expandable to 3 Ports) and Assembly Manual.
1 Input Port
l5mA Output Current Sink PRICE:
or Source 1 Input and A (]
TTL or CMOS Compatible 1 Output Port` ' 7

11 11 ."; - P

INSTRUCTION MANUAL AND


SOFTWARE LISTINGS AVAILABLE FOR:
PR-40 SWTPC Printer ................... $10.00
Converted Selectric ..................... $10.00

TTL Logic Circuits OPTIONS:


Power: +5V 275mA
Metal Enclosure
Painted IBM Blue
U pper an d L ower C ase
and White) S25.00
Full ASCII Set (Alpha
18 Pin Edge Con. $2.00
Numeric, Symbols,
I.C. Sockets $4.00
Control)
Serial Output (Shift
7 or 8 Bits Parallel Data
Optional Serial Output Register) $2.00
Upper Case Lock
Selectable Positive
or Switch for Capital
and
Negative Strobe ,
Letters and
Strobe Pulse Width Numbers $2.00

SHIPPING : Keyboard and Video Board: $3.50; I/O Board: $1.00

`N' Key Roll-Over

Addressable anywhere in I Input and6 A


memory output area 3 Output Ports
4
Can be used for peripheral
equipment such as printers,
floppy discs, cassettes, DEALER
paper tapes, etc. INQUIRIES INVITED

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 the above address
Circle-130 on inquiry card.

Fully Debounced KIT INCLUDES: Keyboard,


Carriage Return Key P.C. Board, all required components & assembly manual.
Repeat Function Key
Shift Lock, 2 Shift Keys NOTE: If you have this 63
4 User Defineable Keys Key Teletype Keyboard you

P.C. Board Size: can buy the Kit without it


1 7-3/ 16 " x 5 "

for only S44.95.

BYTE May 1978 197

Catalog Describes Microcomputer Boards

What's New?
Compac Introduces Programming Aides
BASE CONVERSION TABLE
!IN

OCT

DEC

NEE

T.COY.

An Index to Published Microcomputer


Software

EIN OCT DEC MEE 1. -1

This six page, 2 color brochure describes a broad line of microcomputer


boards, printed circuit boards and off
the shelf designer breadboards. Featured
products include a 32 K byte static
memory board, a general purpose board
and a wire wrap board for the Altair
(S-100) bus. The catalog also describes
the technical capabilities of the manufacturing firm. Copies are free from
Artec Electronics Inc, 605 Old County
Rd, San Carlos CA 94070.
Circle 627 on inquiry card.

Stimulating Programs

11
AN INDEX TO PUBLISHED
MICROCOMPUTER
SOFTWARE

The Base Conversion Table enables


the programmer to easily look up the
representation of decimal numbers 0 to
255 in binary, octal, hexadecimal and
two's complement bases. This table is
tabulated in easy to read columns and
prepunched for notebooks. Retail price
is $2 each or $5 for three.
Another offering is a Coding Form,
designed to be compatible with most
microprocessing assembly language formats, which will organize and simplify
your source code. Features include
columns for labels, op codes and
operands of source code; 50 sheets per
pad and 25 lines per page; holes predrilled to match 3 ring binders. Retail
price is $2.25 each or $6 for three.
Dealer inquiries are invited on both
of these items. Contact Compac, POB
18470, Cleveland OH 44118.

How do you find that program you


need today which you think you saw
published in some personal computer
magazine sometime in the last six
months? You can avoid an exhaustive
(and exhausting) search with the aid of
the Schreier Software Index. The SSI
indexes hundreds of published programs
in over 130 categories, complete with
cross references. Its sources include
ten different personal computer magazines and nine compilations of programs in book form. Programs in BASIC
as well as in machine language for the
popular microprocessors are indexed so
that, for example, finding a random
number routine for the 8080 takes but
a few seconds. The January to June
1978 issue of the SS/ is printed on 5.5
by 8.5 inch enameled stock with a
textured cover and should withstand
repeated use. Future issues will be published biannually. The first issue is $4.95
from the Schreier Software Index,
4327 E Grove St, Phoenix AZ 85040.11111

Circle 624 on inquiry card.

Circle 625 on inquiry card.

Better Bug Trap

198 May 1978 0 BYTE Publications Inc

The Better Bug Trap is an Altair


(5-100) bus compatible board providing
functions for software debugging and
real time processing. Four hardware
breakpoints anywhere in memory detect
all memory accesses, not just instruction
fetches. Real time functions include time
of day clock, interval timer, and watchdog timer. The Better Bug Trap generates its own interrupts and services them
with a CALL instruction to a subroutine
anywhere in memory. All functions,
timing, breakpoints and subroutine
addresses are set using software. Documentation includes a hardware manual
with schematics, a software manual, and
a software package for setting the
board's functions.
The Better Bug Trap is assembled,

Stimulating Simulations is a compilation of ten original simulation game


programs in BASIC, designed both for
entertainment and for self-education in
programming concepts. It was written
by Dr C William Engel, who is professor
of mathematics education at the University of South Florida. The programs,
such as Diamond Thief, Lost Treasure,
Forest Fire and Space Flight, are written
to be intriguing, yet comparatively easy
to understand and modify. Each program comes with a complete source
listing, sample run, user instructions,
flowcharts, variables list and suggestions
for major and minor modifications and
improvements. The narrative text and
illustrations serve to heighten the entertainment value of each game. The programs are written in MITS 8 K BASIC
Version 3.2, and should be adaptable to
similar BASICs. Special versions of the
programs for the Commodore PET and
and Radio Shack TRS-80 computers
are also available on cassette. The book
alone is $5 per copy from Engel Enterprises, POB 16612, Tampa FL 33687,
(813) 988-3142, while the PET or
TRS-80 cassette alone is $9.95, or
$14.95 together with the book, from
Personal Software, POB 136, Cambridge
MA 02138, (617) 783-0694.0
Circle 628 on inquiry card.

tested, and delivered from stock for


$180. A partial kit consisting of printed
circuit board, voltage regulator, heat
sink, and complete documentation is
available for $45. A set of 52 integrated
circuit sockets is $12. Contact Micronics
Inc, POB 12545, Raleigh NC 27605.0
Circle 626 on inquiry card.

DIODES/ ZENERS
1N914 100v 10mA
1N4005 600v 1A
1N4007 1000v 1A
1 N4148 75v 10mA
1 N753A 6.2v z
1N758A 1Ov
z
1N759A 12v
z
1 N4733 5.1 v
z
1N5243 13v
1N5244B 14v
1N5245B 15v

.05
.08
.15
.05
.25
.25
.25
.25
.25
.25
.25

SOCKETS/ BRIDGES
8-pin pcb .25 ww .45
14-pin pcb .25 ww .40
16-pin pcb .25 ww .40
18-pin pcb .25 ww .75
22-pin pcb .45 ww 1.25
24-pin pcb .35 ww 1.10
28-pin pcb .35 ww 1.45
40-pin pcb .50 ww 1.25
Molex pins .01 To-3 Sockets .45
2 Amp Bridge 100-prv 1.20
25 Amp Bridge 200-prv 1.95

C MOS
4000 .15
4001 .15
4002 .20
4004 3.95
4006 .95
4007 .35
4008 .95
4009 .45
4010 .45
4011 .20
4012 .20
4013 .40
4014 .95
4015 .90
4016 .35
4017 1.10
4018 1.10
4019 .50
4020 .85
4021 1.00
4022 .85
4023 .25
4024 .75
4025 .30
4026 1.95
4027 .50
4028 .95
4030 .35
4033 1.50
4034 2.45
4035 1.25
4040 1.35
4041 .69
4042 .95
4043 .95
4044 .95
4046 1.75
4049 .45
4050 .45
4066 .95
4069 .40
4071 .35
4081 .70
4082 .45
MC 14409 14.50
MC 14419 4.85

7400
7401
7402
7403
7404
7405
7406
7407
7408
7409
7410
7411
7412
7413
7414
7416
7417
7420
7426
7427
7430
7432
7437
7438
7440
7441
7442
7443
7444
7445
7446
7447
7448
7450
7451
7453
7454
7460
7470
7472

9000 SERIES
9301 .85 95H031.10
9309 .35 9601 .45
9322 .75 9602 .45

MICRO 'S, RAMS,


CPU'S, ETC.
74S188 3.00
1702A 4.50
MM5314 3.00
MM5316 3.50
2102-1 1.45
2102L-1 1.75
TR1602B 4.50
TMS 4044-45N L 14.50
8080AD 12.00
8T13 1.50
8T23 1.50
8T24 2.00
8T97 1.00
21076-4, A 4.00
2708 11.50

Circle 180 on inquiry card.

7473 .25
7474 .30
7475 .35
7476 .40
7480 .55
7481 .75
7483 .95
7485 .75
7486 .25
7489 1.35
7490 .55
7491 .95
7492 .95
7493 .35
7494 .75
7495 .60
7496 .80
74100 1.15
74107 .35
74121 .35
74122 .55
74123 .55
74125 .45
74126 .35
74132 1.35
74141 .90
74150 .85
74151 .65
74153 .75
74154 .95
74156 .95
74157 .65
74161 .85
74163 .85
74164 .60
74165 1.50
74166 1.35
74175 .80

MCT2 .95
8038 3.95
LM201 .75
LM301 .45
LM308 (mini) .95
LM309H .65
LM309K (340K-5)85
LM310 1.15
LM311D(Mlni) .75
LM318 (Mini) .95
LM320K5(7905)1.65
LM320K12 1.65

- T T L 74176 1.25
74180 .75
74181 2.25
74182 .95
74190 1.75
74191 1.05
74192 .75
74193 .85
74194 1.25
74195 .95
74196 1.25
74197 1.25
74198 2.35
74221 1.00
74367 .85
75108A .35
75110 .35
75491 .50
75492 .50
74H00 .15
74H01 .25
74H04 .20
74H05 .20
74H08 .35
74H10 .35
74H11 .35
74H15 .45
74H20 .30
74H21 .25
74H22 .40
74H30 .20
74H40 .25
741-150 .25
74H51 .25
74H52 .15
74H53J .25
74H55 .20

TRANSISTORS, LEDS, etc.


.15
NPN (2N2222 Plastic .10)
2N2222A
PNP
.15
2N2907A
PNP (Plastic)
.10
2N3906
.10
2N3904
NPN (Plastic)
.35
2N3054
NPN
.50
2N3055
NPN 15A 60v
Darlington
.35
T1P125
PNP
LED Green, Red, Clear, Yellow .15
D.L.747 7 seg 5/8" High corn-anode 1.95
XAN72 7 seg corn-anode (Red) 1.25
MAN71 7 seg com-anode (Red) 1.25
MAN3610 7 seg corn-anode (Orange) 1.25
MAN82A 7 seg corn-anode (Yellow) 1.25
MAN74A 7 seg corn-cathode (Red) 1.50
FND359 7 seg corn-cathode (Red) 1.25

74H72 .45
74H101 .75
74H103 .75
74H106 .95
74L00 .25
74L02 .25
741-03 .30
74 L04 .30
74L10 .30
741-20 .35
74L30 .45
741-47 1.95
74L51 .45
74L55 .65
74L72, .45
74L73 .40
74L74 .45
74L75 .55
74 L93 .55
74L123 .85
74S00 .35
74S02 .35
74S03 .30
74SO4 .30
74S05 .35
74S08 .35
74S10 .35
74S11 .35
74S20 .35
74S40 .20
74S50 .20
74S51 .25
74S64 .20
74S74 .35
74S112 .60
74S114 .65

74S133 .40
74S140 .55
74S151 .30
74S153 .35
74S157 .75
74S158 .30
74S194 1.05
74S257 (8123) 1.05
74 LS00 .25
74LS01 .35
74LS02 .35
74LS04 .30
74LS05 .45
74 LS08 .25
74LS09 .35
74LS10 .35
74LS11 .35
74LS20 .25
74LS21 .25
74LS22 .25
74LS32 .40
74LS37 .35
74 LS40 .45
74LS42 1.10
74LS51 .50
74LS74 .65
74 LS86 .65
74 LS90 .95
74LS93 .95
74 LS 107 .85
74LS123 1.00
74LS151 .95
74 LS 153 1.20
74 LS 157 .85
74 LS 164 1.90
74LS367 .75
74LS368 .75
74C04 .25
74C151 2.25

LINEARS, REGUL ATORS, etc.


LM320T5 1.65
LM320T12 1.65
LM320T15 1.65
LM324N .95
LM339 .95
7805 (340T5) .95
LM 340T 12 1.00
LM340T15 1.00
LM340T18 1.00
LM340T24 .95
LM340K12 1.65

LM340K15 1.25
LM340K18 1.25
LM340K24 .95
78L05 .75
78L12 .75
78L15 .75
78M05 .75
LM373 2.95
LM380( 8-14 P1 N).95
LM709 ( 8,14 PIN).25
LM711 .45

INTEGRATED CIRCUITS UNLIMITED


7889 Clairemont Mesa Boulevard, San Diego , California 92111
(714) 278 -4394 (Calif. Res.)
All orders shipped prepaid No minimum
Open accounts invited COD orders accepted
Discounts available at OEM Quantities California Residents add 6% Sales Tax
All IC's Prime/Guaranteed. All orders shipped same day received.

LM723 .50
LM725N 2.50
LM739 1.50
LM741 (8-14).2 5
LM747 1.10
LM1307 1.25
LM1458 .95
LM 3900 .50
LM75451 .65
NE555 .50
NE556 .95
NE565 .95
NE566 1.75
NE567 1.35

SPECIAL
DISCOUNTS

Total Order Deduct


$35-$99 5%
$100-$300 10%
$301 - $1000 15%
$1000 - Up 20%

24 Hour Toll Free Phone 1-800-854-2211 American Express / BankAmericard / Visa / MasterCharge

BYTE May 1978 199

with two rows of .025" sq. or


' SOCKET Mates
die. posts on patterns of .100"
centers and shielded receptacles.
Probe access holes in back. Choice
of 6" or 18 " length.
Part No.
No. of Contacts
Length Price
924003-18R 26 18" $ 5.38 ea.
924003-568 26 6" 4.78 ea.
924005-18R 40 18" 8.27 ea.
924005-06R 40 6' 7.33 ea.
924006-18R 50 18" 10.31 ea.
824006-060 50 6" 9.15 Be

JUMPERS

Solder to PC boards for instant


JUMPER plug-in access via socket-connector
jumpers. .025" sq. posts Choice
of straight or right angle.
Part No. No . of Posts Angle Price
923863-R
26 straight $1.28 ea.
923873-R
26 right angle 1.52 ea
923865-R
40 straight 1.94 ea.
923875-R
40 right angle
2.30 ED
923866-R
50 straight 2.36 ea.
923876-R
50 right angle
2.82 ea.

HEADERS

INTRA - CONNECTOR
Provides both straight and right angle functions. Mates
with standard 10" IT .10" dual row connectors (i.e. 3m, Ainsley
etc.) Permits quick testing of inaccessible lines.
Part No .: 922576- 26 No. Of contacts : 26 Pride $6.90 ea

INTRA -SWITCH
Permits instant line-by - line switching for diagnostic or OA
testing . Switches actuated with pencil or probe tip . Mates with
standard .10" x .10" dual-row connectors. Low profile design.
Switch buttons recessed to eliminate accidental switching,
Part No .: IS-26 No. at contacts :26 Price $13.80 ea

TCRYFRE STALS
^
ENCIES

QU
ON
Pall N Frequency CaxelStyle Prlcecviu 1.000 MHz
HC33' U $5.95
CY2A
2.000 MHz HC33U $5.95
111111 2. 010 Ni HC33U $ .99
MC18U
54 95
4000 MHz
CY3A
HC18 U
S4 95
CY7A
5.000 MHz
CY121
1 0 000 MHz
HC 16 U
54 95
CY14A
14 31818 MHz
HC18U
$4 95
Cy r90
HC18 U
18 000 MHz
S4 95
HC18U
20 000 MHz
S4 95
CY22A
CY30B
32 000 MHz
HC18U
$4 95

CONNECTORS

PRINTED CIRCUIT EDGE-CARD


156 Spacing -Tin -Double Read-Out
Bifurcated Contacts - Fits 054 to 070 P C. Cards

15/30 PINS (Solder Eyelet) $1.95


18/36 PINS (Solder Eyelet) . $ 2.49
PINS (Solder Eyelet) $2.95
22144
50/100A (10o Spacing) PINS (Wire Wrap) $6.95
25 PIN - D SUBMINIATURE ( RS232)
DB25P PLUG
OB25S SOCKET
D851226-1 COVER FOR 25S/25P

MICROPROCESSOR
COMPONENTS
CPU $10.95 Z80 CPU

8080A
8212
8214
8216
8224
8228

8 Sit Input/Output 4.95 CDP1802 CPU


Priority Interrupt Control 7. 95 MC6800 8 Bit MPU
Bi-Directional Bus Driver
4.95 MC6810AP1 128 X 8 Static RAM
Clock Generator/Driver 5. 95 MC6820 Periph , Interface Adapter
System Controller Bus Driver
5.95 MC68301_8 1024 X 8 Bit ROM
cPa.o
RAM'S

60054 Super 8006 510 95


2650 8 Bm CPU 26.50
P1085 CPU 29.95
SR'S
2504
1024 Dynamic E 3.95
2518 Her 32 BIT 4.95
2519 Hex 42 BIT 4.00
2522 Dual 132 Bn SSH 2 95
2524 512 dynamic 99
2525 1024 Dynamic 29$
2527 Dual 256 BIT 2 95
2528 Dual
BIT Static 4 no
2529 Ouat 250
q,Do
2532 Goad 80 BIT 2 9
2533 1024 Slatic 295
3341
615
6.95
74LS670 16 r 4 Be, 1.95
DART'S
AY51013 30K Baud

ROME
2513(2140 ) Char Genupper case s 9.95
2513(3021) Char Gen 'lower case 9.95
2516 Char Can
10.95
MM5230 2048 BIT (512 x 4 11256 0 81 195
1 MM5262 2K x t Dynamic RAM 3 iv, 1.0

FCM3817 '
AY38500-1
AY-5-91
AY '5-920800
AY-5-9500
AY52376
9374
826115

GB136

3 ea of p0?2005250-500 thin - 24 pcs $2.95


24 pen $2.95
Graf of rOX.20K-25K--SDK
3 ea. oi 1 Meg-2Meg-2 5Meg 5Meg

` 24 P. $2.95

(Values subject to substitution within each group.)


EXTRA SAVINGS ' eay all 3 (08134, 135 or 136) Her only $7,4

SWITCHES

1L" mounting holes

JMT121 SPOT on $195 $1.43


TOGGLE JMT123 SPOT
1.65 1.21
) JMT221 Door ononon 215 187
.. d o'
(submmaturs JMT223 nPoT on
pct none on 2.15 1.58
52.05 $1.53
MPC121 SPOT
on oft on
TOGGLE MPC123 SPOT on nave- on 1.75 131
2.65 1.97
(Printed Circuit ) MPC221 DPDT on-oll'vnon
an no a 2.25 1 68
MPC223 DPDT

Static
16,4
21L22101102
1024 r 1 Some,
]4200 256 x 1 Static
93421 255 x 1 static
MK41161UPD416 ) as Dynamic 16 Pin
MK40271UPD414) 16K Dynamic 16 Pin
PROMS
1702A 2048 Fames
5203 2048 FamOS
82523 32 x 8 Open C
620123 32 r 8 Trbtale
745287 1024 Static
3601 256 x 4 Fast
2708 BK Eprom
16K
2277;6
Eprom
Eprom
6 Intel
16K
63011
1024
T,-Slate Bipolar
63301
256
Open Collector BIPOtar
8599

PUSH BUTTON MS102 OP5T mo mentary open 35


Minature
MS103 SPST momentary closed 35

DIPSWITDH
SPIT

206-4 8 pin dip 4 switch 1.75 1.65


206] 14 pin dip 7 switch 1.95 1.65
206-8 10 pin dip B sw4Ch 2 .25 2.15

1/16 VECTOR BOARD


'' - a 1 Mole sparing P Pattern Price
tea.... - Part No L W 1-9 10 up

Complete with red bezel.


4W' IT 4" x 1-9118".

Model 100A

200 BYTE May 1978

between each character)

Iv z0 dom

Receive Frequency reference ... Frequency reference automatically adjusts to


allow for operator between 1800 IT, and 2400 Hz.
Digital 0000 InMrtaee .......... EIA RS -232C or 20 mA current loop Ireceiver is
oproisolaled and non -polar)
Power Requirements
...120 VAC, single phase , 10 Watts
Phyuaal .....................All components 'd' un1 on 11 5" by 9"
0100 ci ult boarAll comncluded
FegUires a VON Audio 00 ' 0torFrepue100 Conner and/ or oscilloscope to align

line

the 3 rd Hand

$9.95 each

MM5311 4.95
MM5314 4.95

'Leaves two hands free for


working
Clamps on edge of bench, table
or work bench
0 Position board on angle or flat
position for soldering or clipping
Sturdy, aluminum construction
for hobbyist, manufacturer or
school rooms

MM5316 6.95
MM5318 9.95
MM5369 2.95
MM5841 9.95
577001 5 95

DIGITAL STOPWATCH

Esi
lime t

Igloo

$229.00/kit

assessom

is Analyzes any type of digital system


r,-^e8
Checks data rates in excess of 8
million words per second
as
Some
applications
are:
Trouble shoot TTL CMOS. DTL, RTL,
Schottky and MOS families - Troubleshooting microprocessor
Displays 16 logic states up to 8 digits wide address, Instruction, and data flow
See ones and zeros displayed on your - Examine contents of ROMS
CRT octal or hexadecimal format - Tracing operation of control logic
. Tests circuits under actual operating conditions - Checking counter and shift
register operation
Easy to assemble - comes with step -by-step construction
manual which includes 80 pages on logic analyzer operation, - Monitoring I /O sequences
- Verifying proper system operations
(Model 100A Manual - $4.95) during testing

Bight 6 Digit LEO display


Times to 59 minutes 59 59 seconds
Crystal Conn01led time ease
Three Stopwatches in One
Times Ingle Event - Spht 8 Taylor
Si te 4 5 x 2.15 r 90 (4va ounces)
. uses 3 Penile Cells

Kit - $39.95
Assembled - $49.95
Heavy Duty Carry Case $5.95
Stop Watch Chip Only (7205) $19.95

31/2DIGIT DPM KIT

PARATRONICS TRIGGER EXPANDER Model 10 Model 10 Kit - $229.00


Adds 16 additional bits. Provides digital delay and qualsicat'en of input clok 9aaeplaie - $9.95
and 24-bit trigger word. - Connects direct to Model 100Afor integrated b0it).
c
Mo8ei10 Manual-5495
3%-DIglt Portable DMM
Overload Protected
3 high LED Display
. Battery or AC 001,4000
. Auto Zeroing
. 1010 1Va. 0.1 ohm resolution
Oveiange reading
. 10 men input imP,,mv P
DC A y 1 typical

4bt

State: OC Voltage 01000V1


AC Va 0 1000V
Fre t R
R e sp 50 401 HZ
OC/ACC t 0 100 A
Resstance . 0 10 men onm
Size 6 444,2

C ^ G
100 MHz 8 - Digit Counter
20 Hz-100 MHz Range . Four power loaves, ie
6" LED Display contends, 110 or220V who
. Crystal continued timebase charger 12V with auto
Fully Automatic
996007 adapter and external
Portable - completely 7 2.10v power soppy

seu contained

MAX-100

. Site-175.07. 3e" $134.95


x 5 63"

New Bipolar Unit as Auto Polarity


as Auto Zeroing Low Power
IS .5" LED Single IC Unit
Model KB500 DPM Kit $49.00
Model KB503 5V Power Kit $17.50

JE700 CLOCK
The JE700 is a (00 cost digital [bock bull
is high quality col Toe unit lea.

Model 2800 Accessories:

rums a si01'

$99.95 AC Adapter BC-28 $9.00


Rechargeable
comes with lest
Batteries BP-26 20.00
leads operating manual
and spare Use Carrying Case LC-28 7.50

ACCESSORIES FOR MAX 100:


Mobile Charger Eliminator

CONTINENTAL
SPECIALTIES
PROTO BOARD 6 Other CS Preto Boards
$15.95
(6 long X 4 wide)

P8101 5.8" x 4.5" 29.95


PB102-7"It 4.5 39.95
PB103 - 9" x 6" 59.95
80.00

$74.95

GAG OT PROTO STRIPS


IT111
0T .12S
OrIS

PIN
PIN
PIN
PIN

MM5314 clock chip

115 VAC

UT type
00010$ once
0159S 590 12.50
OT 598 bus slip 2.50
OT 47S 470 10 00
OT-471 bus ship 2.25
00 355 350 8.50
OT-358 bus snip 2 00
STABS 180 4;5
0T- 12S 120 75
0T85 BO 3 11
OT75 70 3 00

KIT ONLY $16.95


HEXADECIMAL
ENCODER 19-KEY PAD
.1 0

$4.50
4.75
8.50
13.75

DESIGN MATES
DM1 - Circuit Designer
$6995
DM2 - Function Generato
$74.95
DM3 - RC Bridge
171.1
-

PB203A ' 9.75 x 61/2 It 23; 129.95


(includes power supply)

LOGIC MONITOR
for DTL. HTL TTL or CMOS Devices

or

PROTO CLIPS
14
16
24
40

PB100-45x6" $ 19.95

cas verb rh

s 1,1 l l uan ion


MAN 120100,
i' 1 readout . an d
it Ind

Model 100 - CLA $3.95


use power from car battery
Charger/Eliminator
use 110 V AC Model 100 - CAI $9.95

. ABCDEF
Shift Key
2 Optional Keys

$10.95 each
New 63 KEY KEYBOARD $29.95
IN STOCK
This kerb dI alures 63 uses '
c d d SPST k y. unanauled io
aoyk ind of PC B Averyscld
n Ided plaslc 13 x 4 base
suits most ap)ic4l-1

RffFf6T ncoder Chip ( enmtles 16 Key


AY-52315 Encoder Chip ) encodes as Key

51.95 aa.
$14.95 ea.

JE803 PROBE
The Logic Probe is a of wh,ch s for the most part

's Or75
dole..

Experimenter 300 $ 9.95


Experimenter 600 $10.95

$5.08 Minimum Order - U.S. Fund. Only Spec Sheens - 259 - Send 359 Stamp for 1978 Catalog
Californ ia Residents - Add 8% Sales Tax Dealer Information Available

ELECTRONICS
ii

................Asynchronous Serial (return to mark level required

Recele. Channel Frequencies .2025 111, 101 space 2225 Hz for mark
Transmit Channel Frequencies switch selectable Low (normal = 1070 space
1070 mark High 025 space 2225 mark
Receive Sensitivity .... ......... 46 dbm accoushCally coupled
Transmit Level .... ......... -15 dbm nominal Adiustable in- -6 dbm

Featured on February's Front Cover of Popular Electronics

INSTRUMENT/
CLOCK CASE
Injection molded unit.

Data Format

MM5312 4.95

PHENOLIC 64244 062650P 4. 50 6.50 1 .72 1.54

169P44 062XXXP
4.50 17. 00 3.69 3.32
EPOXY 64244 062WE 4 . 50 650 2 . 07 1.86
GLASS Beaus 062WE 4.50 8 . 50 2.56 2.31
169P44 062WE 4.50 17 00 5.04 4 53
169P84062WE 8.50 17 . 00 9.23 6.26
164P44 062WEC1
4.50 17. 00 6.80 6.12
EPOXY GLASS
COPPER CLAD

Be Participatin g . 103 is capable of recording data t0 and from audio tape without
critical speed requirements for the recorder and II Is able 1o cymmunlcate directly
with another modem and terminal for telephone hamming and do ,cations
tortne dear In addition. IIiSlIee of critical aelusimenis one is bu4twan on-precision,
readily available parts
data Tranamiooion method ..... Fregcency -Shm Keying full duplex ( half-duplex
selectable)
Maximum Bob Rat. ........... 320 Baud

Logic Analyzer Kit Model eoOa Model 10

P8203 - 9.75 x 61/2 x 23',


PUSH eu7TON 1 123 SPOT maainioned 1 . 95 1.47
PB126 SPOT mentary 1.95 1.47

I t s 95
.95
5.00
090
795
3 95
1095
29.95
59.95
349
2 95

$129.95 Kit Only

CLOCK CHIPS

PB104 - 9.5' x B" 79.95

75
1 495
6.95
14 95
1.75
695
695
3 49
1.95
6.95
2 95
595
29.95

"Pennywhistle 10311

MM5309 $9.95

$5.00 11 C90 19 . 95 7205 19 . 95 9366 3.95


7.50 4933 3 . 95 ICM7045 24.95 L0110 / 111 25.00/set
14.95 8720 7 . 50 ICM7227 7.50 95990 11.95
14.95 BT97 1 . 50 ICM7208 19.95 MC3061P 3.50
4.95 H00165 7.95 ICM7209 7.50 MC4016 (74416) 7.50
14.95 9C06571 13.50 MK50240 07.50 MC14081_7 4.95
13.50 DS0026CH
3.75 9C140811_8 5.75
1.50 MCM6574
1995 MCM6575 13 . 50 71L308 10 . 50 74C922 9.95

LOTS OF POTS
GB135

$ 1 49
5 95

1101 0565 Slatic


2001 256 x 4 4 Static
2102 1024 x 1 Slzim
2107/5280 4N6,1 Dynamic
2111 256 x 4 51410
TMS4044.45NL 4K Static
7489 16 x 4 Static
8101 256 x 4 Static
Bill 256x4 Static

SPECIAL REQUESTED ITEMS

Untested 3/e" square Spectrol Trimpots


Single-turn Printed Circuit Potentiometers
08134

$ 5 95

The Incredible
$24,95
19.95
19.95
5.95
795
14.95

NeNI 1978A
CATALOG
NOW
AVAILABLE

1021 - A HOWARD AVE., SAN CARLOS , CA. 94070


PHONE ORDERS WELCOME - ( 415) 592-8097
Advertised Prices Good Thru May

or,all nsmle in r0udl shooting logic lann.1-

11

TL GTE RTL CMOS 11 derives Ind power iI -,.,,k


needs to operate Cherry 01 of the ee col under
lest orawinn a scant It mA mar It
s a MAN]
readout to indicate any 01 The 1.11 mg stales by

Proesymblls H ,,

iPULSEI
enned ,
Pronecan deed nigh rr 1
1
to 45PMHz
The
It can t tie used IT MOs Ie+eK d,
or c"
cucuil Damage

$9 95 Per Kit

will resin printed circuit board

TL 5V 1A Supply
This s a standard TTL power supply using the well known
LM309K regulator IC to provide a solid t AMP 11 current al5
cots We try to make Dings easy for you by policing
everytnmgyoo peel inone package noiudingthehardware

'or tiny JE225 $9.95 Per Ki

BUGBOOKO

7400 TTL
5N
1

40ON

IN CIN
IN 04
IN;44.dN

SN7405N
N
IN"07N
IN 408

20
11
29
20

Y7
1 09N
N

20

SN741ON

IN7116

SN741IN

18
25

SN;4;IN
IN 4
IN

40

SN7414N

;0
5

I
'141473
N 35
31
IN'174.
49
IN 747SN'
IN 7476N 35
SN7479N 5 00
SN7460AI 50
SN7482N 99
SN7483N
59
I BER" 79
N74
SN7486N 35
SN7489N 1 75
45
SN749ON
SN7491N 59
41
4,
111
IN7ka'.

SN7416N

114^44;7011
IN N
1 N^12101
N 422N
SN 77423N

11
20
29
39

SN7425N

1 N7410ON

89

SN;4111
4, 7

21

IN 74107N

35

9N
SN742 N
IN
5NN30N
SN7432N
SN?437N
SN74 8N
1 N743M
IN
744 N
IN 74kl N
IN
I^43
2N
IA7'4

I'

SN74109N
IN 41126N
SN;4
I N

1 59
95
31

A
SNU444
I 1445N
SN7446N
IN 4471,
SN7448N
IN 45ON
SN7745IN
IN 453N
SN77454N

7'
75
75
69
59
79
20
20
20
20

IN 45M

25

SN7746ON
SN747014

20

20
39
S N74122N
SN74123N
SN74125N
SN74126N

25
25
25
20

SN74132N

89
41

IN 4136N
SN774 14 1 N
IN 7 414IN
SN74143N
SN74145N
SN74147N
SN74148N
SN741 WIN
1
IN 7415IN
N 74153N
1 74154N

SN74155N
S WIEN
N
SN74157N

29

SN7417ON

81 59
1 25

SN74174N
SN741 7 IN

89
79

SN741;6N
7N
11741

79
7111

IN 4179N
SN74 RON

1 95

1 95
79

82N

79

SN;
IN 44I 84N
SN74185N
SN74186N
SN74198N
SN7419ON
IN11;9IN
^'d

1 9o
El
1 '5
E5

3 95
1 25
1 25

SN741 N
SN74196N
SN74197N
SN74198N
SN74199N
SN742ODN
SN74251N
SN74279N
SN74 N
SN74...
214N
SN74211I
SN7436 NN
SN74366N
SN14367N

79
Bg
69
89
'89
1 49
1 49
5 59
1 79
79
2 25
3
3 "
"
69
,

N
79

SN7436ON
SN71390

6:
1 ,

65

SN74393N

1 95

20% clsodurt for 100 Combined 74GO I


ZU45W
C 4DOI
GO 002
C 0 ODS
C D4007
C D4DO9
C1 IlI
C040
CD ;23
0
COD4'*14
ID41
C
O il6
04

4Man
C.
CD4051

49
4
3
2
39
5
1 39

49

04

CD4o'1 .7
CD 019
D 0 '
CDQ21
C04022
C04023
CD4024
C

49

C .0
D4 1'261
CD 027
CD 028
CC04 29
C Ds
O n 035
C D NO
D404i
C 042
CD4044
CD4O467
C0404
CD4G 4A
78MG

1 39
I'
13
79
23
2 25
69
89
1 19
49
99
1 19
1 25
99
89
21 79
so
1 35
1 75

1. -mi3 0-11 "H

ED

LM30 N
LM302HC
LM OaH
LMW5H
L'307CNIH
308H
L M30
_M3
LM3'lg
9K
LM3
LM3!OCN
LM31 1HN
L.31 ?K
LM318CN
LM319N
LM320K 5
LM320K 5 2
LM32OK-12
LM320K 15
LM320K 18
LM320K 24
LLM31.1
M'2" I' I
LM320T 8
LM320T 12
., 1 B5
LLM32
M 32 11
LM320T 24
L,M.332,3'
I
4

LMNOIA
LIAMOK
LM340K
LMNOK
LM340K
LMNOK
L.34ft
LM340T
LM340T

3'
31
75
1 00
60
35
1 00
10
1 25
1 15
90
6 50
I so
1 30
1 35
1 35
1 35
1 35
1 35
25
1 25
1 25
21
1 2255
I,

SNo
35
5
35
6
8
1 3'
12
35
1 36
15
18
3^
24
1 25
5
6 ' 1 252

74LSGO
74LS02
74 LS03
74 LS
74L

C M CIS

2
I 25
"

233
23
n
29

7'LS05

7,ILEIC
...
""SlI41

'3
41

;4LS20
4
74LS26
4
7
;4LI2
74LS30
ULS32
74LS40
74LS42
74LS47
74LS51

23B
2

S5 5
; 4L 573

23
35

29
23
N
29
69
21

4
41
I
19

;44 C102
0^

39
15
7,

4
OD4011
' ^I
"
"' 21
CD4059
9 95
1 49
7
C=

'4 ..
7,C,.

E5
7'

4 ,111
;4
74 C230
0

3 10
65
65

CD
CD:=
3495
55
23
C 4070
CD4011
C04072 49
I

'AC4'
74C73
74 74
74C89
7 C90
7:C93

"
7'
2x
1 50
1 15
6 49
23 Do
00

11

176

39

74C95
74C107

C0408,

23

C O 082

23
9'
2 49
14 95

;:C ill,,
74C157

I IA
M 4'i'
MCI"
4)5
a a^'
'^a
mcC I4141
4, '

C 61
'4C;.
74
,,,
;44 '^ I ER

One
MCI"

MG14506
MC14507
CD4508
CD4510
C04511

3 71
95
9
142 3
29

99
CD4515 21 95
CD4518 1 n
CD45n
29
50
MC14
CD4566
325
50
162
MC14583

74CI73
74092
74C193
74CI95
74C922
74C923
74C925
7eC926
OG95
"W" 7

INEAR
_MPOT 8
^MIOT
M.OT ;2I
LM340T 18
LM340T 24
L' M ,3"
^, %
LM37ON
7N
LM31;31
L

1 25
; II

NN
LM
- M ;i4 1 C.
L.
^ ; 4'; R

1 25

LM746H
N
LM748N
L.1 303N
LM1304N
LM1305N
L

1 11

65
1 15
1a 25
DO

25
99
79
79
00
no
4 111

NNE.. M
111T
1

3600
DO

NE556
NE564XI
NE561 B
NE

6I Do

30

39
W
5 On
500

NE
1
556658
2H
5 75
1
NEIIIN
NE 1 21
566CN 75
NE56;H 1 25

NE"
N
V
NE570
1050
LM703CN,H
45
LLM
M 19N
LM;9H
_M ' 11 1

29
29
71

LM723H
7 IN "I
I
LM723N _55-

74LS00 TTL
74LS74
74LS75
74 S76
74LS83
74 LLS85
S86
74 L
...
74LS92
74 S93
74LS95
; 4LLS" 7
74LS1
S 009
74LSI2132
'S
14
74LS132
74LS136
74LS138
74LS,39
74LS151

Circle 200 on inqUiry card.

2
, W,
2 15
33 25
21
W

25
2 So
3 49
2 75
2 75
9 95
895
14 95
11 95

35
49
35
75
99
195
A
59
59
79
35
35
35
99
79
39
69
69
99

31 75
2 D905
1 So
LM305
L
3
L M3D65N Moll 69
M39DON(
1 49
LM15N
'M3909
'25
1 00
MC5559V
LIM 5251
Do
M;534N
75
4 11
--a so
ILM7
7
49
" N
39
7M
5^52 N
39
39
54!KlCN
C
39
75A ON
7 ON
79
75544921CN
89
75494CN
as
ace 151
5 95
5 95
RC4194
4,49
BC4195
74LI151

as

7i i S j "

"
as
89
89
89
99
71
49
89
89
89
89
89

74LS190
74LS191
74LSI92
74LS193
74LS194
74LS195
7744,12:3
L'2 7
74LS260
LS2
79
74
;4LS
4L S3367
74L$670

Xcill

DISCRETE LEDS do doi ^cIi^

Go
1:
1
55
59
5:

"

DISPLAY LEDS
TYPE POLANdry
MAN 56110 Common Candhope-oninge
MMA 6710 C0110, Amode ded-D D
AN 6730 Common Amode red --1
MAN 6740 Common Catfoxiii D D
MA 6750 Common Cathode-red - 1
M
AN 6760
Common Adod,hol
6
Common Cathode-dand
MAN 1 7SO Adonle red - 1
OL70
D 702
Common Cathode red
OLM4 Common Cathoft-dol
D 707
Common Amode-dred
OL7.1
Common Amodle W
11471 Iond 0, Ankede-hol ^l
Open on Ancer-d
DL749
On C.M.d.-r.d - 1
C^
DL750 Common Cathode Md
DL3 B Common Cathade-ned
FN070
Common Cathode
ING311
A, a
No.
W3
7 Co MD. Catheddle (FND500)
rNG50
RIMC5101
Co
5082 7 300 4 m7mSmgl M=gd
5062:7302 4 . 7 S9I D,gd-LHDP
5082 7304 Ondemande character (tl)
5082-7340 4 1 7 Sol Ditan-Hooda,,mal

PRICE
TYPE
PGLAMy ITT
270 2 95
MAN I
commido;Adedle-ded
Manno-ord 4
M N2 5 x 7
130205 419$51
Common Cathocki
MAN 3
Cafthad -.d 187 1,95
MAN s,
.3DO 1 2255
-g
Common Anadde
MAN
looddion
A. 300
me
do de
99
M^ANN ;21
As
A
330DOO 1 25
Com Ca de M
MAN 74 don
C" I Anod,
MANa,
81 Cend
fiddone-yeffilk,
Vardex
301 .11
,
MAN
r.n
300 Be
coormoo canoxide yemper,
300
99
MAN .20
Be
MIN
C-dm- AnDkka-Drang.
Orange
MAN
3130
C.I-Do Anod,
M N.0
300 99
an Calloodle-oradge
A
Ad
MAN 4610 Colmon Dri-ang, 300 99
MAN
99
1640 Common Calloode-onnot 400
9999
400
4710 Common Andox Nor ^ 1
400
MAN 1730 C ,on Adoce-thel
Be
C
Do 9,
MAN 4740
r1od Ca--ded
dred.
andee-yell
MAN 4810
560 :
MAN 6610 COMMM Addelf-omenges D 0 560
MAN 6630 Common Anodje-D
D 0 560 99
MAN 6640 Common Calhook-D
""" - 1 550 99
MAN 6650 Common Candrode .,an
!ie 560 99

RCA LINEAR

XR-2206KB Kit $19.95

CA314
30 0 i 3295
W
33 2255
85 CA3160 1 25
1 41
2 00 '-Or
2 DO CA36DO 75

MC17 V P
LM29'01SNC

SU-30
x's r"O" WIR
WRAP . STRIP . UNWRAP .$6.95
WIRE WRAP WIRE - 30 AWG
25 it Run. $1.25 50 ft. $1.95 100ft $2,95 100011, $15.00

ERAVIRA10"M
GN
MRS
kR
840
205
XR^2""`Pp
207C

3' 50
85

STEREO DECODERS
XR 1310CP $3 20
""Do'
21 B2^1
X1
XF
67

NY
Earn
560
560
560
560
560
560
300
300
300
300

MICE
1 99
99
99
99
gg
99
99
99
25
99
99

a.
'go
600
63D
600
'to
250
350
500
IOG

1 42'
1 499
1 49
1
35
69
75
99
1 99

600
I'D'
600
600

1: 95
"
is do
22 50

IC SOLDERTA11L LOW PROFILE (TIN) SOCKETS


25 49
50
IM Is
50 100
0:,Lp
1 21
24
254
2, 1
7
S 31 36 35
:9
18
37
31
2
21 20
LP
41
4
4'
2292 28
2E
60 59
M DD LP
2C I'm
31 SOLDERTAIL
.12
27
63 62
LP 30
STANDARD (TIN) 40 P,n LP
61
14 dim IT
25
21
IT 1, ^Ilp I2
S 27
2
1
IT 1 59
16 pm ST 3C
27
31 On IT
to
1 45
IN
14 D D IT
SOLDERTAIL STANDARD (GOLD)
too ED S 70 63
8 DID
'x
rd ED
. s3
2' pm SG I to I Do
28
s 0
31 11
3
90
1
16 ,
36 on SG 1 75
1 40
26
45^
40 or, SG 1 75 1 59 1 45
a P., ED
2
ED
WIRE WRAP SOCKETS (GOLD) LEVEL #3
95 As 75
38 357
22 am WW
0 pin WW 5 4450
05 95 85
D View
10 p., WIN
41
46 P^n
i 25
10
,why
0
37
2
A
14 or, WAY 39
38
45
30
1
WW
42
1
11
D-1
9
^6 pro VVIN a3
40
I, ^o om " 1 7 5 55
6B
8 pro WIN 75

PER ASST.

10 OHM
12 OHM
18 ORM
22 ORM
15 OHM
56 ORM
27 ORM
11 OHM
l14 WAIT 5% 50 PCs
11 OHM 47 ORM
In CH.
68 0 M 52 OHM 100 OHM 120 "m
ASST. 2
5 ix 180 OHM 220 OHM 210 OHM 330 OHM 3W OHM 1/4 WATT 5% 50 PCs
1,
470 OHM 560 OHM 68 OHM B20 OHM
ASST. 3 5 ol
1 5K 1 8,,
2 2K 2 7K 1/4 INATT 5-. N pCS,)
1 2k
ASST. 1 5 as

ASST. 4
ASST.

3 3K
8 2^

Sea
5

3 W
^ 7K
5 as
6 3k
15K 18K
121
us'
'G
11K
17K a 3 In31K 47.
5
K a.
K
2K
OK

150K
Isot,
ASST. 6 5 a,, 390K ^701<
Im
1 2.
ASST. 7 5 ea, 2 7M 3 3. 3

1/4 WATT 5%

50 KS

1/4 WAIT 5% 50 PCs

220K 270K 330K


560^ 6801,
820K 1/4 WATT 5% 50 PCs
1 5M 1 am
2 2M
9.
4 7M 5 6M

1/4 INATT 5%

eas
ASST. 8R includes ReSiStor ASSOrtments 1 -7 (350 PCS.) $9.95 5ON'
Order - U.S. peak, (MIT
$5.00 Mialmm
Add 1% Sol" TAX
R*Wd@ft

Seat Sheets - 25c - Send 35e Shhmp Ner 1279 Catalog


Boller Inforrodan.. Available

ames

ELECTRONI C

1021
-A HOWARD AVE., SAN CARLOS, CA. 94070
P
HONE ORDER WELCOME - (415) 592-8097
AdvertisS
ed Prices Good Thru May

Special
Prim Stock
Inventory
I 0 Clearance
ME INIO 1 1
10(min,
On
oflM
I
Too
IBM
I
001ked
SW7482
DDAOI
430
$4
901not
20lot
S8D
0010
SSW74
$1
$9 DO/Ot
VP 7
2 20
1900 180 00 W483 3 50 11 ch W do
19 DO 18000
3 20
220
199 DOISO 00 SW74
SW7416
50 31 00 woo
swNI7
20
Do 8000 SW74'961
SW74
I 3D 11 00 10000 SW7494 3 31 00 30000
SW7423
220
1900 18000 SW74
350
300 Go
3
31 3
OR
1 1400
"
4
SW74
sw
70
1WOOso
1 50 " so
OR
6 30000
000 SVAsA
SW7427
la00
"'18000
Do
66
1!. DO IW14i 2 20
12
19 00 8000
50 00'
12 0 110 OR SW74105 220
SW743
1 50
SW430
19,00 180 DD
1 50 00122DO SW7 107 220
SW7437
50 00 GO SW744121 2 20
SW7438
;8000 0000
0
19
On
SW74123
2 50
2200
SW7440 1
20
900 8000
350 3 30000 SW74145 550 51 00 5do 00
SW7443
3
3; DO 30000 150 690 6600 650 DO
SW7444
M
SW74
51
50
3100
300
00
Us 350
4 50 31 00 30000
:;445
4
OD 36 SW74
1
53 400
DO
36
3600
DD 35000
350 "
1 20
OD SV7
SW741%
SW450
9900
00 80
35000
40000
00 8000 SW74180 450 41 1
SW7A53 1 20
9so 00
SW7454
1 20
900 BODO SW74181 990 96.00
40000
1 20
900 80 On SW74182 450 41 DD
SW^fh
22
200o)
SW472 2 20
X
43000
1""
""a"n
1 30000
SW9602
250
4
W
On
3 50 3 1900
00
SW7475
290 a 00 250 00
SW7480

ZENERS

MISCEL^NEOUS
XR 256
5 56CP 3 20
2211 P
4 80
S6 70
XR 2240CP
XXqR 4
PHASE LGCXED 00' Ps
32 00
6 20
XR 141 36
xl^l^'2;'l
1 9'5'
XR 1468:
Ed
11 1489
1
95
99
R
T
k
2208 '2"
5 20
X9
25

$1.75

$1.28/speel

Specify blue, yellow, white or red

WARNER offer

Includes AY-3-8500-1 Chip and 2.010 It crystal


(2.010 crystal - $.99 ealAY-3-8500-1 Chip - $7.50 ea.)

L
le' "' L'
ad LP

50 PCS. RESISTOR ASSORTMENTS

REPLACEMENT DISPENSER SPOOLS FOR IND 30

Pre-tubed . No mixing or com ining prices

5W5

XXRR 532OCp

$3.95 ea.

TV GAME CHIP SET - $7.95

XR -220611 $14.95
MERS
S 39
XR 555CP

EXAR

WIRE DISPENSER - WD-30

50 ft. roll 30 AING KYNAR wire wrap wire


if Cuts wire to desired length
Stros 1 " of insulation
Specify - Blue -Yellow -White -Rej

STEWAR1

$3,95

.190" of.. Rod


lost
4$1
Gleard
4 1;
C'Mrih
xOW
4S
^1111
Rod
KC526
085 of.
null duf10051151
XC556
ISS 14^50 Red Est
Rod
Do 5 $1 XC556
NTRA_RFrf Lfc
441
X0526
Red
1001118 xk059 Gmam
Green
4/$1
XC526
C556
51611600
I
y0ell-ga 441
XC 26 Yallo
XC556
44fS
7/$1
Cna,
XC516
IS, 'C556
5Clea,
*

125' dW
XCM Red
51$1
43;
XC209 Goed
XC209 G,a,Qe
4sl
xCM 10'..
200" AM
51$1
XC22 Rod
XC22
Gdon
4$1
XC22 Yelpfid' 451
XC22 O,ange 41$1
SSL 22 FIT 41Sl

CA ...
C.OEI
CA3G82

90
1 19
1 40

$12.95

-------- TITM

COMPLETE MANU L FOR


Or DIGITAL CLOCKS or John sides Ad John Breal.
no
c
`,nmt,ah- herInIOa,bby,st
voth basic theories b1hod digital clocks indoors th,ble sepolmg
gludle, bas,
0n,adensocs Of clocks soldeong techniques, child, component data sheets and constoction tips

C"059
CA306O

7'
39
39

pre-stripped Are.

SPECIFY COLOR - White - Yellow - Red - Green - Blue - Black

I
' a-

11
"
79

or Blue 30 AWG Wir

E,
* Roll of 50 Ft Whilwine

UAkI--_Ar._

INSTRUCTO $3 "Derrell,
A sent. keekesed, A mkA
1., !MLM^!UA0L.9- I Are 11 Ar.D q -ol",
-A -1-P., ndo-ra and
r"' , da 'e,"^lndk-xx, 1-r- reldn' kedr.s...
AMA -,-MD., D.M., AD no,onad a.
Ids.1 A;IM"T" z
.1 D., Me
OP AMP MANUAL
Hosand a, mean w3i
$9.00 ^D"ake' dd, ddd,' eon.".`I -=; I non I'der- "
_ .._d M ._,, ax,_ D, _Deore D- ..A M,r, er-Dr
M.1-, Orn., no
nkredo W 0 orkaxer M Do AMM, .-M,
DESIGNERS PRIMER
CMOS-M
AD
DOUG
oAk,,, A kopar, ,okkado Ann _, A.. lUi ON
sn", . - != - . cmen -1 -.0

1 5500

"
58cNor I 75
Lm I 3"N
LNI-414
LM14
1 59
MG1488
MC1489
I
I. 4EEN
L";
..

7aLS16,
74LS162
74LS163
74L SSIM
;aLLSI"
71

A_ ::.11sen.
APP11P'T.
Ex11kur
I
Boo III
MENTS J, xxxxoner, A TrAx,
ad .- _'. - "'.. IT Hoke to A. Baddi, Waill
1. -k e- . ..n. DID, A - -- ..likkne
nor
.0or 1.
are I -1
= o' " neread,
M
1. -.1 -dan rMq- k,.-D okn- do p A, , on A M- M ad
- erkhork 1-1 Do, Aek, .1market 11 .1 roe
--ooken
nmem,
Me p"'Ando Poke'
Me"Wak'
D.M.
A ..M.. _e,dle, M_ an, 0, Me I A , _ Arke,kon. 111

^15 CC^^008836
22
95
CA3089 31 75
2 48
"
1 35 CA""91 3 50
2 95
02
I W Cat 23
2 15
50 CM^

35

9 SR U
a Tool for 30 AWG

r."Am", krank-C.M."kel-ne Fam-11-mer11 an, e- mmD.xd

CM013
CA3023
CA303
CA30359
CA3046
C^53

1 95

LM38ON
LM38OCN
LM381 N
LM382N
NEMIN
N11;11
N.
9A

NE5401,
NE15[IN
ke"
55V

LM733^
L,,,3,N
L.141.

21 "

W IRE -WRAP KIT Will

50 pcs each I . 2 .3' &4 lengtli

M."Re", waked,

SN74173N

SN74193N
W
SN711 95 N

It

1 74

39
49
49
49
75
75
79
2 95
2 95
2 95
79
95
29
89
59
59
99

Al

It.
ei)GBO
DM, -.- -

1 2B:

SN7418IN

3 do

SN74 7N

89
19
1 95
89

SN74172N

SN7494
65
74
IN qsN
65
SN7496N
15

25
29

60N
IN 2IN
11711FIN
SN74163N
SN741U N
SN74165N
SN74166N
SN74167N

'"Oker

" exam A AM. pared A LADekk, ~JNM


enek, ..'- ", se .'ren-, "dMo " ""
'^dn Ded I. M.. - r-r, 1.a., "kM no De"
.poor-on- yo.a.".."Me-". Air
r-1
A_ --.- ^p doer Ido.- do,er - -nen.."
M.- 11.DAM RAIA, lo. 1 --1 -1-

16

;4

LM339N
N

WUSO KS land 11

Continuing Educatio Series

1978A
CATALOG
NOW
AVAILABLE

DIODES - RECTIFIERS

VOL W PRICE TYPE VOLTS IN


PRICE
401,
4.1 . I 1 .1 to!, 00
46
31
N.'711
A
I I DO4IV
IN
TYPE
BOG Ph, I Am 111, 00
00 N4006
4
to6,1 Do
N4007
IODO PIV I AMP
3
400"
IN752 5 6
IN 01 1511
200rd
0,
4 OD.1 1^
IN753 6 2
do 11 NN44"O
;48 35
75
114754 6 8
400"
4 1Do
00"
50 1121 GO
Do.
0'
2"
5m 20 1 00
305
" 75
1619658 15
400.
4 1 00
no IN4
28 IN 7734 5 62
IN5232 5 6 50DM
2
N44 35 6
28
N5234 6 2
^a sIf 8, er
IN4
11
"Ond
N^""
1
1
500M
IN 2 ^d
2
spoke W;38
a
5 511 00 IN4742 12
1 NN445568 2,5W 40for &I DO IRA . 15
2'^
form
1 60
IN485A 180
611 Do N1183 50 PIV 35 AMP
1 70
122; 00 IN 184 100 PIV 35 AMP
AM
50
P"
;
1 NN44'0002'
i SO
1 00 N1185 150 PIV 35 AmP
00 PIV AM'P
NO 200 PIV I AMP 121 00 114;11:
3 OKC
P V5335Am
AmpP
IN4'0004 400 PIV I AMP 12/1 00 IN 00
200PIV
4

SCR AND FW BRIDGE RECTIFIERS


C
-D I In @ 4DOV
"I
C38M 3EA @ wov IcR
ICF
1 EA . 200V
14131a
MOA 980-1 12A @ 50V FW BRIDGE REC
-DA 980 3 IZA @ 2MV FIN BRIDGE REC
Mes Ads
MPs 3

TRANSISTORS

M"
=111 I
121
1^ do
A I'll Do
IT .1
"; ad
;=A 11
do
2d0_1 I
-_ 11 DO
Do
de
;..2
"nod's
ouse,

IT 1.
Is, .

I'll De
I.D., I'll se
1.3;'
. 111 "
-2
_1'701^ s" "
el
od
2
1 A,
21
2
2=
DO
21.
Do
2.2
.1 ^'3 1

CAPACITOR.

2.erd
2=

IR 9,

'T "d
411 an
431 M
- an

"' "
41T
411 1
11 an
so, an
2.1.
olax
_ 11 1
1-1. .1 1.
^2
2Ineadeal
_ON

3 4'1
al"
.1 anI
- " 's
In " of

CORNER

IMILT CERAMIN
DISC CAPACITORC
1-9 10 49 50-100
1049 50 10C
19
3
10 of 05
D4
OOI^F
05
04
03
03
22 of 1055
OD47mF
035
03
04
14
05
3
ol,'
05
4
'47
00
p; p G,
04
03
04 G22^
06 05
N
220 of
04
05
03 047,F 06 05 da
470 of 05 r 04
035
1^1`
12
09 075
09 VOLT MY FILM CAM ITORS
10
001"
12
07M 022.
13
12
2 1 ;^0
0022
Word
1 1
10 077
00 7m!
12
0 Indf 27
17
2;
Didol
10
12
07
22.1
33
27
22
20% DIPPED TANTALUM SOLID) CAPACff Iss
35
1 /31 30 26
21
1!3'1V
2
2/25V
31
27
23
;
77
22
23
2'
2B
22,35V
28
23 17 3 3/25V
22
27
28
33/35V 28
17
4 7/25V 32 23
47
23
ra^15V
28
28
23
to6 8125 36 31 25
177
29
35
35 V 23 125V
40
I 0,35V No 28 23 17
15,25V
40
63 50
MAY E ALUMINUM ELECTROLYTIC CAPACITORS
Axial OR
LIMA
I Lead
47150V 15 13 10
47,25V RMI
;01
14
11
1 'a ; 43
110,50V 16
47150V
1,
; 10116V 11a 13
3 3150V 14
13 10
14
4 7/25
16
/25V
1
10^2
10 5V
15 13 10 1 0/59V 16
14
11
;4 12 4 7/ By
15 13 10
221/5205V
V ;1
7 5
15
2 4 P25V
10
14
1t3
4
7,_
4
I
111',
16
21
20
JB
1,
42;I0V
2
D9
2
2t 17 19 10126V 15 1
A ^ '5V 25
10
134
16
?0 18 101 "'
24
iv '205V
too
I2
35 30
28
47150V
2,
24
14
100 19 15 9
220 25
32 50V
25
"
28
38 1 DO "I"
220 50V
5V
45 41
18
24
20
27 100 /25V
47D;215V
33
2
/50V
22006V 3'
11 519 45
000":V
2 E'
200 V 70 62 11
410!2EV^^312B 117
211a
7
2

BYTE May 1978

201

Now Standard Wire Can Be Slit


and Wrapped

What's New?
Precision Drive DC Motor

The MBG-150, a new DC motor and


generator for precision drive applications
such as tape cassette decks and medical
and laboratory instruments, provides
1/30 horsepower, speed ranges of 1000
to 1, and load regulation of better than 1
percent. An optional feedback control
system gives the unit more precise speed
control and load regulation than is
possible using variable voltage or silicon
controlled rectifier approaches. Each
rotor is dynamically balanced and test
run for 24 hours prior to shipment.
Typical MBG-150 design includes 24
VDC input with a speed of 6750 revolutions per minute at 5 oz-in continuous
rated torque. Other designs are available
as well from Dynetic Systems Inc, 19128
Industrial Blvd, Elk River MN 55330,
(612) 441-4300.0

Thinking Aids for Logic Diagramming

This kit lets you construct logic


diagrams by pressing plastic symbols on
a special worksheet. Changes can be
made simply by peeling off a symbol
and moving it. The symbols stick to the
worksheet electrostatically and require
no adhesives. Following the latest ANSI
standard, the symbols include ands, ors,
amplifiers or buffers, delays, circles,
blocks and rectangles. A starter kit
(SKL-075), which comes with a padded
vinyl folder, a set of ten 8.5 by 14 inch
worksheets, a pad of 537 precut symbols, and a custom pen and eraser, is
$10 plus $1.50 shipping from Fickled
Thinking Aids, POB 6064, 990-M
Enterprise St, Orange CA 92667, (714)
639-9061.0
Circle 604 on inquiry card.

Second Generation 16 K Bit Memory


Chip

The new P184 Slit-n-Wrap bit makes


it possible to wire wrap connections
with standard 28 gauge Tefzel insulated
wire without measuring , cutting and
stripping. Previously only polyurethanenylon wire could be slit and wrapped.
The new tool can be used to "daisy
chain" interconnections, avoiding the
need to measure and cut the wire
between each pair of wire wrap posts
and requiring only about five seconds
per post. A standard connection of seven
wrapped turns has a resistance of only
.003 ohms between post and wire and
requires a force of more than ten pounds
to pull it off. The Tefzel wire is available
in 50 foot spools with red, green, white
or yellow insulation, at a unit price of
$4.18 per package of two 50 foot spools.
The bit may be used with a Model
P184-4T1 pistol grip wrapper with a
117 VAC motor ($89) or the Model
P184-4T nickel cadmium battery
powered pencil type unit ($80). A
manual wrapper, the Model P184
($29.50) is also available, from Vector
Electronic Co Inc, 12460 Gladstone Av,
Sylmar CA 91342, (213) 365-9661.0
Circle 606 on inquiry card.

Circle 602 on inquiry card.

Printing and Magnetic Media Supplies


Offered in Small Quantities

Straighten Pins and Insert Chips


with This Tool

The INS-1416 DIP Insertion Tool


inserts 14 and 16 pin dual in line packages into sockets or predrilled boards.
A pin straightener is built into the
handle, with an automatic ejector from
the straightening saddle. The insertion
mechanism is designed to ensure accuracy, and the narrow profile of the
handle permits it to be used on densely
spaced circuit boards. The INS-1416
is $3.49 from OK Machine and Tool
Corp, 3455 Conner St, Bronx NY
10475, (212) 994-6600.0

The 2117 memory chip employs a


fabrication process which has been used
for nearly three years to produce the
2116 and other high density memory
components. Its access time is as low as
150 ns. Power dissipation and maximum
supply current have also been reduced,
and the 2117 provides a 10% tolerance
on all three power supplies, +5, +12 and
-5 V. A new latched output mode can
be used to provide hidden refresh, which
does not disturb the chip's data output
state. Prices : n quantities of 100 or more
range from $55 for the highest speed
2117-2 to $39 for the 2117-4 with
250 ns maximum access time, from Intel
Corp, 3065 Bowers Av, Santa Clara CA
95051, (408) 249-8027.

Hobbyists can purchase small quantities of printing wheels, ribbons,


diskettes, cassettes and other printing
and magnetic recording supplies using
Master Charge and VISA cards through
this newly formed mail order source.
The product lines offered include 3M
Scotch and ITC Verbatim brand magnetic media, Qume and Diablo cartridges
and printwheels, and IBM Selectric li
compatible ribbons and typing elements.
A catalog and price list may be obtained
by writing Printcraft Systems Inc, Dept
MO, 11-17 Beach St, New York NY
10013, (212) 966-0001.

Circle 603 on inquiry card.

Circle 605 on inquiry card.

Circle 607 on inquiry card.

202 May 1978 0 BYTE Publications Inc

S-100

32K STATIC MEMORY BOARD


features :
1. FULLY STATIC - usable with all DMA devices.
2. BUFFERED - with noise suppressed control inputs.
3. MODULAR - populated in lk increments .
4. RELIABLE - single source + 5V regulator
5. PROM COMPATIBLE - monitors available on request

DEC" LSI -11 16K MEMORY BOARD

S-100 EXPANDABLE MOTHER BOARD

' BUFFERED AND


Q-BUS-FULLY
STATIC NOISE SUPPRESSED
MODULAR
PROM COMPATIBLE
ADDRESSABLE TO 128K WORDS
MAPPABLE IN 4K INCREMENTS

8 - SLOT EXPANDABLE BACKPLANE-in


line male and female connectors enable
backplanes to be plugged together, or the
female may be used in place of an extender
board .
QUIET-ground plane decouples all signal
lines.
RELIABLE-SAE 8100 phenolic body, gold
con tact c on necto r s .

ASSEMBLED ,
TESTED &
BURNED IN

COMPLETE

$124900

KIT

$ 115900

COMPLETE
KIT

LARGEST A FASTEST STATIC MEMORY AVAILABLE


AVAILABLE EITHER IN COMPLETE KITS

$6600

ASSEMBLED$8

900

OR ALREADY ASSEMBLED UNITS WHICH


HAVE BEEN FULLY TESTED AND BURNED IN.
ALL BOARDS ARE G - 10 GLASS EPOXY . HAVE Vcc AND GROUND
PLANES , PLATED THROUGH HOLES , & GOLD PLATED EDGE CONNECTORS

KIT ASSEMBLED
8K $27000
$ 29600
16K $44000
$46500

32K $69500 $74000

MAXI SWITCH KEYBOARDS

OUR NEW
ASC11 KEYBOARD

UNEN
METALD FRAME T KEE SN KEY I SWITCHES SECURELY IN PLACE.
No. 1 No. 2
-53 key main keyboard
- 53 key keyboard
-10 auxiliary & cursor control keys
- 1 auxiliary power/ control
-11 key numeric pad DPDT rocker arm switch
-Bank of 5 auxiliary power and $2995
control , rocker arm switches one of them lights up .

WIRE WRAP SOCKET CONNECTOR


FOR NO . 1 KEYBOARD
$ 295

BUILD YOUR OWN

PAPER TAPE
READER

SOCKET CONNECTOR FOR


NO. 2 KEYBOARD

4K STATIC RAMS

8223 256 BIT


$ 2.65
82523 256 BIT $140
63061 2K 25A
TRISTATE
$ 5.45
$4 . 95
8 25126 256 x A4

2114 650ns 600mw $ 6.25


4 045 44 450ns 300- $ 10.95
HM 4722111 4 300ns 200mw $ 11.95

1/10" CENTER STACKABLE

/$9

14 PIN 10/$1.89 10 /$ 1.49

16 PIN 10 /$1.99 10 /$1.59


22 PIN 5/$1 . 69 5 /$ 1 . 49
24 PIN 5/$1.89 5 /$ 1.59
28 PIN 5/$1.99 5 /$ 1.69
40 PIN 4/$1 . 99
4/$1 . 69

SIDE VIEW

3 LEVEL 48c

14 PIN
2 LEVEL 48c

56c

400 OHMS

WIRE WRAP

No. I
SAC185 /2-2

No. 2
SAC22S/ 2.2

No. 3
2VH31 / ICB6

SINGLE ROW , 18
PIN CONNECTOR
WITH 0 . 156 " CONTACT SPACING .

SINGLE ROW. 22
PIN CONNECTOR
WITH 0 . 156 " CON .
TACT SPACING

31 SOLDER LUG
CONNECTOR WITH
0.125 " CONTACT
SPACING

99C

99C

Because MAIL ORDER CUSTOMERS


cannot inspect their parts before pur -

chase, for them only, we guarantee an


IMMEDIATE REFUND- NO QUESTIONS
ASKED-should you be unhappy with
the parts , ' or should the parts fail for
any reason .` Just ship parts to us in a
protective carton with proof of purchase
within 30 days of receipt of shipment.

MOS AND LED DEVICES EXCLUDED !

Circle 214 on inquiry card.

POST
2 LEVEL

HI-REL GOLD

WIRE WRAP
SOCKET PIN

10 /980

10 /$ 1T^

100/$710

100/0900

1000/$6400

1000 /$ 7900
LIST PRICE 29c

99C

"GOOF PROOF',
GUARANTEE

ALL ITEMS SUBJECT TO PRIOR SALE

95 c
$ 149 ea .

IN3909 50V at 30A $1.25

BRIDGES
FAST RECOVERY AVALANCHE BRIDGE
IN4436 / T 2000 at IDA $4.25
FULL WAVE " MINI BRIDGE " WITH TAB TERMINALS
PR IOF 1000 at 120 $3.75

5% ZENERS
IN4733A S.lv to 39c
IN4739A 9 . 10 lw 39c
IN4744A 15V 1w 39c

uA723-VARIABLE 2V to 3.70 38c 69c


78L05 SV at IOOnAA TO 92 3/98c
340T 6 6V at I AMP TO 220 2/98c

CROWBAR

TRANSISTORS
SIMILAR TO FPT 100

ULTRA
HIGH
SPEED

4/98c

EXTREMELY
SENSITIVE
LIGHTACTIVATED

SCR

DETECTOR
several hum
PHOTO
dreg ards
OARl1NGTONS 0.5 NS Y
RISE TIME
$ 295
MOTOROLA
5
$37

OP AMPS

INFRA RED
DETECTOR

SOLAR CELLS

ULTRA LOW LEVEL


PIV 7V
$495
I on line

$ 159 ea . 10/$990

trigge able by
flashlight at

PHOTO

DIODES

TRANSISTORS

709 lOc
741 12c

IN91 15c
IN270 12c

2N2222 12c
2N3904 12c

DUAL

IN914 15C

MC1458 39 c

IN3600 15c

2N3906 12c

QUAD

IN4148 l0c

2N3053 49c

2x2 cm 130ma

HEWLETT -PACKARD
JUMBO-RED

HIGH INTENSITY
RED

HIGH EFFICIENCY
LED
ON BOARD
STATUS
s
IN DICATOR 6/$100

LED LAMP
EXTREME WIDE ANGLE VIEWING

3 /98c 10/$245

PRIME A-1 LEDS


D/A RED LEDS

SINGLE

LM3900 49c

INSTALL
N IC
O URS ET F N NSTA LPO N EL ECT RO

CROWBAR SCR czzo0 4oov at ]oA $1.75

OPTO DEVICES
PHOTO

PLASTIC 89c
TO .3 95c

21 30A To -3 $1.95

7/$975

4 /98c

MAIL ORDER

fr

REED RELAY

GOLD EDGE CARD CONN ECTORS

IN4003 2000 at 2c
IN400 7 ]ooov at IA
la 12c
IN250 60V at 20A 95c

PASS TRANSISTORS

REGULATOR

INLAID TIN
8 PIN 10 /$ 1.59 10/$1.35

MAKE UNIVERSAL 7 PIN STRIP


END AND SIDE
RYWOWW"
STACKABLE WIRE
TOP VIEW
WRAP BOARDS

IN4001 00V at IA 6c

MJE3055 100
2N2 5 IDA

TTL COMPATIBLE

GOLD

GOLD WIRE WRAP


SOCKET STRIPS

3 LEVEL

16 BUTTON PADS
4x4 MATRIX ENCODED $195

15V at 10 microam p s

41

24 TO 92, SMALL SIGNAL DARLINGTONS


AND 24 LEDS - ALL FUNCTIONAL
only $495

PLASTIC METAL

ULTRA LOW CURRENT

I.C. SOCKETS

OGIC PROBE

VOLTAGE REGULATORS
MINIATURE

LOW PROFILE - SOLDERTAIL

60

12 PIN

TO YOUR PARTS PROBLEMS

$ 295

BUILD YOUR OWN


L

DIODES

WE ARE THE MOST


COST EFFECTIVE ANSWER

BIPOLAR PROMS

PHOTO
TRANSISTERS

$17 95

POWER SUPPLY PARTS

HAS ON BOARD UV PROM , A MAIN


KEYBOARD SECTION OF 58 KEYS , A
HEX PAD OF 15 KEYS AND 16 MORE
PERIPHERAL KEYS. 89 KEYS TOTAL &
ASC11 ENCODED for only $ 9995

BEIGE METAL FRAME MOUNT FOR


NO . 2 KEYBOARD $995

$3995

with connector
A MUST for trouble-

shooting your Computer boards


No. 7 "BEST ON THE MARKET" No. 2
UNIVERSAL BOARD FITS 8 6 P IN
MICRO CPU CARD W I T H S - 10 0 BUS . 3
SOCKET WITH 0 . 10" CONTACT
ON BOARD REGULATORS . FITS ALL STAN
SPACING MADE BY LEADING COMCARD IC. SOCKET CONFIGURATIONS
1700+ HOLES .
PETER MANUFACTURER AS "IN HOUSE"
SIZE 5"x10 "
BOARD 1600+ HOLES .
512E 4 . 7 / 8" x 7 . 5/8" $795
$2395

$ 61200

24K $58000

1O

S-100 EXTENDER BOARD

UNIVERSAL "U DESIGN " WIRE WRAP BOARDS

BARE BOARD $3800

CONVERTER MINI 10/99c


SIGNETICS JUMBO 10/$1 . 20
NE5008 HI EFFICIENCY 10/$2.25

YELLOW, GREEN, OR
$995 AMBER LEDS ( SPECIFY COLOR)

3/89c

NO BACK
ORDERS WE PAY POSTAGE & HANDLING
IMMEDIATE REFUND ON U.S . ORDERS ONLY ' - CALIF . RES ADD 6% SALES TAX

YOUR PARTS OR

F. Reichert Sales
$ 20 MINIMUM 1110 E. GARVEY AVE.

FOR UNDER 8 HOUR PROCESSING SEND MONEY ORDER , CERTIFIED OR CASHIERS CHECK .
SORRY! WE CANNOT ACCEPT PURCHASE ORDERS , COD'S , PHONE ORDERS OR CREDIT CARDS.

FOREIGN ORDERS
CANADA .
PUERTO RICO, U .S
POSSESSIONS ADD U . S $3 . 50 . ALL

OTHER ADD U S $700

'IMMEDIATE SHIPPING ON CHASE


MANHATTAN ,
FIRST CITIZENS .
CASHIERS CHECKS & CANADIAN

POSTAL MONEY ORDERS

W. COVINA, CA 91190

DROP INTO ONE OF OUR LOCATIONS


LCS ANGELES
(213 ) 9674611

PORTLAND DENVER
( 503) 646 4044

( 303) 5735214

LMN ELECTRONICS WIZARD OF PARTS ELECTRONIC LOLLIPOP


1042 E
GARVEY AV ., W COVINA CA 8225 SW CIRRUS OR BEAVERTON . ORE 5643 N BROADWAY DENVER, CO.
( VINCENT & SAN BERDO FWY) IROI I BUS 'NTH WASHINGTON SQUARE) ( 125 & 58th AVE)

TILL m SAT 108 - CLOSED SUN s MON

PRICES SUBJECT TO CHANGE


BYTE May 1978 203

A Computer Needs a Foundation

What's New?
Catalog Describes Micro Printer

First West Coast Computer Faire


The talks and technical papers
presented at the First West Coast Computer Faire in San Francisco last April
are now available in the form of a 320
page softbound book. The Conference
Proceedings includes 93 papers under
25 topic headings, including computer
art, speech synthesis and recognition,
computers and music (43 pages), and
the use of small computers in education
(38 pages). Other sections provide both
tutorial and design discussions concerning hardware and software for home
computer systems. It is available for
$12.68 ($13.40 for California residents)
from The Computer Faire, POB 1579,
Palo Alto CA 94305, (415) 851-7664.
Circle 582 on inquiry card.

Report on Small Business Computers


All About Small Business Computers

This 14 page, four color brochure


describes the AIP-40, a low cost ($425)
40 column alphanumeric impact printer.
The AIP-40 includes a printhead, paper
feed mechanism, power supply, and
choice of serial or 8 bit parallel interfaces. The device prints at an average of
50 characters per second in a 64 character standard ASCII font. A serial
interface can sustain a continuous 300
bps transmission and printing rate. The
brochure, which details electrical and
physical parameters, timing and character set, and suggested applications, is
free from Date[ Systems Inc, 1020
Turnpike St, Canton MA 02021, (617)
828-8000.
Circle 579 on inquiry card.

An Important New Glossary


An interesting book entitled Running
Press Glossary of Computer Terms has
recently crossed our desk. The book
is written by John Prenis, and is published by the Running Press, 38 South
Nineteenth St, Philadelphia PA 19103.
The book is available for $1.95 plus
$.25 postage from the publisher, and
we would expect it to be seen in
numerous computer stores during the
coming months.
There have been numerous glossaries
published to date, to which the Running
Press Glossary of Computer Terms is but
the latest addition. However, there are
several points to be made about this new
glossary: it concentrates on a set of
terms most likely to be encounterd by a
new computer user trying to make sense
of the field of computing for the first
time.
Some samples of the definitions in
this glossary, pulled from this 86 page
paperback book, may provide the best
way to illustrate what it can do for the
reader:

204 May 1978 0 BYTE Publications Inc

provides detailed specifications on 249


low cost computer systems for small
business. Systems from 87 vendors are
compared in 50 pages of comparison
charts. Specifications covered include
the minicomputer used in each system
and its 10, mass storage and main
memory features, keyboard and other
10 facilities, communications capabilities, software support, pricing and
availability. The report also summarizes
the experience of about 750 survey
respondents with a total of nearly 1800
minicomputers. Reprinted from Datapro
Reports on Minicomputers, it is $12 per
copy from Datapro Research Corp, 1805
Underwood Blvd, Delran N J 08075.

Attention S-100 bus homebrewers:


CMC Marketing, 5601 Bintliff, Suite
515, Houston TX 77036, is offering this
foundation module manufactured by
TEI Inc as the hardware basis of systems
using one or more of the many Altair
(5-100) bus boards available in the
marketplace. According to the literature
accompanying this photograph, the
MCS-112 foundation unit contains a 12
slot mother board, along with a power
supply rated at 17 A on the +8 V bus
and 2 A on the -16 V and +16 V supplies. (With Altair (5-100) bus boards,
regulators to produce typical +5 V,
+12 V and -12 V are made a part of
each board to transform the system
supply voltages into locally usable
voltages.) The heavy duty aluminum
cabinet features a 115 CFM muffin
fan which maintains positive pressure
inside the cabinet, so that a washable
dust filter can be used. The price of
this hardware foundation for a homebrew system is $395. Also available is
a larger chassis, model MCS-1 22 with 22
edge connector slots, and a power
supply with 32 A at 8 V, 4 A at +16 V
and4Aat-16V.0

Circle 583 on inquiry card.

Circle 581 on inquiry card.

Constant. Any number you don't


expect to change. Instead of giving it a
variable name, it can be written into the
program explicitly. It's wise to make
sure that you won't ever want to change
it before you do this.

a word off the top of the stack, everything moves up one level, until the stack
is empty. Notice the computer has access
only to the top of the stack. Piling a
word on the stack is called a "push,"
and taking a word off is called a "pull"
or a "pop." The stack simplifies some
operations enormously.

Data structure . The decision on how


data are to be organized in memory and
referred to by the computer is an
important one. Picking the proper data
structure can simplify the computer's
job greatly. Some data structures often
encountered are files, lists, arrays, stacks,
and queues.
Matrix . A matrix is a two dimensional array, or table of numbers. In the
hardware domain, a matrix can be anything arranged in a grid-like pattern.
Stack . The stack is a region of
memory which works by special rules.
Each time the computer stores a word
there, it goes " on top of the stack," and
all the previously stored words move
down one level . When a computer takes

User-oriented . Set up for somebody


who is not expected to be knowledgeable about computers.
These definitions were picked "at
random" to illustrate the typical terms
and explanations found in the book,
and illustrate the user-oriented nature of
the terms. Engineering terms are for the
most' part omitted, unless they refer to
the specification of a system's overall
characteristics, and the majority of
terms concern software concepts, which
are the most important ones for a
computer's users. As a starting point
for the neophyte, this book of terminology is highly recommended ...CH
Circle 580 on inquiry card.

fi;lEdg#

S.D. COMPUTER PRODUCTS


P.O. BOX 288108

EXPAN DORAM

EXPANDABLE EPROM BOARD


16K

DR

12K

EPROM $49.95 W/OUT EPROM

THE MOS BUY A 5100 COMPATIBLE RAM THE 64K VERSION USES THE MOS.
THE 32N VERSION USES
TEN MN4115 RAM AND HAS gN BOARD AND UPGRADE THE SAME TER MK4116 RAM AND HAS 16K
BOARD TO A MAXI MUM OF 65K BOUNDARIES AND PROTECTION
&
&
BOUNDARIES AND PROTECTION
MEMORY IN STEPS OF
OF E BY
ITHER
M E
UTILIZES DIP SWITCHES P. C.
UTILIZES DIP SWITCHES P C
I U AT YOUR OPTION M
ER
BOARD COMES WITH SOCKETS FOR
BOARD COES WITH SOCKETS FOR LY
32K OPERATION FY PURCHASING MORE RAM CHIPS 64K OPERATION
FROM SD COMPUTER PRODUCTS.

4K LOW POWER RAM KIT


The Whole Works - $79 . 95
Full Buffered on board regulated - reduced
power Consumption utilizing low power 21L02- 1
50505 RAMS - S ockets provided for all ICs.
Quality plated through PC board .

LOOK AT THE FEATURES WE HAVE BUILT INTO THE EXPANDORAMI


NO WAIT STATES REQUIRED
MEMORY ACCESS TIME IS 375 n
s
MEMORY CYCLE TIME IS 500 , n NO CYCLE STEALING NEEDED
POWER REQUIREMENTS ARE: ON BOARD REGULATION
8 VDC 400 MA DC
CONTROL, DATA & ADDRESS INPUTS

13
11,7

-18
ON VOC

'Add $ 10.00 1"

zsons RAM operation

30

FULLY ASSEMBLED AND TESTED 5 0 3 0 0 1 0


lmsa - A , ta,r - 5100 Buss cgmpa1 l6le , uses Tow power
vatic 21L02 50o o lolly bune, ed board reg^laied
auai,ly plated through PC board. -Iii - g sailer, mask 8
P., dip swi lches to, address op i to:
W

250ns RAM operation - a-y u

DESIGNED TO WORN WITH Z- 80,

which

allows

Z80 STARTER KIT


SIMPLE , STEP BY STEP LEARNING . CONSTRUCTION,
PROGRAMMIl OPERATION , MEMORIES , INTER.
FACING , COMPUTING , AND CONTROLLING WITH
AUDIO CASSETTE INTERFACE CAPABILITIES.
Complete Kit includes: Key board and Display; Z80
centpral Processing Unit; InetruetiPns ; Operation Manpal ; Learning Guides.

THE VERSATILE FLOPPY DISK CONTROLLER

ONLY $149.00
FEATURES : IBM 3740 Soft Sectored Compatible . 5-100 BUS

Features : Powerful Z80 CPU with 158 in tructons 1024


B y t es ( E xpan d a bl e to 2048 Bytes ON BOARD) o f RAM
2 Bu-Directional Input / Output Port s with Handshaking
Kans as City Standard Audio Cassette Interface for
P rogra m St orage Hexatlecimal Keyboard and Display
W , rewrap ar
/or custom circuitry 5100 Connector
board for Memory and 1/O Expansion 2716/2758
PROM Programmer '7 BUG" Monitor ROM ( Including:
Memory, Pod and Register Examine an d Change Cum
a ds; Breakpoints ; Single Step Capabilit y' Ado Tape
Load and Dum p; Exec u t e user program C ommands.)
Many m
unique features . The best c o mputer educat ional ki
t on the ma rket . . . the complete computer
and educat i onal package for only $199 .00. (Available
June 1978).

Compatible for z 80 or 8080 . Controls up to 4 Drives ( srngle


double sided ). Directly ntrols the following drives:
1. Shugart SA400/ 450 Mini Floppy
2. Shugart SAAOO / 850 Standard Floppy .
3 . PERSCI 70 and 277 .
4. MFE 70 / 750.
5 CDC 9404/9406.
36 Pin Connector for Mini Floppy . 50 Pin Connector for Stand and Floppy Operates with modified CP/M operating system
and CBasic Com p iler . The new " V ,- flo ppy " fr o
Coto
provides
Products
pontml for many
of
m So
av ter
av ail able
FD177IB 1 Single Density Controller Chip. Listing,, for Conteol Software are included in price .
FD 17718 - 1 CHIP ALONE $39.95

INTRODUCING THE SBC - 100

gss'?ee. awe
}

LEARN COMPUTERS FROM THE START!

VERSAFLOPPY jjL1 KIT

'

refresh and NMI available,


either 2MHZ or 4MHZ operation , q ualit y double sided plated throughh PC
board; parts plus sockets provided for all IC's.
Add $10, extra for Z-80A chi p

O.E.M. SPECIAL
O.

ABOUT SPECIAL

DISCOUNTS ON THE

^ .^9 . 00
J4

ORDER ALL 3 KITS TOGETHER FOR


$899.00

FEATURES:
No Front Panel Needed Programmable Bald Rate

This Powerful Threesome Operates Together to Form A Comolete Computer for Your System.

Z 80 CPU (2 or 4 MHZ) Parallel Input Port

P ara llel O u t pu t P o rt
IN. RAM

4 ROM/PROM Sockets for 4K/8K of Memory 4 Channel Timer/Counter


SYNCHRONOUS/ASYNCHRONOUS Serial 1/0 with 4 Vectored Interrupts
RS232 and Current Loop Interlace and Software

Pro g

Z-80 IN DEPTH DETAIL OF S. D. SALES SPECIAL


THE Z- 80 CPU
$9 ,95
MICRO -COMPUTER

rammin g Manual

MICROPROCESSOR
CHIPS

S.D. NOW HAS SOFTW ARE FOR IT'S CUSTOMERS

8,1150
Bi15 95

14.95
2114 - 4K
1101A-256 81$ 400

CP/M" DISK OPERATING SYSTEM

1103 - 1K 35

MK all, 8K 1545
74S 200 256 3 95

CPU's

z-e0"n udes manual 2995


Z -80A includes manual 34 95
8080ACPU BRIT
8000 CPU B AIT

1t 95
6 95

PROMS

. . . $99.95

CP M is a powerful disk operating system which has become a industry standard It is co mpatible with s eve re t
disk based FORTRAN and BASICS This package includes a CP/M diskette fmom or full sze) adapted for S D s
SBC100 /VERSAFLOPPY EXPANDORAM board set Complete documentation is Included 1, CP/M is a reg.
istered trademark of Digital Research Corp, Pacific Grove, CA

Z-80DISK BASED ASSEMBLER ...... $69.95 SD MONITOR

$49.95

Runs on ANY CP/ M based disk system . Assembles


Powerful m nitor for SEC100 single board r:.m
the official Zilog Mustek Mnemonics Contains ex Rooters Includes all VERSAFLOPPY control firm
tens , ve set of pseudo ops . Available on mono or ware Comes ,, 2716 prom Available in 4.6 weeks
rwl sloe diskette .

VERSAFLOPPY DIAGNOSTIC PROGRAM ... $ 24.95


VERSAFLOPPY "' CONTROL FIRMWARE ... $ 24.95

1702A 1K - 1.5us .. 3.95 or 10 /35.


2708 - 8K - 450ns .......... 14.95
5204 - 4K .............7.95
.. .... 2.50
825129 - 1K
2708U 8K signefics 650ns
.. 9.95

Provides routines which are helpful in checking out


provides control for VERSAFLOPPY and boots up
a
disk b ased system
,n
Available
2708 or 275B
CP/M. This runs on Z80. 8080 or 8085 based prom.
2708 or 2758 p r o m .
compu t ers A va il a bl e

COUNTER CHIPS
MK50397 6 Digit elapsed timer 8.95
MK 50250 Alarm [lock ........ 4.99
MK 5 0 3 8 0 Alarm chip ....... 2.95
MK50395 6 digit up / dn.count . 12.95
MK5002 4 di g i t counter
.. 8 .9 5

PlO for Z-80

............ 14.95

CTC for Z-80 .......


8228 Sys . Controller
.... 8.20
8251 Prog. comm . interfact . . 10.95
8255 prog, prep . interface . .. 13.50
8820 Dual Line Recr ........ 1.75
8830 Dual Line Dr . ...... . 1.75
2513 Char . Gen . .......... .7.50
8838 Quad Bus . Recur .
2.00
74LS138N - 1/8 decoder
_ 99
BT97 - Hex Tri-State Buffer .... 1.25
1488 / 1489 RS232 ........ 1.50
TR 18638 Uart ............8.50
TR 1863 Uart .......... 8.50
FD 1771B.1
........... 39.95
CMOS

SUPER FLOPPY SPECIAL


S

D. SALES

VERSAFLOPPY

SHUGART SA 400 FLOPPY DISK DRIVE INCLUDING CABLE FOR ONLY

DER IN ON OUR CONTINENTAL


TOLL FREE WATTS LINE :

214/271-0022

1-600-627-3460

DEALER INQUIRIES INVITEDI

on

4042 69

4013 32
4016 32
4017 95

4049 35
4069 23
4071 19

4020
4022

$449 00

4029 69

4002 19
19

4011

$.100 CONTROLLER BOARD PLUS

CALL IN YOUR BANKAMERICARD


(VISA) OR MASTER CHARGE OR- Texas Residents Call Collect :

315

8212 - 1/0 port ........ 3.50


8214-P.LC. .. ...12,95
8216 - Non Invert Bus ..... 4.95
8224
Clock Gen. .........4.95
8226 - Invert Bus .........3.95

4001 19

MK5021 - Cal. chip sq. root ..... 2.50

Circle

SET

ASK
OEM
SD
CO MPATIBL I
SBC100 SINGLE BOARD COMPUTER $34900
VERSAFLOPPY^'0 -- FLOPPY DISK CONTROLLER $14900
EXPANDORAM
32K
RAM
$47500
EACH KIT IF PURCHASED SEPARATELY TOTAL $97300

(The Z-80 Based , S-100


g
'A Sin le Board Com pu t e r)

RAMS

=NaEs

' Add $30 . 00 for

DE V IC ES

NEW FROM S. D.

- s nC generated
on card
a
y
g
(
r eal plus feature!) , dynamic

21L02 500NS
2IL02 25ONS

8K LOW POWER RAM


$ 159 . 95

8080 . 8085, CPU's


ADD $50 .00 TO ABOVE PRICES FOR FULLY ASSEMBLED AND TESTED BOARDS

CHECK THE ADVANCED FEATURES OF OUR Z-80


CPU BOARD: Expanded set of 158 instructions,
8080A software capability,
o-II to operation from a single
SVDC p ower
Older su pp ly ; alway s
stops on an M1 state true

4MHZ operation.

DC

ON BOARD INVISIBLE REFRESH

Z-80 CPU BOARD KIT


Complete Kit $139

r-Y

Features Play and record K.C Standard 2400 / 1200 Hr


tapes 900 Baud Tit I/O Compat tile, Phase Loch Laop.
Both 22 P i n Connector and 8 P n Moles Connector.
Comes partally assembled 0_1 I ator and phase lock
loop pie tuned I. N C Standard Selector switch sends
D e it,
rd dam -1-y input eats in croproassor.
logic l level.
LE Indicates 10
LED

18 VDC 400 MA DC UTILIZE LOW POWER SCHOTTKY

F3i
-

$1995

32K MODEL ^ 64K MODEL


BN
...
..
...00
16K
.$281 . 00
s- 32N 519.00
16K .. .. 259 . 00
_: 48K
.... 757.00
21K .... .... 367 . 00
5.00
64K
995.00
32N
4]

WE CAN SUPPLY 4 50As 2708 , AT $1195


WHEN PURCHASED WITH BOARD

1M
1

Cassette

Interface Kit

K
32 FOR $475. 00

KIT FEA T U R ES :
1 All Address Lines & Data Buffered
2. Quality Plated through PC Board Including
Solder Mask and S,Ik Screen
3. Selectable Unit States
4 On Board Regulat
Regulation
Dn Provided
5 All Socket' Provided W/ Beard

^s

Low Cost

THE ULTIMATE RAM BOARD

Allows You to Use Either 2708, For 16K of Eprom or


2716 s For 32K of Eprom,

AN EMPIRE IND CO

DALLAS, TEXAS 75228

4047 150

97
97

4076 97
14518 1.10

4024 75
4027 39

14528 85
14529sal
85

NO COD' s. TEXAS RESIDENTS ADD


5%-SALES TAX . ADD 5% OF ORDER
FOR POSTAGE & HANDLING . OR-

( All pr i ces subject to change

without Orion notice )

inquiry

card.

DERS UNDER $10. ADD 75c HAND


LI N G.F O REIGN ORDERS - U. S.
F UN DS O NLY!
BYTE May 1978 205

Decl assifi ed Ads


WANTED: For Microdata 1600 processor (Reality):
magnetic tape controller and disk controller.
Jack Hardman, 140 Forest Av, Glen Ridge NJ
07028, ( 201) 429-8880.

FOR SALE: Heathkit H9 video terminal assembled


and tested . Used only 5 hours . $500. Howard
Schimmelpfennig , 351 N 4th West, Logan UT
84321, (801) 752-1987.

FOR SALE: Homebrew 8080, IMSAI front panel


mounted in vector rack with 12 slot Altair (S-100)
backplane and 15 A power supply, $450. 16 by
64 alphanumeric video display board , memory
mapped with ASCII keyboard port, $100. 8 K
memory, 450 ns, $150. 4 K memory, 450 ns,
$75. Doug Lehmann , 1146 Scott St, Maumee OH
43537.

FOR SALE: SwTPC 6800 computer system.


KBD-3 , TVT-11 with modulator, AC-30, 8 K, interface cards , two recorders, software . Beautiful
custom cases . Packaged for portability, $650.
Anderson -Jacobson 841 Selectronic terminal.
Correspondence code, RS-232 interface, modem
and coupler. Attractive case . $725. Daniel L
Wright, 280 Perrymont Av, San Jose CA 95125,
(408) 925-3367 days.

HEATH H9 VIDEO TERMINAL: Fully assembled


and tested by an experienced engineer . Interfaces
to virtually all microcomputer systems via RS-232,
20 mA loop or TTL. Includes many unique features . Price includes shipping. $530. R Edison,
4 Longfellow PI, Boston MA 02114, (617)
742-3074.
FOR SALE: One Hewlett-Packard 2640A interactive display terminal, one Spintronic data com'munication terminal and one 3M dry photocopier.
Purchased 1976 but hardly used due to illness.
Original purchase price over $8000. Part of estate,
will sell for $3000, George Danek, 1021 Harbor
Dr, Rt 7, Annapolis MD 21403, (301) 263-3134.

FOR SALE: Teletype Model 35 ASR, heavy duty


printer with paper tape reader /punch . Currently
operating on 20 mA loop, convertible to EIA
RS232 . Has remote tape reader switch for use as
local console or remote terminal . Best offer.
Brad Jude , 428 Ridge As , Clarendon Hills IL
60514, (312) 323-8093.
WANTED: Altair 8800 or 680 construction
package with PC board etching guide and parts
placement guide. Ben Galewsky, 1035 Dowlen
Rd, Beaumont TX 77706.

WANTED: Hardware and software required to


organize and maintain a mailing list. Please write
if you have any information that can help me get
this going . Write W Pomeroy, 5790 Bull Hill,
LaFayette NY 13084.

FOR SALE: Altair 8800 minicomputer with 21 K


programmable memory, 2 K read only memory,
cassette interface , video display interface , parallel
and serial 10 interface , ASCII keyboard, video
monitor , connecting cables, manuals and some
software . Asking $1275. M Harris, POB 1053,
New Britain CT 06050, (203) 225-0504.

WANTED: Used KIM- 1 microprocessor . Prefer


complete system with expansion boards if possible.
Norman G Church, 18310 Franklin Way, Gladstone
OR 97027, (503) 659-6763.

WANTED: BYTE #7, volume 1 , March 1976.


Will trade volume 1, issues 1 , 2 or 3 or cash. Write
details . S Finberg , POB 82 , MIT Br, Cambridge
MA 02139.

FOR SALE: Improved Sphere System 330. Consisting of 20 K dynamic memory, 2 K 2102s,
2 K EROM monitor , KC cassette interface , serial
interface and 6830 modem chip, sockets for
8 K 2708s also with CRT interface, keyboard,
and mother board. Requires only power supply
and modified television . Only $700 takes this and
more . Bill Vodall, Box 75 , Kevin MT 59454,
1406) 337-2222.

REWARD: $ 10 for information leading to the


comprehension of a Prentice P103 ANS modem.
Need schematics , manual, etc . William L Palya,
St Joseph 's College, Rensselaer IN 47978.

FOR SALE: Monroe programmable calculator


Model 1830 . Excellent condition , under factory
service contract . Cost new $3100. Will sell for
$2200, which includes about $800 worth of
magnetic storage cards . 8 Fremerman, 4041
Central , Kansas City MO 64111.
FOR SALE: IBM 1620 system , $2000. Includes
all software and curriculum materials that were
used by the Mathematics Dept at Monona Grove
High School . Donald Helstad , Principal, Monona
Grove High School, 4400 Monona Dr, Monona WI
53716, (608) 222-1291.

Readers who have equipment , software or other items


to buy, sell or swap should send in a clearly typed notice
to that effect. To be considered for publication, an advertisement should be clearly noncommercial , typed double
spaced on plain 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 8YTE.
Please note that it may take three or four months for
an ad to appear in the magazine.

206 May 1978 0 BYTE Publications Inc

FOR SALE: Computer Automation Alpha LSI


2/20G minicomputer. 16 bit processor , hardware
multiply/divide, stack and byte processing , priority
interrupts , DMA, read only memory automatic
load, Teletype interface , B K core memory, power
supplies, chassis , programmer's console . Includes
general and interfacing manuals , partial schematics,
software listings for : assemblers , diagnostics,
editor, loaders and math functions . $ 1200 plus
shipping, or trade for DEC LSI- 11 equipment or
24 by 80 CRT. Paul Sorenson , 220 Cedar St, Apt
7, E Lansing MI 48823 , (517) 337-0223 or
353-9487.
WANTED: Programs on 8 inch ICOM 3700 disk
subsystem. I use ICOM- 58, DEBBI /IMSAI and
FDOS 111. I also use the Cromemco Dazzler and
the Cybernetic Speech Synthesizer . Please send me
a copy of your disk and I will pay you for it. Or
John M Latimer, 55 La Gorce Cir, Miami Beach F L
33141.

FOR SALE: Digital Group Phi Deck digital tape


system ( 6400 bps ), 20 second access time. Four
drive cable case controller board . All factory
assembled and tested . Used for three months,
working fide when replaced by disks . All documentation and Phi-Mon operating system. Asking
$624, you save $ 136. Will consider trades; I need
a sophisticated terminal . Will ship UPS collect
upon confirmation and receipt of $60 deposit.
Confirm by phone ( 804) 838- 1950 Monday thru
Friday 8 AM to 5 PM.
FOR SALE: Five 4 K Altair (S-100) static memory
boards. Factory assembled and still on warranty,
one never out of box . I am switching to 16 K
boards. $100 each. No cash please. Al Marshall,
408 Oakwood, Angola IN 46703.
FOR SALE: ASR 33 Teletype, new covers, working reproducing tapes now , on stand and with
plywood shipping crate, used , $650. Teletype
1 inch paper tape $4 per 7 roll box . Altair 680b
ready to go, $375. Digideck digital Philips cartridge tape deck and electronics , all documentation, $145 . These tape decks look perfect but are
untested . All items plus shipping . Jim Beistle,
3728 Wilkie Way, Ft Worth TX 76133.
WANTED: BYTE volume 1, issues 1 thru 11. Must
be in good condition. Mail price to Byron de Vries,
Box S-281, Castle Point Sta, Hoboken NJ 07030.
LINE PRINTER: Altair 88LP Okidata 110 with
tractor feed , controller , cable and documentation
for sale . Less than one roll of paper run through
it. Cost new $1750, will sell for $1400; you pay
freight. Dave Uhring, 710 Cedar St, Collinsville
I L 62234, ( 618) 344-5188 days.
FOR SALE: Altair ( S-100) microcomputer,
assembled and tested . 8080 processor, VDM-1
video display , Solid State TV monitor, Tarbell
cassette , Pennys recorder , ASCII keyboard, Tarbell
disk controller with Cal Comp 140 disk, CPM
software, 44 K static memory , parallel 10 board
with two inports , two outports , 12 position
mother board , 28 A power supply and cabinet.
Comes complete with popular software , all ICs
socketed ,
and full documentation , $3000.
P. Sargent , 4209 Knoxville , Lakewood CA 90713,
(213) 421-9521.
FOR SALE:
Complete PolyMorphic system,
includes processor board , two 8 K boards, video
board , 5 slot mother board , Panasonic tape recorder, keyboard , converted TV, all cables and
assorted prerecorded software . All less than 9
months old , preassembled . Valued at over $2300,
will sell to best offer over $ 1750. Scott Hayden,
23921 Colfax St, Lowell IN 46356, (219)
552-0232.
SOFTWARE: POLY A00 BASIC. With dynamic
graphics - Bomber9, Missile , Tank, Pursuit,
Equation Plot , Biorhythm, Sketch, Splat, New
Lun Lander. $ 3 each, Send for complete list.
Ted Carter, 902 Pinecrest , Richardson TX 75080.
FOR SALE: IMSAI 16 K assembled memory
certified good by IMSAI : $299. Assembled and
tested Poly 88 System 2: $499 . Assembled and
tested (virtually new) IMSAI disk drive with
interface , cable, and DOS-A (FDC2-1, FIF,
Cable C, DOS-A): $1399. Shipping paid. Call
Greg Jewell to reserve the equipment you want.
(208) 234 -0495 evenings.
FOR SALE: CT1024 socketed , RS232 interface,
good condition , $95. Les Zoltan , 151 Buckingham
Or #280 , Santa Clara CA 95050, (408) 984-7698.

FOR SALE: Assembled 8080 system, IMSAI


22 slot mother board, large power supply, PIC-8
28 K Godbout programmable memory, North
Star disk, PolyMorphic video board, and Digital
Group keyboard and cabinet , $ 2800 . Morrow
cassette board assembled , $70. Godbout read only
memory with 4 K of 8080 assembler /monitor,
$200. 3P+S kit, $ 110. Oliver tape reader assembled, $60 . C Watrobinski, 4923 N Kedvale,
Chicago I L 60630, (312) 736-6920.

FOR SALE: Hewlett- Packard Model 1601A logic


state analyzer for use with any 180 series mainframe as a display unit . Includes two Model 10231A
6 bit data probes , and two blue light filters - one
for 182 and one for 180 series display units. See
HP 1976 catalogue , page 82, for further info.
Brand new condition , $ 1400 or best offer. Mike
Rosenthal, 906 NW 30th St, Corvallis OR 97330,
(503) 754-0593 evenings.

FOR SALE: Make offer for complete set of


BYTES, September 1975 thru October 1977, like
new condition, sold singly or complete set to best
offer. M Bakke , 448 Carlyle E, Belleville I L 62221,
(618) 235-5686.

FOR SALE: MITS COMTER 256 keyboard


terminal with built-in acoustic coupler, RS-232
interface , FSK tape output , factory adjusted,
like-new condition . Steve Fritts , ( 615) 637 -6705 or
(615) 525-5407.

USED FOR CHARACTER MAY BE USED IN IN MAGNETIC ENVIRONMENT


RECOGNITION FOR A VACUUM, BECAUSE THERE IS NO
COMPUTERS WITH UNDER WATER, HIGH VOLTAGE OR
EXTERNAL CIRCUITS HIGH ALTITUDE MAGNETIC DEFLECTION

VISIBLE
OR
INFRA RED

MINATURE SOLID STATE

202 VIDEO CAMERA KIT

FEATURING A.. 100 x 100 BIT SELF SCANNING CHARGED COUPLED DEVICE

THIS UNIQUE UPDATED CAMERA KIT


FEATURES THE FAIRCHILD CCD 202C IMAGE SENSOR
ADVANTAGES FEATURES
IN THE FUTURE
WE WILL SUPPLY A
COMPUTER VIDEO INTERFACE CARD e
All clock voltages operate at 6V

reguiring no adjustments
Higher video output signal
We supply the power board, so only
a 5V 1 Amp power source is needed
The circuitry has been simplified for
easier assembly
Two level TTL output is supplied for
interfacing

Sensitive to infra red


as well as visible light
May be used for IR surveillance
with an IR light source
Excellent for standard
surveillance work , because
of light weight and small size
All components mounted on
parallel 33/4" x 61/2 17 single
sided boards
Total weight under 1 lb.

We supply all semiconductors , boards , data sheets,


diagrams , resistors and capacitors , and 8MM lens.
Sorry we do not supply the case , batteries and 5V supply.
UNIVERSAL 4Kx8 MEMORY BOARD KIT
$69.95
3221021 fully buffered, 16 address lines, on
board decoding for any 4 of 64 pages , standard
44 pin buss , may be used with F-8 & KIM

EXPANDABLE F8 CPU BOARD KIT


$99.00
featuring Fallout PSU. 1 K.of ftauc ram, RS 232
interface , documentation , 64 BYTE register
4K BASIC FOR FAIRBUG F8
on paper lope 525.00
C/MOS (DIODE CLAMPED)
16 apes- 7.45
4012- . 16 4023 4047- 7.60
4013- 29 4024- . 6 6 -a4001 16 4D
15
74 4025- 1 6 4050- .25
4002- . I6 4016 -- .29 4027- 37 4056- 7135
4006 - . 96 4017 - .78 4028- . 73 406 5"
4001 - 16 4018 - . 78 4029 - .77 4011- Ta
4010- 37 4019- .37 4030- 33 es t9- .69
4010- .37 4020- 64 4035- .97 71ct0.n
16 4022- .85 4042- . 58 74C193 1150
4011-

PRINTED CIRCUIT BOARD


41;2"x61;2" SINGLE SIDED EPOXY
BOARD 1, 16" 1 h.1 k, iinrli 10-Il

$.60 ea . ..............

5/$2.60

7 WATT LD-65 LASER DIODE I R $1195


$ 45
$ 45
$ .45
4 Si 00
S 65
MINIATURE MULTI TURN TRIM POTS
100, 500 . 1 K,2K,5K , 1OK,25K , 50K,IOOK.
200K , 500K. 1Meg, 21019 , $ 75 each 3/$2.00
2N 3820P FET
2N 5457 N FET
2N2646 LIT
ER 900 TRIGGER DIODES
2N 6028 PROG UJT

WSU30 Hand wire wrap tool used


to wrap, unwrap & strip N 30 wire S5.30
VERIPAX PC BOARD
This hoard is a 1/16'' single sided paper epoxy
b0;ird, 4':."x6" DRILLED and ETCHED
which W.II hold up 10 21 s.ngle 14 Pin ICs
r 8, 16. Or LSI DIP IC's with busses for
54.00
pow supply connector .
MV 5691 YELLOW.GREEN
S .90
BIPOLAR LED . ....
FP 100 PHOTO TRANS . .. S 50
RED, YELLOW, GREEN or AMBER
6/$1.00
LARGE LED's.2"
1 L-5 (MC T'2) OPTO-ISOLATOR ... $ .75
MOLEX PINS ........ . 100/$1.00
1000/$8.00
10 WATT ZENERS 3.9, 4.7 , 5.6, 8.2,
88. $ .60
18.22,100 , 150 O1 200V .
1 WATT ZENERS 4.7, 5.6 , 10, 12. 15
..... 88.$25
18or22V
MC6860 MODEM CHIP ....... $9.95

AP PHOTO BOARDS USED FOR


SOLDERLESS BREADBOARDf NG

MCM 6571A 7 x 9 character gen ... $10.75

264L - 128 FIVE. HE POINT


TERMINALS .................. $ 12.75
S 2.50
2128 - POWER BOARD .............
22481. -96 FIVE-TIE POINT

Silicon Power Rectifiers

TERMINALS .................. If 9.75


2098 - POWER BOARD ............. $ 2.25
IC TEST CLIPS
TC-14 - $ 4.50 TC-16 - $4.75

CTS 206-8 eight position dip switch


CTS-206- 4 four nositior dip switch
LIGHT ACTIVATED SCRs
TO 18. 200V 1A

.. . $ 1.90
....$ 1.45
S 1.10

SILICON SOLAR CELLS


AV at 500 ma $4.00
214" diameter

4s
SADRE
102 DIC`i'>N 1024 steps analog " Buck as
0.igade " mill register . _-_ $ 18.95
I N 4148 115914) 15/ 01 DO
MCA 81

RS232 DB 25P male .. .. $ 2.95


CONNECTORS OB 25S female .... $ 3.50
END 357 C. C..4" $ .50 LED READOUTS
FCS 8024i4 digit MAN 7 , 31- C.A f .85
C C. 8" dsplay
$ 5.95 DL 747 C. A. 6" 51.65
FND 503 C.C..5" $ .85 END 800 C . C..1. $1.95
FND 510 C . A. 5' $ .95 FND 8007 C. A. " $1.95
0L-704. . 3" C.C. $ .85

Terms FOBitCarnbrldpe,
Mess.
a
Send
Money Ordsr
Include Postage Minimum
Order $5.00, COD 'S $20.00

Circle 340 on inquiry card.

OPTICAL LIMIT SWITCH 51 .50

REGULATORS
309K ...... $ . 95 340K-12,15

723 ...... $ .50 or 24V .... $ . 95


LM 376 S .60 340T-5, 6, 8, 12
320105i12 15 , 18 or 24V3 .95
or 5V
.....$ 7.35
- 81.00 18 MG
320T-5, 15 79 MG
.....$ 1.35
Pr 24V .... $ . 95

$34900
Add $75. 00 to assemble and test
Add $2.00 Postage and Handling
TRANSISTOR SPECIALS
2N6233 - NPN SWITCHING POWER $ 1.95
MRF-8004 a CB RIP Transistor NPN $ 1.50
2N3772 NPN S. TO 3 $ 1.00
2N1546 PNP GE TO-3 ........ $ . 75
2N4958 PNP S. 10 3 S 1.00
2N6056 NPN S. TO 3 D;.. 1.129100 S 170
255086 PNP S. TO.92 . . S 1.00
253130 NPN Si RE ............ . $ .85
2N404 PNP GE TO5 5/S 1 00
2N3919 NPN SI TO 3 RF ... . . S 1.50
MPSA 13 NPN S. TO 92 3-S 1.00
2N3767 NPN S. TO 66 5 .70
252222 NPN S. TO 18 . 5/S 1.00
S .50
2N3055 NPN S. TO 3
2N3904 NPN S. r0 92 ... 5/$ 1 .00
253906 PNP S. T0.92 5/5 1.50
155296 NPN S. TO 220 S 50
256109 PNP S . 70.2201. S .55
253638 PNP S. TO 5 ..... Si I00

Full Wave Bridges


PRV 2A ^6A
100
200 _ .)5 1.25
.95 1:50
400 _
600 1.20 )1 .75

DIP SOCKETS
B PIN .22 24 PIN.40
14 PIN . 25 28 PIN .50
16 PIN . 28 40 PIN .60
18 PIN .30

EN
SANK
AUDIO POWER AMPS
SI 1010 G 10 WATTS. . . . $ 6.80
S13,70
511020 G 20 WATTS
SI 1050 G 50 WATTS.. . . 525.90

TANTULUM CAPACITORS
22UF 35V 5/31 00 6 SUE 35V 4;51.00
4IUE 35V S 0 1.00 10UF IOV $ .25
68UF 355 5 S1 00 22UF 25V S 40
101 35V 5.51 00 15UF 35V 31
2 OF 2005 Si 00 3001 6V
5/$1.00
33UF 350 4 $1.00 47UF 20V $ .35
47UF 15V 5/8 1.00 68 OF 15V $ .50

TTL IC SERIES
7400- . 13 7445 - 85 74151- .61
7401 - . 13 7446 - . 68 74153- .61
] 402- .13 7447 - . 58 74154- .9a
7403 - 13 7448- .68 74155- .58
7404 - . 15 7460- . 15 74157- 55
7405 - .13 7472- . 26 74161- .55
7406 - . 16 7473- .28 ]4183- .55
7407 - . 20 7474- . 28 7416474185- 95
18 7475 - .45,85
;4o8
408 - . 18 7476 - . 30 74170- 1.68
7410 - . 13 7480- . 31 74173- 1.20
66
761]4.98
7411- .18 7487 - .
7412- .13 ]486 - 87 74175- .85
7413- . 36 7486 - . 28 74176- .75
80 7490- .42 74177- .75
;4;64
7416 : .
: 22 7491- .68 74180- .65
7417- . 25 7492 - 43 74181- 1.90
7420 - . 13 7493 - . 43 74190- 1.00
7425- . 25 7494 - . 67 74181- 1.00
7426 - . 22 7486 - . 85 74192- ON
7427- . 19 7498- . 85 ]4193- .79
7430 - . 13 74107- .28 74194- .80
'7432 - . 22 74121 - . 2B 74195- 85
7437- 21 74122- . 38 74196- 86
7438 - . 21 14;13 - . 4]x279- .55
70 40 - . 13 7425 - . 40 ]4367- .85
7441- . 70 74126 - . 40 75491- .50
7442 - . 37 74150- .94 75492- .50
44 Pin SoIder Tail 156" Connector $2.20
MM 5387AA new clock chip Which will directly
drive LED's 12/24 hrs., 1 supply & alarm $5.95
NO. 24 8 CONDUCTORECTR
SPA FLAT
CABLE 10' $1.50 100 ' $ 13.50
NO.30 WIRE WRAP WIRE SINGLE
STRAND 100' $1.40
ALCO MINIATURE TOGGLE SWITCHES
MTA 106 SPDT .. .. $ 1.05
MTA 206 DPDT . $ 1.70
MTA 206 P DPDT CENTER OFF $ 1,85
MOD 206 P DPDT CENTER OFF
LEVER SWITCH . . . . . . . . $ 1.85

SOLID STATE SALES


P.O. BOX 748
SOMERVILLE, MASS 02143 TEL 16171 5477053

LINEAR CIRCUITS
)41500 - . 11 74LS128 - 4 7 LM 101 - .75
LV 381 /148 .29
)41502 - . 21 )115132 - .%
]41903 21 741-S13e - . 39 LM307 - .30
70 Of 309 - it
11L504
- . 28 74L9138 70
L.311
- .75
14LS05 - 28 74LS139 74L$OB
- . 21 74LS151 - .)0 LM 319 -1.20
14LS09 28 7115163 - .70 LM 319 .95
21 74L5155 - . 70 LM 324 - 1.05
711570 )41511 - 21 74L5156 - . 70 LM 339 - 1.to
)11513
.44 741116 1 - .7 2 184 358 - 1 w
74LS15
26 7415180 - 88 LM 370 - 1.15
85 LM ]]) - 2.60
741520 24 )115181 ]41521 - 28 74LS162 - .85 LM 380 - .95
741S22
- . 26 74L8104 - 85 LM 381 - 1.2$
741570 32 74LSIOS - 88 LM 382 1.25
)4LS2] - .32 14LSi6I - . BS IM637 -280
741530 26 74151 )0 180 LM 663 - 2.50
74LS32
32 74LS1 7 3-1.10 184866 -.39
)11531 32 741S174 - 1.00 LM 658 - 85
)41538
3 2 )4151 ) 5 - 80 NE6401 -3.25
741540 - 28 ]415190 - . 95 560 - 2.00
95 565 - .86
741542 - 65 7411191 74154 7 - . 79 7015192 - 99
565 -1.26
561 - 1.30
- % ] 41St B3 - .%
711951
95 703 - .90
]41551
26 )4131% )41590
741574
)415)8
415
16
74 LS B6
4590
741593
74L110
7415109

- 95 )415198 - .%
- .36 74LS197 - .96
- .36 7418221 -125
- 1.30 74L9261 .- .70
- ) 415268- 70
.
55 )415279 - .65
56 1415386 - .55
- .
55 )415388 - .56
- .3
8 )41$36) - .55
)415112 - 3B 7415494 - 55
7415114 - .
38 7415390 - 1 M
)115124 - a8
)415125 - . 7 MC 14680- 1.35

710 35
7 4C pr V .31
)47 .85
LM 1710 -7.50
1158
%
14W
50
340046 - 49
8900 99
893833 1.99
1
791 .95
1.]5
1-r-

SCR'S

TRIALS
PRV 1A 10A 25A

1.5A 6A 35A

100 .40 70 1.30


200 .70 110 1.75
400 1.10 1 .60 2.50
600 1.70 1
_-3& 0

.40 .50 1.20


1.00 1.20 2.20

WE SHIP OVER 95%


OF OUR ORDERS THE
DAY WE RECEIVE THEM

BYTE May 1978 207

Header Service

To get further information on the products advertised in BYTE, fill out the reader service cord with your name and address. Then circle the
appropriate numbers for the advertisers you select from the list . Add a 13 cent stomp to the card , then drop it in the mail. Not only do you
gain information , but our advertisers are encouraged to use the marketp lace provided by BYTE . This helps us bring you a bigger BYTE.

Inquiry No. Page No. Inquiry No .


2
3
4
5
6
10
14
15
21
25
22
26
27
28
29
30
31
32
35
139
36
37
40
45
50
61

AAA Chicago Computer Center 178


Advanced Interactive Systems 183
AJA Software 167
Alpha Digital 44
American Technologies 161
Anderson Jacobson 71
AP Products 58
Apple Computer 20, 21
Artech House 160
Atwood Enterprises 180
Audio Engineering 171
Automatic Hardware 87
AVR Electronics 183
Barnes Electronics 179
Basic Computer Shop 181
Beckian Enterprises 185
Berg Publications 114
Beta Business 183
BITS Inc 96, 156 , 157, 169
Buss 142
California Applied Technology 170
California Industrial 191
Canada Systems 168
Central Data 65
Centronics 67
Computalker 51

65 Computer Corner 179


70
71
72
75
73
73

Computer Enterprises 158


Computer Factory 142
Computer Hardware Store 181
Computerland 136, 137
Computer Mart of NJ 58
Computer Mart of PA 58

76 Computer Stop 183


77
78
74
79
80
81
41

Computer Systems Store 183


Computer Warehouse Store 185
Contractors' Management 141
Creative Software 181
Cromemco 1, 2
Cybermate 175
Dal - Data Inc 176

82 Databyte 155
Digital Equipment Corp 145

90 Digital Group 37
91
95
100
101
102
103

Digital Pathways 167


Digital Research (CA) 170
Digital Research (TX) 193
Digital Service & Design 181
dilithium Press 164
Don Alan Enterprises 174

110 Dynabyte 93
111

Page No.

Inquiry No. Page No.

112 Ed-Pro 172


115 Electrolabs 182
120 Electronic Control Technology 160
125 Electronic Systems 195
130 Electronics Warehouse 197
131 EMM Semi Inc 166
133 Entelek 183
135 Extensys 19
140 Forethought Products 176
145 Gallaher Research Inc 174
151 Hamilton Logic Systems 179
155 DC Hayes 162
160 Heath Company 48, CIV
170 Hobby World 177
171 Home Computer Centre 181
175 IMSAI CIII
176 INFO 2000 75
177 Information Terminals 13
178 Innotronics 165
179 Integrand 173
180 Integrated Circuits Unlimited 199
185 International Data System 143
194 J & E Electronics 178
195 Jade 188
200 James Electronics 200, 201
202 Robert C Kelly 175
205 Lear Siegler 69
216 Lintech Electronics 178
214 LMN Electronics 203
215 Logical Services 152
217 Manchester Equipment 183
220 Meca 111
225 Micro Diversions 81
235 Micropolis 134
236 Micropolis 135
Micro- Puzzles 181
240 Microware 144
241 Micro-Ware Limited 179
242 Mikos 187
250 Mini Micro Mart 147
251 Mini Micro Mart 153
260 Mountain Hardware 15

265 mpi 164


270
274
275
276
280
281
285
286

MSD 125
National Corporate Sciences 162
National Multiplex 78
NCC 78 119
Netronics 151
Norahs -Sirhc & Associates 179
North Star Computer 5, 29
Northwest Microcomputing Sys 39

.
291
292
294
296
297
298

Ohio Scientific Instrument 40, 41, 42, 43


Oliver Advanced Engineering 168
Osborne & Associates 117
Owens Associates 179
Pacific Digital 169
Pacific Office Systems 187
Page Digital 189
PAIA Electronics 163

299 PerCom Data 148


300
301
302
303
.
305
306

Peripheral Vision 103


Personal Computing Co 183
Pers & Small Business Computer Expo-South 172
Personal Software 171
PolyMorphic Systems 25
Processor Technology 6, 7, 8, 9
PW 165

307 Quest Electronics 189


.

Radio Shack 55

309 Raeco 179


311
312
313
310
316
'
315
317
318
319
320
330
335
340
345
346
350
351
352

Rotundra Cybernetics 179


S-100163
S & R Electronics 183
Scelbi 107
Scelbi /BYTE Primer 121
Scientific Research 23, 31
SD Computer Products 205
Seattle Computer Products 95
Semiconductor Circuits 149
Michael Shrayer Software 105
Smoke Signal Broadcasting 91
Software Records 166
Solid State Music 45
Solid State Sales 207
Solid State Time 146
Soroc 59
Southwest Technical Products Corp CI I
Structured Systems Group 154
Sunshine Computer Co 140

355 Synchro Sound 138, 139


360
365
370
380
381
382
384
383
385
395
400
405

Tarbell Electronics 27
Technical Design Labs 47
Technical Systems Consultants 115
Trace Electronics 73
uPMEM 179
US Robotics 181
Vamp Inc 181
Vector Electronics 159
Vector Graphic 101
Worldwide Electronics 181
Xitex 150
Xybek 161

Echo Design 150


'Correspond directly with Company

ELMS EV II' Lagcial Mceiar. Ec%


Article No.

Brains Take BOMB-Again


ARTICLE

1 Egbert : The Photograph Is Also a Hard Copy


2 Walters- Harris : Graphics in Depth : 3-D Adds a New Dimension
3 Fylstra : Convert Your TV Set to a Video Monitor
4
Ruple : Product Description : The Matrox ALT-256 Video Board
Dwyer -Critchfield : Color Graphics on the Compucolor 8051
5
6 Bowles : UCSD PASCAL: A Machine Independent Software System
7
Gottlieb : Hidden Line Subroutines for 3 Dimensional Plotting
8 Webster-Young : GRAPH : A System for Television Graphics : Part 1
9 Weinstein : A Programmable Character Generator , Part 1 : Hardware
10 Moseley : A Low Cost Light Wand Amplifier
11 Ciarcia : Tune In and Turn On: Part 2
12 Bryant-Swasdee : How to Multiply in a Wet Climate : Part 2

208 May 1978 BYTE Publications Inc

PAGE
10
16
22
24
32
46
49
62
79
92
97
104

Readers voted first place in the BOMB to


"The Brains of Men and Machines" for the
second month in a row. Part 2, entitled
"How the Brain Controls Outputs," page
84, placed 1.7 standard deviations above
the mean. Second prize goes to Webster and
Young for "Add a $3 Light Pen to Your
Video Display," page 52, which placed 1.1
standard deviations above the mean. Prizes
of $100 and $50 will be awarded to the
respective authors..

BATE

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

Name _

NOTE-If label is missing or defaced fill out coupon carefully


-PLEASE PRINT- this is only way to get requested material

Address

to you.

City

41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60

61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80

4158

SE RVICE

For fastest service transfer mailer label from wrapper


to coupon provided at the right. Requests cannot be
honored unless zip code is given. This card valid for
90 days only.

21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40

May 1978

READER

(Title) (Company)

Zip

State

81 101 121 141 161 181 201 221 241 261.281 301 321 341 361 381 401 421 441 461 481 501
82 102 122 142 162 182 202 222 242 262 282 302 322 342 362 382 402 422 442 462 482 502
83 103 123 143 163 183 203 223 243 263 283 303 323 343 363 383 403 423 443 463 483 503
84 104 124 144 164 184 204 224 244 264 284 304 324 344 364 384 404 424 444 464 484 504
85 105 1 25 145 165 185 205 225 245 265 285 305 325 345 365 385 405 425 445 465 485 505
86 106 1 26 146 166 186 206 226 246 266 286 306 326 346 366 386 406 426 446 466 486 506
87 107 127 147 167 187 207 227 247 267 287 307 327 347 367 387 407 427 447 467 487 507
88 108 128 148 168 188 208 228 248 268 288 308 328 348 368 388 408 428 448 468 488 508
89 109 129 149 169 189 209 229 249 269 289 309 329 349 369 389 409 429 449 469 489 509
90 110 130 150 170 190 210 230 250 270 290 310 330 350 370 390 410 430 450 470 490 510
91 111 131 151 171 191 211 231 251 271 291 311 331 351 371 391 411 431 451 471 491 511
92 112 132 152 172 192 212 232 252 272 292 312 332 352 372 392 412 432 452 472 492 512
93 113 133 153 173 193 213 233 253 273 293 313 333 353 373 393 413 433 453 473 493 513
94 114 134 154 174 194 214 234 254 274 294 314 334 354 374 394 414 434 454 474 494 514
95 115 135 155 175 195 215 235 255 275 295 315 335 355 375 395 415 435 455 475 495 515
96 116 136 156 176 196 216 236 256 276 296 316 336 356 376 396 416 436 456 476 496 516
97 117 137 157 177 197 217 237 257 277 297 317 337 357 377 397 417 437 557 517 497 517
98 118 138 158 1 78 198 218 238 258 278 298 318 338 358 378 398 418 438 458 478 498 518
99 119 139 159 179 199 219 239 259 279 299 319 339 359 379 399 419 439 459 479 499 519
100 120 140 160 180 200 220 240 260 280 300 320 340 360 380 400 420 440 460 480 500 520

MENTION

FATE

Fill

521 541
522 542
523 543
524 544
525 545
526 546
527 547
528 548
529 549
530 550
531 551
532 552
533 553
534 554
535 555
536 556
537 557
538 558
539 559
540 560

561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580

581 601 621 641


582 602 622 642
583 603 623 643
584 604 624 644
585 605 625 645
586 606 626 646
587 607 627 647
588 608 628 648
589 609 629 649
590 610 630 650
591 611 631 651
592 612 632 652
593 613 633 653
594 614 634 654
595 615 635 655
596 616 636 656
597 617 637 657
598 618 638 658
599 619 639 659
600 620 640 660

WHEN WRI TIN G TO AD VERTISE RS

BOMB: BYTE' , Ongoing Monitor Box 4158

SUBSCRIPTIONS

4158
BYTE s BOMB

For a subscription to BYTE, please complete this card.

^ voce d,,ect he to the editor s desk

the two top r,,led author receive

Each month.

bonuses based on your votes To

use this card, refer to the list of authors,

tales, and corresponding

BOMB art icle numbers on the opposite page Then rate each article on
a scaly from 0 to 10 below by circling the appropriate rating number

Name

to the right of

each BOMB article number

Your feedback helps us

produce the best possible magaline each month

Address

BOMB
Article
Number Poor

City
State Zip Country

USA Canada
Mexico
1 year
O 2 years
3 years

$15
$27
$ 39

$17.50
$32.00
$46.50

O $25 Europe (air freight) payment enclosed


$25 Elsewhere (surface mail) payment enclosed
(Air mail rates available upon request)

Check enclosed ( Bonus : one EXTRA issue


-- receive 13 issues for the price of 12)

11 VW1
Card No.

Comments

Expiration date

Four digits above name -- Master Charge only


Signature
Please allow eight weeks for processing.

Date

Thank

OC/

........ Rating ........


Fair
2 3

Good Very Good Excellent Wow!


4

PLACE
STAMP
HERE

(I II

READER SERVICE

PO Box 319
Dover NJ 07801
USA

.1

2
O

co
w

rn
L

00

_
rn > D
m ^ m

Experience
the excitement of owning the world's
finest personal computer
IMSAI 8080
Waiting for you-all the incredible
performance and power of the
IMSAI 8080. And at a price you
would normally pay for a fine
home music system.
Introduced more than two years
ago, the IMSAI 8080 is sold worldwide and acknowledged as the
finest personal computer available.
WORLD OF USES
The IMSAI 8080 is a superbly
engineered, quality computer. It is
versatile, expandable and powerful, putting literally hundreds of

applications and uses at your


fingertips. Imagine sitting at your
desk and enjoying interaction with
your IMSAI 8080! Press the on
switch and you're ready for game
playing, research, education, business applications, or for laboratory
instrument control. It has all the
power you need, and more, to make
your application ideas come alive.
GROWS WITH YOU
The IMSAI 8080 is designed for
many years of pleasure. With its
open-chassis engineering you can
expand your system by adding
peripherals and interfaces. The 22slots and 28 amp power supply
mean that you can plug-in today's,
plus tomorrow's modules.
Right now you can add a module

for displaying line graphics and


characters on TV ; a ready-to-use
keyboard ; small and large printers,
and a single interface that lets
you attach multiple devices . Expect
the latest , exciting equipment from
IMSAI. We are committed to leadership in this expanding technology.
EASY TO PROGRAM
Choose your language, BASIC,
FORTRAN, ASSEMBLER. We
have them all! With advanced text
editing and file management, you
can program sophisticated and
unique applications , limited only by
your imagination.

If you' re thinking personal computer,


treat yourself to the very bestIMSAI 8080
Call or write for name of nea est
dealer.

M24

The Standard of Excellence


in Microcomputer Systems
IMSAI Manufacturing Corporation
14860 Wicks Blvd.
San Leandro, CA 94577
(415) 483-2093 TWX 910-366-7287

Circle 175 on inquiry card.

This ambit mach ine,


by itself, is as versatile
as a lot of systems
that include pe ripherals

orientation allows you an almost


unlimited opportunity for growth.
Memory is fully expandable, the
8080A CPU extremely versatile,
and with the addition of high speed
serial and parallel interfacing
you gain the added flexibility of
I/O operation with tape, CRT consoles, paper tape reader/punches,
and soon floppy disk systems!
The H8 offers superior documentation including complete step-bystep assembly and operation
manuals, is backed by 54 years of
Heath reliability, and comes
complete with BASIC, assembler,
editor, and debug software others charge over $60 for!
H8, simplicity for the
beginner, sophistication for the expert
and at $375* just right
for you.

Skeptical? For starters, because of its


unique design
the H8 is the
only machine
Memory Display
in its price
class that

offers full
system inteRegister Display
gration,yet,
with just 4K of
memory and
I/O Port Display
using only
its "intelligent"
front panel for I/O, may be operated
completely without peripherals!

*Prices are mail


order net FOB,
Benton Harbor,
Michigan.
Prices and
specifications
subject to
change witho.notice.

COMPUTERS
System Engineered
for Personal Computing

In addition, by using the features of


its built-in Pam-8 ROM panel
control program, the H8 actually
allows you to dig in and examine
machine level circuitry.
Be sure to use coupon on
page 48 of this magazine
to order your FREE
Heathkit Catalog!

Responding to simple instructions


the "intelligent" panel displays
memory and register contents, lets
you inspect and alter them even
during operation. And for greater
understanding, the front panel
permits you to execute programs a
single instruction at a time. The
result is a powerful, flexible learning tool that actually lets you "see"
and confirm each detail of H8's
inner workings.
If you need further evidence, consider the fact that H8's system
Circle 160 on inquiry card.

You might also like