Skip to main content

Full text of "Kilobaud Microcomputing Magazine (April 1980)"

See other formats


Aprtkl 980 
S2.5T 







for business . . . education . . . FUN! 



ireen-Thumb 
lomputing 

computerized 
ornucopia. P. 24 

AP! 

auses and 
jres of static 
lectricity. P. 54 

Ian from C.P.U. 

look at 

n'crocomputing's 
9amier side. P. 102 

o-AII-Plus 

BASIC program 
>r a variety of 
ata management task 
. 164 

etter Beeper 

dd audio 
?edback to your 
Dmputer keyboard. P. ! 









6809 PROCESSING POWER.' 

The Percom SBC/9" . Only $1 99.95. 




Fully compatible with tie SS-50 
requiring no modification of tj^mother 
board, memory or I 
SBC/9 1 " is also d coprftlete, single- 
board control conWfer with its own 

ROM operatingf^ystefiPv~-BAM ? 
peripheral ports and a full-range bau 
clock generator. 



Make the SBC/9 the heart of your computer and put to work 
the most outstanding microprocessor available, the 6809. 



the Mighty 6809 

Featuring more addressing modes 
than any other eight-bit processor, 
position-independent coding, special 
16-bit instructions, efficient argu- 
ment-passing calls, autoincrement/ 
autodecrement and more, it's no won- 
der the 6809 has been called the "pro- 
grammers dream machine." 

Moreover, with the 6809 you get a 
microprocessor whose programs typ- 
ically use only one-half to two-thirds as 
much RAM space as required for 6800 
systems, and run faster besides. 

And to complement the extraordi- 
nary 6809, the Percom design team 
has developed PSYMON", an extraor- 
dinary 6809 operating system for the 
SBC/9™. 

PSYM0N" — Percom SYstem MONitor 

Although PSYMONT includes a full 
complement of operating system 
commands and 15 externally callable 

"trademark of Percom Data Company, Inc. 



utilities, what really sets PSYMON™ 
apart is its easy hardware adaptability 
and command extensibility. 

For hardware interfacing, you 
merely use simple, specific device 
driver routines that reference a table of 
parameters called a Device Control 
Block (DCB). Using this technique, in- 
terfacing routines are independent of 
the operating system. 

The basic PSYMON™ command 
repertoire may be readily enhanced or 
modified. When PSYMON~ first re- 
ceives system control, it initializes its 
RAM area, configures its console and 
then 'looks ahead' for an optional sec- 
ond ROM which you install in a socket 
provided on the SBC/9 1 " card. This 
ROM contains your own routines that 
may alter PSYMON™ pointers and 
either subtly or radically modify the 
PSYMON™ command set. If a second 
ROM is not installed, control returns 
immediately to PSYMON™ 



Provision for multi-address, 8-bit bidirec- 
tional parallel I/O data lines for interfac- 
ing to devices such as an encoded 
keyboard. 

A serial interface Reader Control output 
for a cassette, tape punch/reader or simi- 
lar device. 

An intelligent data bus: multi-level data 
bus decoding that allows multiprocess- 
ing and bus multiplexing of other bus 
masters. 

Extended address line capability — ac- 
commodating up to 16 megabytes of 
memory — that does not disable the on- 
board baud rate clock or require addi- 
tional hardware in I/O slots. 
On-board devices which are fully de- 
coded so that off-card devices may use 
adjoining memory space. 
Fully buffered address, control and data 
lines. 



The SBC/9", complete with PSYMON~in 
ROM, 1K of RAM and a comprehensive 
users manual™ costs iust $199.95. 



PEFCCM 



s 1 



PERCOM DATA COMPANY. INC. 

211 N KIRBY GARLAND. TEXAS 75042 
(214)272-3421 

Percom 'peripherals for personal computing 9 



To place an order or request additional literature 
call toll-free 1-800-527-1592. For technical infor- 
mation call (214) 272-3421 . Orders may be paid by 
check, money order, COD or charged to a VISA or 
Master Charge account. Texas residents must add 
5% sales tax. 

PRICES AND SPECIFICATIONS SUBJECT TO CHANGE WITHOUT NOTICE 



TM 



X. NTRTEC DATA SYSTEMS SUPRBRAIN 



ii i 1 




The Honor Graduate 



There's been a lot of talk lately 
about intelligent terminals with 
small systems capability. And, it's 
always the same. The systems 
which make the grade in perfor- 
mance usually flunk the test in 
price. At least that was the case 
until the SuperBrain graduated with 
the highest PPR (Price/ Perfor- 
mance Ratio) in the history of the 
industry. 

For less than $3,000*, SuperBrain 
users get exceptional performance 
for just a fraction of what they'd 
expect to pay. Standard features in- 
clude: two dual-density mini-flop- 
pies with 320K bytes of disk storage, 
up to 64K of RAM to handle even 
the most sophisticated programs, 
a CP/M Disk Operating System 
with a high-powered text editor, as- 

*Quantity one. Dealer inquiries invited. 



sembler and debugger. And, with 
SuperBrain's S-100 bus adapter, you 
can even add a 10 megabyte disk! 

More than an intelligent terminal, 
the SuperBrain outperforms many 
other systems costing three to five 
times as much. Endowed with a 
hefty amount of available software 
(BASIC, FORTRAN, COBOL), the 
SuperBrain is ready to take on your 
toughest assignment. You name it! 
General Ledger, Accounts Receiv- 
able, Payroll, Inventory or Word Pro- 
cessing . . . the SuperBrain handles 
all of them with ease. 

Your operators will praise the 
SuperBrain's good looks. A full 
ASCII keyboard with a numeric key- 
pad and function keys. A non-glare, 
dynamically focused, twelve inch 
screen. All in an attractive desktop 
unit weighing less than a standard 



office typewriter. Sophisticated 
users will acclaim SuperBrain's twin 
Z-80 processors which transfer data 
to the screen at 38 kilobaud! Inter- 
facing a printer or modem is no 
problem using SuperBrain's RS- 
232C communications port. But best 
of all, you won't need a PhD in com- 
puter repair to maintain the Super- 
Brain. Its single board design makes 
servicing a snap! 

So don't be fooled by all the fresh- 
man students in the small systems 
business. Insist on this year's honor 
graduate . . . the SuperBrain. 



INTE3TEC 



=1 [=IINIt< 

3 C DATA 

=1 ctcvcrn 



SYSTEMS 



® 



2300 Broad River Road, Columbia, SC 29210 
(803) 798-9100 TWX: 810-666-2115 



At Intersystems, 

"dump" is an instruction. 

Not a way of life. 

[Or, when you're ready for IEEE S-100, will your 

computer be ready for you?] 




We're about to be gadflies again. 

While everyone's been busy 
trying to convince you that large 
buses housed in strong metal 
boxes will guarantee versatility 
and ward off obsolescence, we've 
been busy with something better. 
Solving the real problem with the 
first line of computer products 
built from the ground up to con- 
form to the new IEEE S-100 Bus 
Standard. Offering you extra ver- 
satility in 8-bit applications today. 
And a full 16 bits tomorrow. 

We call our new line Series 
III M And even if you don't need the 
full 24-bit address for up to 16 
megabytes (!) of memory right 
now, they're something to think 
about. Because of all the perform- 



ance, flexibility and economy 
they offer. Whether you're looking 
at a new mainframe, expanding 
your present one or upgrading 
your system with an eye to the 
future. (Series II boards are com- 
patible with most existing S-100 
systems and all IEEE S-100 Stan- 
dard cards as other manufacturers 
get around to building them.) 

Consider some of the fea- 
tures: Reliable operation to 4MHz 
and beyond. Full compatibility 
with 8- and 16-bit CPUs, pe- 
ripherals and other devices. Eight 
levels of prioritized interrupts. Up 
to 16 individually-addressable 
DMA devices, with IEEE Standard 
overlapped operation. User-selec- 
table functions addressed by DIP- 
switch or jumpers, eliminating sol- 
dering. And that's just for openers. 

The best part is that all this 
heady stuff is available now\ In 
our advanced processor — a full 
IEEE Bus Master featuring Memory 
Map™ addressing to a full mega- 
byte. Our fast, flexible 16K Static 
RAM and 64K Dynamic RAM 
boards. An incredibly versatile and 



economical 2-serial, 4-parallel 
Multiple I/O board. 8-bit A/D-D/A 
converter. Our Double-Density 
High-Speed Disk Controller. And 
what is undoubtedly the most flex- 
ible front panel in the business. 
Everything you need for a com- 
plete IEEE S-100 system. Available 
separately, or all together in our 
new DPS-1 Mainframe! 

Whatever your needs, why 
dump your money into obsolete 
products labelled "IEEE timing 
compatible" or other words peo- 
ple use to make up for a lack of 
product. See the future now, at 
your Intersystems dealer or call/ 
write for our new catalog. We'll 
tell you all about Series II and the 
new IEEE S-100 Bus we helped 
pioneer. Because it doesn't make 
sense to buy yesterday's products 
when tomorrow's are already here. 

Ithaca Intersystems Inc., 
1650 Hanshaw Road/RO. Box 91, 

Ithaca, NY 14850 
607-257-0190/TWX: 510 255 4346 




kilobaud 



MICROCOMPUTING 

contend apr '80 



ARTICLES 

24 Green-Thumb Computing Plan your garden by computer. Robert H. Rhoades 

28 Analog-tO-Digital Conversion A $5 converter for COSMAC. Allan Redstone 

34 The BASIC Programmer's Toolkit Report on Nestar's Toolkit Tom Hayek 

38 Programming the Z-80 Part 2 tells you how to write programs. Pat Macaluso 

46 Conjure Up a GET Command for Sorcerer input is a pain in the return c Kevin McCabe 

50 5 Interesting Solve problems resulting from textbook formulas. Sid Owen 

54 Don't Give Me Any Static Avoid static-electricity damage. Jess Kanarek 

58 Take a Letter, Ms. TRS-80 Computer composition of letters. Dr. Jack N. Adams 

67 A Better Troubleshooting Aid Find problems in a "shot" computer. David Barnhart 

70 Interfacing a Diablo HyType I to an SWTP 6800 Use hardware and software. Phil Hughes 

80 Dial-up Directory An interview with the Chicago CBBSers. Frank J. Derfler, Jr. 

84 DOC: a Multipurpose Utility Package For your North Star system Charles Alliston 

88 SCREEN An original data-base management system. Forest E. Myers 

92 Fast Apple Peripherals Interface serial printers to the Apple. Bruce S. Chamberlain 

98 $10 ClaSSy Chassis Make your own metal frame for your micro. John Gledhill 

100 TRS-80 Serial I/O for LeSS Use Electronic Systems' I/O board. Stephen Gibson 

102 The Man from C.P.U. A computer gumshoe wraps up case. Fred LaPointe 

106 Meet the Paper Tiger Evaluation of IDS's impact printer. George H. Brooks 

111 RCA'S VIP Tiny BASIC Software for 1802 users. Larry Dolce 

114 8080 Program Loader/RelOCator The "CONOPS" series continues. Chesney E. Twombly 

118 Get Started With MicroStart A tool for CPU experimentation. Ralph Jenny 

132 Lowercase for the TRS-80 It's simpler than you think. Steven Wexler 

136 The SWTP Computer System SWTPs 32K dynamic memory board. Peter A. Stark 

142 Accurate Voltage Dividers Fast and facile. Robert H. Penoyer 

146 KIM Vari-Stepper Proceed at your own pace. Larry M Tannenbaum 

148 A Poor Man's Computer Paintbrush Worth the time it takes Lee Wilkinson 

157 Time at a Glance on Your TRS-80 computer cum clock. Dave Rose 

164 Do-AII-PIUS Better than the original Do-AII Thomas E. Doyle 

172 PET'S Librarian Create your own subroutine library. D. J. David 

MA Instruction Sets Examined and Compared Part 2. registers Hal r. Gordon 

182 5 Partnership Liquidation — before the Fact Painless l. case, r. Jennings 

186 Indexing for the PET An index counter for the PET cassette. Jerry Dunmire 

190 Are You Bugged by Memory Errors? Program them away John r stanton 

200 Audio Feedback for Computer Keyboards Improve your typing. George Young 

202 Build a Home for Your Superboard II Have home, win travel. Peter g Hitt 

206 Budget-Minded A/D Converter Make your 8080 a thermometer. W. Delinger, R. Petkiewicz 

213 Quiz Whiz Teachers, try this testing program. 7". Hines, J. Russell, R. Collins 

216 The Mighty Five-Way Power Supply Easy -to-buiid. Don waiters 



DEPARTMENTS 

Publisher's Remarks — 6 

Output from Instant Software, Inc.— 7 

Books— 7 

PET-pourri— 9 

Corrections— 14 

New Products— 15 



Computer Clinic— 18 
Letters— 20 
Dealer Directory— 226 
Classifieds— 228 
Club Notes— 239 
Calendar— 240 



Cover: Photographed by Reese Fowler; consumed by Microcomputing staff. 



micro info 



IE This symbol next to a title in 
* the table of contents indicates 
that the article is a business- 
application article. 

Manuscripts 

Contributions in the form of manu- 
scripts with drawings and/or photo- 
graphs are welcome and will be con- 
sidered for possible publication. We 
can assume no responsibility for loss 
or damage to any material. Please 
enclose a self-addressed, stamped 
envelope with each submission. Pay- 
ment for the use of any unsolicited 
material will be made upon accep- 
tance. All contributions should be di- 
rected to the Microcomputing 
editorial offices. "How to Write for 
Microcomputing" guidelines are 
available upon request. 

Editorial Offices: 

Pine Street 

Peterborough NH 03458 

Phone: 603-924-3873, 924 3874 

Advertising Offices: 

Pine Street 

Peterborough NH 03458 

Phone: 603-924-7138, 924 7139 

Circulation Offices: 

Pine Street 

Peterborough NH 03458 

Phone: 603-924 7296 

To subscribe, renew 
or change an address: 

Write to Microcomputing, Subscrip- 
tion Department, PO Box 997, Farm- 
ingdale NY 11737. For renewals and 
changes of address, include the ad- 
dress label from your most recent 
issue of Microcomputing. For gift 
subscriptions, include your name and 
address as well as those of gift recip- 
ients. Postmaster: Send form #3579 
to Microcomputing, Subscription Ser- 
vices, PO Box 997, Farmingdale NY 
11737. 

Subscription 
problem or question: 

Write to Microcomputing, Subscrip- 
tion Department, PO Box 997, Farm- 
ingdale NY 11737. Please include an 
address label. 



Kilobaud Microcomputing (ISSN 
0192-4575) is published monthly by 
1001001, Inc., 80 Pine St., Peterbor- 
ough NH 03458. Subscription rates in 
U.S. are $18 for one year and $45 for 
three years. In Canada: $20 for one 
year and $51 for three years. In 
Europe, send 89,-DM in Eurocheque 
or send credit card information to: 
Monika Nedela, Markstr. 3, D-7778 
Markdorf, W. Germany. South African 
Distributor: KB Microcomputing, PO 
Box 782815, Sandton, South Africa 
2146. All other foreign subscriptions 
are $23 — one year only (surface mail). 
Second-class postage paid at Peter- 
borough NH 03458 and at additional 
mailing offices. Phone: 603-924-3873. 
Entire contents copyright 1980 by 
1001001, tnc. No part of this pub- 
lication may be reprinted or otherwise 
reproduced without written permis- 
sion from the publisher. 



Microcomputing, April 1980 5 




Impact of "80" 

The success of 80 Microcomputing has been 
gratifying, particularly in contrast to the failure 
of other new microcomputer magazines in re- 
cent months. We printed 50,000 of the first is- 
sue, and those are rapidly disappearing as deal- 
ers order and reorder. 

There were two reasons for starting the new 
magazine. One was the growing amount of in- 
formation about the TRS-80 which needed to 
be published. Microcomputing was publishing 
more TRS-80 material than the other major 
magazines, and still was not keeping up. It 
looked as if the TRS-80 might push all the other 
systems out of the magazine. Now, with "80," 
it is possible for Microcomputing to concen- 
trate more on the Apple, PET, Heath and other 
fine microcomputer systems. This will benefit 
the industry and the readers. 

The other reason was keeping ad costs rea- 
sonable. High ad costs keep many new and 
small firms out of the business. Splitting the 
coverage of the market into two magazines al- 
lows us to keep ad rates for each low enough to 
encourage new firms to start and flourish. 

What does this mean to you, the reader? It 
means you'll find a wider selection of new and 
innovative products advertised in Microcom- 
puting. The lower-cost advertising means you'll 
have a wider range of products from which to 
select, many available only on a mail-order ba- 
sis until their volume grows to where dealers 
can handle the product with confidence . . . 
and at a profit. 

In terms of getting interesting reading mate- 
rial, what does the split mean to subscribers? A 
rough count of the number of article pages 
shows the January issue of Microcomputing 
with 94 pages, the January issue of 80 Micro- 
computing with 71 pages and the January is- 
sue of Byte with 85 pages. The reader of Mi- 
crocomputing and "80" ends up with 165 
pages of articles, almost double the number 
the Byte reader gets, and Byte tends to ignore 
the TRS-80. So does onComputing, Byte's 
new publication. 



It Is Still a Hobby 

Despite persistent rumors that IBM will soon 
announce a microcomputer system, I am not 
surprised by delays. If I were the sales manager 
of a major firm about to enter the microcom- 
puter market I would have qualms about jump- 
ing in right now. 

First, I would evaluate the competition by 
getting a TRS-80 and the available software for 
it . . . same for the Apple and perhaps a couple 



others. I would check out the available systems 
from the viewpoint of a businessman. My re- 
port would conclude that there is little of value 
available for business so far. 

I'd also read over the magazines published 
for the field and see what business systems 
they'd reviewed. My finding virtually nothing 
would tell me something. 

If the largest hardware firms in the business 
still have been unable to generate any reliable 
and useful business software, obviously the 
sales so far, no matter what dealers say, have 
been mostly to hobbyists or people who have 
been given a con job. 

I've seen the reports in magazines that some 
dealers are selling 50 percent of their systems 
for business purposes. If this is true, let's see 
some reports from users. 

Having worked with Instant Software for 
almost two years, I know what it takes to sort 
through already written software and publish 
it. I don't think any systems manufacturers 
have the people and facilities ISI has, so I doubt 
if any of them can produce as much good soft- 
ware. The day will come when the public 
realizes that no hardware can do anything 
unless it is supported by a lot of software. 



save a lot of time and expense for a firm that 
wants to liquidate. 

We can use just about any hardware — com- 
plete systems, memories, chips, I/O boards, 
printers, terminals, modems — and software of 
almost any kind. We need test equipment, 
disks, tapes, instruction books, publications 
. . . you name it. 

Our laboratory is, I believe, the best 
equipped microcomputer lab in the world, 
and we want it to be even better. We want to 
be able to check out and report on any soft- 
ware ... to be able to check and use any ac- 
cessories. This is helpful to manufacturers 
and the programmers, and it's valuable to 
every reader. The better informed we are, the 
better the magazine will be. 



Looking to Buy 

If you know of any firms or dealers who are 
going out of business, let them know that we 
want to hear from them. With our lab expand- 
ing at such a rapid pace, we need a lot of equip- 
ment. I'd like a chance to put in a bid for the 
whole works: lock, stock and barrel. This can 



Maryland Computerfest 

The only Eastern computerfest at which I 
am scheduled to give a talk this year is in the 
Baltimore area on March 30th at the Mary- 
land State Fairgrounds in Timonium. This 
combination computerfest/hamfest will fea- 
ture computer and ham exhibits and a large 
flea market, plus prizes and talks. 

I'm really looking forward to the oppor- 
tunity to get together with readers in the 
Washington-Baltimore area, answer ques- 
tions and tell you where I think things are go- 
ing (and how to take advantage of it). I'll be 
interested in talking about what you like or 
would like to see in Kilobaud and "80," and 
bring you up to date on the action at Instant 
Software. 



Prime Troubles . . . Again! 

Again I have to offer apologies to readers who have been inconvenienced by problems 
with our Prime computer. This time it has to do with Reader Service requests for the last 
three months. We'll have a new system up and running for the April issue, but service prob- 
lems with the Prime have delayed earlier responses. A recent letter to the president of Prime 
asking for help with our Prime problems was answered, not by their service department, but 
by their legal department. 

The problems with the Prime have forced us to put our repeater lists on a TRS-80 system 
so we can update the 73 Magazine list of the world's repeater stations. We are removing 
even the smaller jobs from the Prime and doing them on TRS-80 systems or a Midwest 
Scientific Instruments microcomputer system. So far the TRS-80 has been far more 
dependable than the Prime, and when we have problems, Radio Shack is cooperative. 

Readers will remember the monumental snafu when we tried to use the Prime for han- 
dling subscriptions, and the whole system ground to a halt. We made tens of thousands of 
readers mad at that time and lost a great deal of subscription income as a result. This, in 
turn, resulted in a substantial loss of advertising revenue. We not only learned an expensive 
lesson, but we have the material for a horror story of how computers can be an expensive 
disaster when they fail in their application. 



6 Microcomputing, April 1980 



Sherry Smythe 



OUTPUT FROM ISI 



State of the Art 



Most programmers are keeping one eye on 
equipment sales, so it is not surprising that 
more software is being written for the TRS-80 
Model I. Radio Shack is probably selling no less 
than all other systems combined. If Radio 
Shack becomes complacent, other systems may 
be able to counter the might of Radio Shack 
merchandising with better hardware, better 
software support and better marketing. 

The Model II TRS-80 is a case in point. Prof- 
its on Model lis aren't attractive; some of the 
hardware is months back-ordered and software 
support is weak. Model II is not now a good bet 
for use in software development on a free-lance 
basis. That will come when there are more users 
and some accessories provided by other manu- 
facturers. 

One manufacturer is about to release a trans- 
lator program that will enable programmers to 
convert TRS-80 software so it can be used on 
his system. The translation will be about 98 per- 
cent complete, leaving programmers with a few 
changes to make by hand. I suggest that any 
programmers capable of handling this type of 
software write translators. These should sell 
well. 

Keep your eyes open for manufacturers who 



plan to take on Radio Shack. It isn't going to be 
easy. Although the Shack does give dealers a 
short markup on computers, the company sup- 
ports them with help at shows and with nation- 
al advertising. 

The key to any long-term increase in sales lies 
in software support. So far, no manufacturer 
has made a serious effort to provide much soft- 
ware. Some day a firm is going to tackle the 
software problem and lay the foundation for 
success. 

In looking over the best-selling ISI programs 
for January, I find the Flight Simulator 
(0017R) way out in front. In second place is 
008 1R, Utility I. In third place is a new pack- 
age, 0106R, Airmail Pilot. Next is 0076R, Utili- 
ty II, followed by 0034R, Trek IV, and then 
0103R, Personal Bill Paying, another new 
package. All are TRS-80 programs. 

The best-selling Apple program was 001 8A, 
Golf. This was followed by 0073A and 0098A, 
the two math-tutor programs. 

Trek-X, 0032P, was the best-selling PET 
program, just nudging out the top-selling Ap- 
ple program and having about one-third the 
sales of the top Radio Shack program. In sec- 
ond place was Dungeon of Death, 0064P; third 
was Dow Jones, 0026P. Despite all the talk 
about the need for business programs, game 
programs continue to be the best-sellers. There 
may be a message there. 



BOOK REVIEWS 



How to Make Money with 

Your Microcomputer 

Merl Miller, Carl Townsend 
Robotics Press, Forest Grove OR 
So ft cover, 152 pages, $6.95 

People are discovering the personal-comput- 
ing hobby. It is only natural that some of these 
hobbyists try to turn their computers into 
money-makers. Is it possible to earn a living 
with a microcomputer? In How to Make 
Money with Your Microcomputer, Miller and 
Townsend point out some of the ways to do it. 

Twelve detailed descriptions of possible 
computer businesses are given. These range 
from writing magazine articles to opening your 



own computer store. They include running a 
service bureau, creating and selling hardware or 
software, writing books, putting on computer 
shows or conventions, becoming a consultant 
and starting a computer repair business. 

All of these suggestions are backed up with 
both pros and cons. The final decision is up to 
you, but this information may help clarify your 
thinking. Establishing, financing and manag- 
ing a business are discussed, as are marketing 
techniques, which may be the most important 
component of a successful business. Examples 
given in each chapter make the discussion easier 
to understand. You won't be able to start a 
business and get rich just from reading this 
book, but it could start you thinking. 

Chapter 1 covers writing articles for micro- 
computer magazines. The basic information 



kilobaud 



MICROCOMPUTING 1 



M 



PUBLISHER/EDITOR 

Wayne Green 

EXECUTIVE VICE PRESIDENT 

Sherry Smythe 

CORPORATE CONTROLLER 

Alan Thulander 

ASSISTANT PUBLISHER/EDITOR 

Jeffrey DeTray 

MANAGING EDITOR 

John Barry 

EDITORIAL ASSISTANTS 

Dennis Brisson 
Susan Gross 

ADMINISTRATIVE ASSISTANT 

Leatrice O'Neal 

PRODUCTION DEPARTMENT 
MANAGER: 

Noel Self 

ASSISTANT MANAGER: 

Robin Sloan 

STAFF: 

Steve Baldwin 

James Butler 

Robert Drew 

Bruce Hedin 

Kenneth Jackson 

Clare McCarthy 

Michael Murphy 

Dion Owens 

Nancy Salmon 

Patrice Scribner 

Susan Symonds 

John White 

TYPESETTING 

Barbara Latti 

Sara Bedell 
Sandie Gunseth 

Mary Kinzel 
Karen Podzycki 

PHOTOGRAPHY 

William Heydolph 

Tedd Cluff 

Terrie Anderson 

Reese Fowler 

PROJECTS EDITOR 

Jim Perry 

BOOK EDITORS 

Chris Brown 
Emily Gibbs 

ASSOCIATE EDITORS 

Frank Derfler, Jr. 

Rod Hallen 

Peter Stark 

Sherm Wantz 

ACCOUNTING MANAGER 

Knud Keller 

CIRCULATION MANAGER 

Debra Boudrieau 

CIRCULATION 

Barbara Block 
Pauline Johnstone 

BULK SALES MANAGER 

Ginnie Boudrieau 

EUROPEAN MARKETING DIR. 

Reinhard Nedela 



ADVERTISING 



Aline Coutu, Mgr. 

Marcia Stone 

Penny Brooks 

Nancy Ciampa 

Louise Holdsworth 

Jerry Merrifield 

Rita Rivard 

Kevin Rushalko 

Hal Stephens 

Phoebe Taylor 



Microcomputing, April 1980 7 



actually pertains to writing articles on any sub- 
ject for any magazine. First you have to find a 
market and determine what kind of articles in- 
terest the market's readers. Then follows a dis- 
cussion of actually writing the article. Such 
topics as outlines, drafts, final copies and il- 
lustrations are covered in detail. Different types 
of articles— how-to, tutorial, hardware, soft- 
ware, book reviews and others — are discussed. 
You will undoubtedly want to use your com- 
puter as a word processor to speed up and im- 
prove the creation and quality of your manu- 
script. Chapter 2 extends this discussion. 

Not all these ideas will appeal or apply to 
you. Your temperament, background, educa- 
tion and other factors rule some of them out. 
On the other hand, one or more of the sugges- 
tions in this book may point your thinking in 
some other direction. The microcomputer busi- 
ness is growing rapidly, and no one knows 
exactly which direction it will take. However, 
there will be thousands of job and income op- 
portunities available in the next few years. How 
to Make Money with Your Microcomputer 
might just get you started in one of them. 

Rod Hallen 
State Dept. 



Digital Image Processing 

Kenneth R. Castleman 

Prentice-Hall, Inc. 

Englewood Cliffs NJ, 1979, $25 

Ken Castleman 's book explains computer 
image processing. While intended as a text 
aimed at graduate students of computer sci- 
ence, two-thirds of the text (sections I and III) is 
understandable to computer hobbyists, pro- 
grammers or engineers. Even if you are put off 
by Fourier transforms or double integrals, 
there is still enough of interest in this book to 
keep you busy dreaming of the things you can 
make your own little computer accomplish 
. . . with a little help. 

It is section II that is heavy in the math de- 
partment. You can skim or skip this section and 
accept the remainder of the text as an overview 
of what is, after all, a math-intensive activity. 
Taken as an overview, the rest of the book is 
still interesting, rewarding and understandable, 
thanks to the author's skill in presenting topics 
in both word descriptions and equations. If you 
want some action as well as understanding, 
though, you'll need some hardware help in ad- 
dition to a copy of this book. 

The first thing you'll need is a video display 
board capable of displaying at least 256 by 256 
pixels of four bits (sixteen levels) of intensity 
and/or color. A few years ago this would not 
have been within the means of even the most 
dedicated hobbyist, but today such hardware is 
available from Matrox and Vector Graphic, to 
name a couple. However, since this involves an 
investment of over a thousand dollars just for 
display hardware, image processing is still for 
the serious experimenter, computer club or 
professional. 

But understanding the magic of image pro- 
cessing operations is within the reach of all of 
us, thanks to this book. In terms understand- 
able to the non-mathematician, Dr. Castleman 



explains the processes used to provide breath- 
taking enhanced views of the other planets and 
their satellites. 

Operations such as the elimination of back- 
ground noise, the enhancement of contrast and 
the detection and enhancement of object edges 
are fully explained in this text. Since most of the 
examples used are in the realm of spacecraft 
camera image processing, you might wonder 
what good the knowledge is for the computer 
hobbyist. Some of the techniques discussed can 
be used by individuals interested in photogra- 
phy or slow-scan TV. 

With more processing power, as will soon be 
available in the 16-bit micros, we can move on 
to the more exotic aspects of image processing: 
rotations, distortion corrections and such. 
Within the confines of the hardware and 
knowledge available to the serious experi- 
menter or computer club is a wealth of inter- 
esting and potentially rewarding activities in the 
realm of image processing that are within reach 
of small computers. Castleman 's text is not a 
how-to-do-it book. For the hobbyist/experi- 
menter it is a dream book filled with intriguing 
ideas. 

Ken Barbier 
Borrego Springs CA 



Introduction to Microprocessor 
System Design 

Harry Garland 

McGraw-Hill, New York, 1979 

Softcover, 192 pages, $10.95 

Here is another book on microcomputers 
whose title leads you to believe it can take you 
from "nowhere" to "somewhere" in a few 
easy lessons. Yet its preface assumes a back- 
ground of "a one-year undergraduate electron- 
ics course or equivalent" and "an introduction 
to computer programming, a familiarity with 
the concept of a stored program and a 
knowledge of the binary number system." But 
even with this background under your belt, the 
"somewhere" you might reasonably expect to 
reach is not very far. 

In chapter 7, "Assembly and High-Level 
Languages," for example, assembly language 
is "covered" in four pages, and PL/M and BA- 
SIC each get two pages! The book does allocate 
24 pages to chapter 6, "Microprocessor 
Machine Language," but much of this is 
"filler": two-page ASCII table and a seven - 
page listing of the binary instruction codes for 
the Z-80/8080/8085 microprocessors. The 
other 15 pages "cover" machine-language pro- 
gramming, machine cycles, registers, address- 
ing modes, stack operations and subroutines. 

Even though the book does not deliver all 
that its title implies, it is not all bad. If it had 
been titled "Introduction to the 8008 Micro- 
processor and Its Descendants" or perhaps 
"Intel and Zilog Microcomputer Hardware 
Systems," or the like, then the contents would 
have matched the title. The present format and 
arrangement of the material are good. 

In addition to the two rather useless chapters 
already mentioned, the other chapters include: 

1 . "Introduction," which begins with a good 
discussion of an ideal microprocessor before 



tackling the nitty-gritty details of real-world 

chips. 

2. "Microprocessor Technology," a discus- 
sion of basic transistor circuitry and of bipolar 
and MOS technology. 

3. "Microprocessor Evolution," which de- 
scribes the 8008, 8080, Z-80, 8748, 8086 and 
Z8000 microprocessors. 

4 and 5. "Basic Microprocessor Hardware" 
and "Expanding the Microprocessor System." 
These are the two "meaty" sections of the 
book, composed mostly of portions of nifty lit- 
tle circuits that help make a microprocessor 
chip function as it should. These include 
3-terminal voltage regulators, clock generators, 
address decoders, status latches, wait -state gen- 
erators, single-steppers and DMAs. Unfor- 
tunately, most of this information seems to be 
copied from various manufacturers' data 
sheets, with a couple of pictures of commercial- 
ly available PC boards thrown in for good 
measure. Both pictures are from Cromemco 
Incorporated, of which the author is president. 

8. "Microprocessor Arithmetic": addition, 
subtraction, multiplication and division in the 
binary number system. Division is "covered" 
in one six-line paragraph, and two exercises are 
left for the reader! 

9. "Analog Interfaces": D/A and A/D, 
again featuring mostly Cromemco equipment 
and photographs. 

10. "Interface Standards," essentially a de- 
scription of the S-100 and IEEE 488 buses and 
the RS-232 communications interface. Again, 
several pictures of Cromemco equipment are 
included. 

In addition to the circuits, the other positive 
feature that impressed me was the section in 
the back of the book which answered the odd- 
numbered problems at the end of each chapter. 
Each chapter had about ten exercises; by per- 
forming them and then checking the answers, 
the reader who is using the book in a non-class- 
room situation can at least determine if he/she 
is learning anything. 

This book appears to have been "cranked 
out" by a university professor who was under 
the Damoclean sword of "publish or perish." 
Why McGraw-Hill, which has numerous good 
books to its credit, would accept a book of this 
sort is beyond my comprehension. 

Myron Calhoun 
Manhattan KS 



Microprocessor Applications 
in Business and Industry 

Marvin Whitbread, Ed. 
Castle House Publications Ltd. 
Kent England 
Softcover, 153 pages, JC9.50 

Microcomputer Applications is the first vol- 
ume of a projected series called "Topics in Mi- 
croprocessing." It is a collection of English- 
language articles reprinted from British and 
American magazines. The editor was formerly 
with the Microprocessor Project of the U.K. 
National Computing Centre. 

The book is divided into five sections. The 
first section presents four introductory articles; 
together they form a primer on software con- 



8 Microcomputing, April 1980 



cepts, hardware concepts and the structure of 
the microprocessor industry. One of the arti- 
cles, reprinted from The Economist, also in- 
cludes an interesting explanation of integrated- 
circuit fabrication. 

Section two is devoted to business applica- 
tions. Of the eight articles in this section, 
among the most revealing (and among the most 
misplaced) is "Owner's Report — The TRS- 
80," a British-eye view of the ubiquitous Radio 
Shack machine. This particular piece is "Verrie 
Britishe" throughout, both in diction and at- 
titude. Of the Radio Shack Level I BASIC 
manual, it complains that it "is written in a 
folksy, 'let's you and me and the computer be 
friends together' style, common in the U.S. but 
which will surely grate on the nerves of some 



customers over here." 

Section three describes industrial applica- 
tions of microcomputers. Most of the articles 
are case studies of factories using computer- 
controlled assembly equipment — in other 
words, industrial robots. Although this section 
is not directly useful to hobbyists and small 
businessmen, the technology involved makes 
stimulating reading. 

Section four covers miscellaneous applica- 
tions ranging from medical care to auto- 
mobiles. I question the relevance of one of edi- 
tor Whitbread's selections here: a Creative 
Computing article about the 1978 Toy Fair. It is 
nothing more than a series of short descriptions 
of new toys and games — both electronic and 
non -electronic. The information may be useful, 



but is this book really the place for it? 

Section five is entitled "Microprocessors and 
Management." The five articles in this section 
deal with varied topics, such as microprocessor 
design techniques, the trade-union view of mi- 
croelectronic automation, and the long-term 
effects of microprocessor proliferation. (The 
latter article is peppered with some wonderful 
sociologist-style buzztalk.) 

The curious novice will find Microprocessor 
Applications interesting, as long as he does not 
expect meaty information. The articles are 
broad treatments of their respective topics. 
Whether this is an asset or a liability depends on 
your level of expertise. 

David Price 
Midlothian VA 



Robert W. Baker 



DET-POURRI 



Poking Around in BASIC 

Normally you don't have to know anything 
about the internal workings of BASIC in the 
PET. There are times, however, when it may 
help to know even the simplest details. Many 
articles on how BASIC lines are stored in mem- 
ory have appeared, and the format is illustrated 
in the detailed PET memory map of the PET 
user manual. Briefly, each BASIC line has a 
five-byte overhead when stored in memory. 
Four bytes precede the line of text, and a single 
byte follows the line with a value of zero to in- 
dicate the end of the line. See Fig. 1. 

The four bytes at the start of each line con- 
tain a two-byte link, which is an address pointer 
to the starting location of the next line, and the 
BASIC line number stored as a two-byte binary 
number. The link and line number are both 
stored in standard 6502 address format. This 
means that the first byte is the low order eight 
bits of the address and the second byte contains 
the high order eight bits of the total 16-bit 
binary value. The end of the BASIC program is 
indicated by a link with both bytes equal to 
zero. The actual BASIC text is compressed, 
with all BASIC statements and commands 
stored as single byte "tokens" to conserve 
memory space. 

With this information in hand, I experi- 
mented to see how BASIC in the PET used 
these five overhead bytes for the link, line num- 
ber and end-of-line flag during various func- 
tions or commands. I first tried poking a single 
zero byte into the middle of a BASIC line that 
was already stored in memory, and then listed 
the program. The entire program was still listed 
except for the characters in the one line that was 
modified following the new zero byte. 

I then tried poking three sequential zero 
bytes into the middle of a BASIC line to simu- 
late an end-of-line flag and a zero link in the 



middle of a program. This had the same effect 
when the program was listed again; the entire 
program, except for the end of the modified 
line, was listed. 

This proves the LIST command uses the link 
information to go from one line to the next and 
displays each line till finding the end-of-line 
flag, a single zero byte. Furthermore, the LIST 
command does not check that the link points to 
the next byte after the end-of-line flag; it as- 
sumes the link is correct. 

Next I ran a program with a single zero byte 
poked into the middle of various lines that con- 
tained remarks or executable statements. When 
the modified line executed, it caused the pro- 
gram to fail with unpredictable results. If the 
modified line did not execute by branching 
around it, the program ran perfectly. 

I then tried poking three sequential zero 
bytes into the middle of various lines simulating 
an end-of-line flag and a zero link in the middle 
of a program. When the modified line execut- 
ed, the program terminated at that point as if 
that was the normal end of the program. If the 
modified line did not execute, the program ran 
to the normal end of the program. This showed 
that BASIC used the link values to find a given 
line whenever lines were not executed sequen- 
tially. However, all links are ignored and not 
verified whenever BASIC lines are executed se- 
quentially. 

Further testing following similar lines proved 
that a program was saved on tape until the first 
three sequential zero bytes were found, regard- 
less of where these bytes occurred. A program 
SAVE is a straight "memory dump," storing 



iink 

i__ 



BASIC 

t.ine # 

I 



-4* 



BASIC line of text 



jfl. 



END 

Flag 



Fig. 1. 



each consecutive byte of memory from the start 
of the program until three consecutive zero 
bytes are found. Saving and then loading a pro- 
gram that has a single zero byte poked into the 
middle of a BASIC line produces some strange 
results. 

Apparently, all the link values of the BASIC 
program are corrected after the program is 
loaded. BASIC "knows" the end of each line 
when it finds the end-of-line flag, the single 
zero byte. Thus, the data in the modified line 
following the added zero byte is interpreted as 
an extra line that may produce garbage with a 
strange line number in the middle of your pro- 
gram. Trying to edit program lines when extra 
zero bytes have been poked into the program 
can cause similar results when the edit routine 
tries to relink the BASIC program. 

By trying various ways to change the line 
numbers in a BASIC program, I found that 
BASIC used the link values to search through 
the program whenever looking for a particular 
line. If you find a line number in the program 
that is greater than the number you're search- 
ing for, the search ends unsuccessfully. When 
two lines have the same line number, the one 
closest to the start of the program is always 
used since it is found first in the search. These 
rules are used for all functions that require lo- 
cating a particular BASIC line, such as GO- 
SUB, GOTO, RUN xxxx, LIST xxxxx or screen 
editing. 

BASIC will not allow entering any line with a 
number greater than 63999. However, you can 
poke a new value to change an existing line 
number to any value greater than this limit, up 
to 65535. The line will still list and run correct- 
ly, but cannot be edited or deleted from the 
program since the line number is invalid. A line 
that is to be "protected" in this manner should 
be located at the end of a program since any fol- 

(continued on page 14) 



Microcomputing, April 1980 9 




FIG'S 



^4 



SMALL SYSTEMS JOURN Al 



Ohio Scientific Multiple User Systems 

This is the continuation of last month's Small Systems Journal 
concerning the Ohio Scientific multiple user systems. 

The previous portion of this article covered primarily Ohio 
Scientific's timesharing systems. In the following pages, the 
hardware and software used in Ohio Scientific's networked com- 
puter systems will be covered. 



Introduction 

The Network Extension to OS-65U provides the capability to in- 
terconnect up to sixteen hard disk based Level 3 timesharing 
systems. Also, up to fifteen floppy disk based 65U Level 2 or 
C2-NET systems can be connected to each Level 3 system. And 
each of these can further support up to sixteen Level 1 intelligent 
terminals. In all, literally thousands of users can be intercon- 
nected for hard disk data and program sharing with the OS-65U 
Network Extension. 

The speed of data transfer between computers can be as high 
as 500,000 bits per second yielding nearly immediate response to 
transfer requests. Level 2 users' transfers to or from Level 3 
systems to which they are indirectly connected occur with only a 
slight additional delay. 

Accessing remote data bases with the OS-65U Network Exten- 
sion is as easy as accessing a standard disk memory device. 
Under OS-65U, the letter designations A, B, C and D refer to flop- 
py disks and E refers to a hard disk. Under the Network Extension 
the local hard disk can always be referenced as device E and any 
of the other hard disks may be referenced by the absolute 
designations K through Z. These device designations may be us- 
ed in the 65U 'DEV statement just as would any disk designation. 
Thus, upgrading existing application software to networking re- 
quires relatively few, if any, changes. 

For those applications using shared data files, the Level 3 
semaphore commands WAIT FOR and WAIT CLEAR are auto- 
matically extended to affect semaphores located at the refer- 
enced data base. For example, a user who will be accessing a 
shared file on data base Z can coordinate his file accesses with 
other users by executing a 'WAIT FOR n' command after specify- 
ing DEV'Z". All users performing the same steps will reference 
the specified semaphore located at data base Z thereby insuring 
that the file accesses are executed in an orderly manner. 

Also, to better suit application needs, all networked systems 
permit the programmer to specify a time limit for WAIT FOR com- 
mands, then check the results of the operation after the com- 
mand has been executed. This permits giving the computer oper- 
ator the option of continuing to wait for a busy file or postponing 
his request. It also provides an easily used mechanism for safely 
acquiring multiple shared resources. Yet another feature of the 
Network Extension automatically clears all user locked sema- 
phores when a CLEAR or RUN command is executed or the direct 
(command) mode of BASIC is entered. 

In summary, the OS-65U Network Extension provides the many 
benefits afforded by distributed processing to Ohio Scientific 
microcomputer users with an ease of use and implementation 
that makes it the logical choice to satisfy expanding data pro- 
cessing needs. 



Operation 

Network System Startup 

The OS-65U network is started up by booting all of the inter- 
connected computer systems to be used and running the 
'LEVEL3' program at each hard disk based network "node" to 
bring the timesharing systems on-line. 

Then one of the memory partitions in each timesharing system 
is selected as the network support partition. At the terminal 
associated with this partition the network support program 
'NETWRK' is run. This program reports the unique node designa- 
tion (K through Z) assigned to the node and awaits network i 
messages. At this time the terminal for this partition ceases to 
accept keyboard input. It becomes a network monitor, reporting 
message traffic and any errors that might occur. 

Next, a special program is run at each user terminal that is to 
be given access to the network. 

Timesharing users or Level 2 users that do not first run the ap-l 
propriate network interface program from their terminal do not 
have access to the network. Thus, selective distribution of these 
programs can be used to control network access even at user| 
locations which are physically wired to the network. 

Specifying User Access Permission 

Remote users' access to the node data base can be controlled! 
at each node. This is done by specifying unique hard disk access] 
limits for each Level 2 user and for the other network users ac- 
cessing the node data base via other nodes. The initial access] 
limits (when the node is booted) give all users access to the f irstf 
two cylinders of the hard disk data base. This is addresses] 
0-430,079 on a CD-74 disk and 0-229,375 on a CD-23 disk. 

The CONSOL program is used to change the access limits of a| 
network user. 

Accessing the Network 

As described previously under "Network System Startup",| 
both timesharing and Level 2 users must run the appropriate net- 
work interface program (TSNET or L2NET, respectively) before! 
they have access to the network. After having run this program 
they can access any programs or data on any hard disk data base| 
in the network within the range they have access permission. 

To access a given hard disk data base the user merely exe-l 
cutes the OS-65U DEV'a" command, specifying for "a" the letter 
designation of the desired hard disk based node. Level 2 users 
(and, of course, timesharing users) can access the "local" hard] 
disk as device E. (The "local" hard disk for a Level 2 user is the 
hard disk located at the node to which his computer is physically 
wired.) Other hard disks in the network can be accessed by using 
the letter designation K through Z as was assigned to each node. I 

After specifying the desired node by executing a 'DEV com-| 
mand, all 'RUN', 'LOAD' and 'SAVE' commands executed will ac- 
cess programs at the selected remote node. Likewise, the) 
'OPEN', 'PRINT%n' and 'INPUT%n' commands can access data! 
files at the remote node. With a 500,000 bits/second network 
transfer rate, response to these commands is very little slower| 
than accesses to a directly connected disk. 

The standard OS-65U utility programs provided on the Network| 
diskette will also operate on a remote data base. To do so the ap- 



propriate node designator is entered in response to the "UNIT?" 
question from the program. Those utilities which alter the file 
directory (CREATE, DELETE and RENAME) will lock the directory 
semaphore at the remote node to prevent a conflicting access by 
another network user. If the directory semaphore is already 
locked when the program attempts to lock it the following 
message is output: 

DEVICE a DIRECTORY IS BUSY 

PLEASE TRY AGAIN LATER 
Wait a few seconds and try again. 

Using Semaphores to 
Coordinate Shared File Access 

Under network operation the Level 3 semaphore commands 
WAIT FOR and WAIT CLEAR are automatically extended to refer- 
ence semaphores located at the hard disk node specified by the 
last DEV'a" command. As described in the previous article, the 
WAIT commands are used to coordinate access to shared files 
when more than one user might attempt to alter the file at the 
same time. 

As an example of a shared file access consider an inventory 
file that contains quantities of items in stock. As parts are re- 
ceived the quantities are incremented by a network user in the 
Receiving Department. The quantities are decremented by 
another user in the Shipping Department when items are shipped 
from stock. Each user's access to the inventory file must be coor- 
dinated with the other users' access, or an incorrect file update 
can occur. An example of how this can happen is as follows: 



Receiving Department 

1. Reads the quantity in 
stock of an item, say it's 3. 

2. Increments quantity to 4. 

3. Writes revised quantity 
back as 4. 



Shipping Department 

Reads the quantity in stock 
of the same item, i.e., 3. 
Decrements quantity to 2. 



4. Writes the revised quanti- 
ty back as 2. 



Since the Shipping Department was last to write the revised 
quantity back to the inventory file, it now shows a quantity of 2. 
Had the Receiving Department been last, the quantity would be 
4. Of course, neither is correct. 

File accesses are coordinated to prevent the above problem by 
using the WAIT commands to manipulate a semaphore located 
at the node containing the inventory file. If that were node "M" 
and the agreed upon semaphore number for the inventory file 
"resource" were 15, the above scenario would take place as 
follows: 



Receiving Department 

1. Executes WAIT FOR 15 
which locks resource 15. 



2. Reads the quantity in 
stock of the item, 3. 

3. Increments quantity to 4. 

4. Writes revised quantity 
back, 4. 

5. Executes WAIT CLEAR 15 
unlocking resource 15. 



Shipping Department 

Executes WAIT FOR 15 
which suspends execution 
because resource 15 is 
locked. 



6. Continues execution with 
resource 15 locked on its 
behalf. 

7. Reads the quantity in 
stock, 4. 

8. Decrements quantity to 3. 



9. Writes revised quantity 

back, 3. 

10. Executes WAIT CLEAR 
15 unlocking resource 15. 

Thus, the use of the WAIT FOR and WAIT CLEAR commands 
ensures the proper update of the file. 

In the above example a semaphore was used to lock the whole 
inventory file during an update. Under some circumstances it 
may be desirable to lock only one record in a file when that record 
is to be updated so as to leave the remainder of the file accessi- 
ble to other users for updates. 

Record level locks can be used in OS-65U if the following 
criteria are met: 

—File boundaries must fall on sector boundaries. (Standard 
under Level 3.) 

—Each shared file record must have a two character record lock 
field. 

— File readers must be aware that if they read a record without 
locking the semaphore and find that the record is locked the data 
within that record may be inconsistent. (This can occur on a 
record that overlaps a sector boundary if the record is read be- 
tween the times when one sector of the record was written and 
when the other sector of the record is written.) 
—File writers must PRINT to the record lock field after updating 
all other fields within the record. 

—Each user of a shared file uses this procedure to change a 
record: 

(NOTE: 1 * refers to the number of a semaphore that all users of 
the shared file agree to use to coordinate their accesses to the 
file's record locks.) 



n WAIT FOR 1 * 

OPEN"filename",n 

INDEX[n]= ... 

INPUT%n,L$ 

IFL$ = "0"GOTOm 

CLOSE n 

WAIT CLEAR 1* 

GOTOn 
m INDEX[n]= ... 

L$"1":PRINT%n,L$ 

CLOSE n 

WAIT CLEAR V 



Wait for record locking permission. 
Got it— Open desired file. 
Set Index to desired record. 
Input record lock field. 
If not locked continue. 
Else close file, 

give up record lock permission 

and go try again. 
Reset Index to desired record. 
Set record lock to prevent others 

from accessing the record. 
Close file and permit others to lock. 



Now the desired file may be reopened and read from at will. To 
change the record that was locked above, this procedure is used: 



CLOSE n 

WAIT FOR V 

OPEN"filename",n 

INDEX[n]= . . . 

L$ = "0":PRINT%n,L$, 

CLOSE n 
WAIT CLEAR 1* 



Close the desired file. 

Wait for record writing permission. 

Open desired file. 

Set Index to desired record. 

Write the changes to the desired 

record and unlock it. 

Close the file. 

Permit others to lock/write records. 



WAIT FOR Time Limits 

The amount of time a 'WAIT FOR n' command will wait can be 
limited to zero to fifty-nine seconds with the following command: 
POKE 19632,s 

where s is the number of seconds, 0-59. 
If zero seconds is specified, one check of the semaphore will 
be made followed by an immediate return to the user program. If 



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



sixty of more seconds are specified the program will remain 
suspended indefinitely or until the semaphore is available. 

If a limited wait (0-59 seconds) has been specified the program 
must check the contents of location 19633 after executing the 
WAIT FOR to determine if the semaphore has been locked on his 
behalf. This is done with a command like: 

IF PEEK (19633) GOTO . . . :REM GOTO IF HAVE RESOURCE 

If the PEEK yields zero a timeout occurred because the 
resource remained locked by another user. If the PEEK location 
is non-zero the resource has been locked for the caller. 

This feature can be used in a program to limit the wait for a 
shared resource so that the computer operator can then be 
asked whether or not he wishes to continue waiting. 

This feature is also useful when more than one shared 
resource must be acquired by a program. Since there is a 
possibility of a deadlock situation arising under such cir- 
cumstances each program that must acquire multiple shared 
resources should use either ordered locking or a dedicated 
hypothetical resource which is locked whenever acquiring 
resources. 

The ordered locking method is facilitated by the use of WAIT 
FOR time limits. For example, the following commands could be 
used to lock a set of N resources assuming that the resource 
numbers are in the array RN(N) and are in order: 



FORL = 1 TO 10 

POKE 19632,time limit<60 

FOR I = 1 TO N 

WAIT FOR RN(I) 

IF PEEK(19633) = GOTO x 

NEXT I 

REM HAVE ALL RESOURCES 



Limit to 10 attempts 
Specify time to wait for 
each resource 

Acquire each resource in turn 
If unsuccessful GOTO 
Else continue acquiring 



x IF 1 = 1 GOTOy 
FOR J = 1 TO I 
WAIT CLEAR RN(J) 

NEXT J 
y NEXT L 



Failed to get all resources 

Release those that were ac- 
quired 

Continue trying for 10 at- 
tempts 



The particular order in which the resource numbers are ac- 
quired does not matter as long as all users utilize the same order. 

Automatic Semaphore Clearing 

All semaphores locked by a timesharing or Level 2 user are 
automatically unlocked whenever the direct (command) mode of 
BASIC is entered and when a CLEAR or RUN command is exe- 
cuted by a BASIC program. There is a limit of 16 semaphores that 
can be locked at one time. If this limit is exceeded an OM ERROR 
results. 

If a user clears a semaphore he did not currently have locked 
an FC ERROR results. 

Automatic semaphore clearing can be disabled and re- 
enabled by selected commands. 



Monitoring Network Traffic 
Network Monitor Messages 

The Network Monitor program occupies one memory partition 
in each node (hard disk based Level 3 computer). A terminal need 
not be connected to this partition. If a terminal is connected to 
this partition it will display a record of all node message traffic. 

For each message handled by the Network Monitor a single 
line message is output. The format and examples of these 
messages are shown here followed by an explanation of each 
field. 



User 


User 


Source 


Type 


Number 


Node 


TS 


6 


K 


L2 





L 



Msg. 
Type 

RQ 

WFR 



Dest. 
Node 

M 
N 



Disk Adr./ 
Sem. No. 

25088 
205 



Time 

5:17 
6:10 



User Type: 

User Number: 
Source Node: 
Message Type: 



Destination Node: 



Disk Address: 



Semaphore No. 



Time: 



TS— Timesharing User 
L2— Level 2 User 
0-15 

Node to which the user is connected 
rq_ Request to read from a block (3584 
bytes) 

RD— Read a block from disk 
RC— Receipt of a block 
SE— Sending a block to be written 
WR— Writing a block to disk 
CF— Confirming a block written to disk 
WFR— WAIT FOR request 
WFC— WAIT FOR confirm 
WCR— WAIT CLEAR request 
WCC— WAIT CLEAR confirm 
Node from/to which the user is trans- 
ferring a block or where the semaphore is 
located. 

Disk address from/to which block is to be 
transferred. 

For WAIT messages, the semaphore 
number. 

System time when message was 
processed, minutes:seconds. 



If an error occurs the above message is preceded by the 
following: 

***ERROR Number Port . . . 
where: Number is the error number. 

Port is the number of the port to/from which the transfer 
was occurring when the error was detected. 

Disabling Monitor Messages 

Printing messages does take a small amount of time that 
could be used by the Network Monitor program for processing 
additional network traffic. Consequently, under heavy loading 
conditions all but error messages or even all messages may be 
eliminated. (All unrecoverable errors are ultimately reported at 
the message initiator's terminal, anyway.) 



Network Hardware Configuration 

The hardware requirements for a network system will vary with 
the number of nodes, Level 2 users and timesharing users re- 
quired. A minimum configuration would consist of one network 
node with one Level 2 system connected to it. Expansion of the 
system would consist of the addition of nodes and Level 2 
systems. 

Figure 1 shows the maximum configuration of an OS-65U Net- 
work System. Any contiguous subset of this configuration is also 
a valid network configuration if it includes at least one Level 3 
computer. 

Each terminal shown Figure 1 can be connected to its associ- 
ated computer by up to fifty feet of cable, or if modems are used, 
an unlimited distance via telephone lines. The high speed links 
are limited to a maximum length of 10,000 feet. 

The port number into which a Level 2 user is wired determines 
his user number. However, there is no particular priority 
associated with any user number — each is given equal oppor- 
tunity to access the network. Consequently, the assignment of 
port numbers is strictly arbitrary. Also, there is no software 
reconfiguration required dependent upon the port numbers 
selected since all network messages are initiated by a user and 
the Network Monitor merely acts on messages it receives and 
sends responses back to the initiator. 

A network code consists of a Level 3 system as described in 
the last journal with an additional serial interface board. This 
would be a CA-10-X with one to sixteen serial ports populated 
depending upon the number of Level 2 users connected to the 
node. Port 15 of this board is dedicated for communications be- 
tween network nodes. Ports zero through 14 are for communicat- 
ing with Level 2 systems. Thus, if three Level 2 users were con- 
nected to the node, a total of four serial ports would be needed. 
Each port supports a high speed serial communications link 
which can run as fast as 500k bits/sec. Other than this board, a 
network node is identical to a Level 3 system. All network nodes 
must have a minimum of two memory partitions as one partition 
is used for network support. As an example, if two timesharing 
users were connected to the node, a total of three memory parti- 
tions would be required. It should be noted, however, that regard- 
less of the number of Level 2 systems connected to the node, on- 
ly one partition is required for network support. 

A Level 2 computer consists of a Challenger II or Challenger III 
computer with terminal. The memory requirements are 56 kilo- 
bytes of memory. The base 48 kilobytes of memory would consist 
of the memory boards discussed in the previous article. The addi- 
tional 8 kilobytes of memory are on the 555 board which must be 
installed in the Level 2 system. The 555 board must be used as it 
also has the serial port on it for the high speed link to the network 
node. As mentioned in the previous journal, the 555 board can 
also be used to interface parallel printers and serial devices to 
the Level 2 computer. With the exception of a new C2-NET com- 
puter which Ohio Scientific is introducing, a Level 2 computer re- 
quires a floppy disk drive for booting up the network software it 
requires. A C2-NET computer has software in ROM that allows it 
to boot up through the high speed serial link from the network 
node. 

As can be seen, expansion of a Level 3 system to a network 
node requires a minimal amount of additional hardware. With the 
addition of Level 2 computers, which are standard Ohio Scientif- 
ic computers with the 555 board added, a powerful distributed 
processing system can be implemented. 




*Q 



m 



W****^— ill I m i 



— 



— O-Q. 







«£} 



Ill 




15 




TIMESHARING USERS 



L t Vt L 3 
HARD DISK 



BASED NODES 



LEVEL 2 USERS 



Figure I 



KEY: 

SERIAL VIDEO OR INPUT/OUTPUT PRINTER TERMINAL 

HARD DISK BASED CHALLENGER III - LEVEL 
3 COMPUTER 

FLOPPY DISK BASED CHALLENGER II OR III 

COMPUTER OR C2-NET COMPUTER WITHOUT FLOPPY 

DISK. 

LOW SPEED RS-232C LINK (110-19200 BAUD)- 

MAY INCLUDE MODEMS 

HIGH SPEED LINK (UP TO 500K BITS/SECOND) 



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



PET-POURRI 



(from page 9) 

lowing lines with a lower number can never be 
found by a BASIC search. This means you 
probably cannot GOTO or GOSUB to any of 
the lines following the modified lines with large 
numbers. 

There is also a way to create BASIC lines 
longer than 80 characters that cannot be en- 
tered from the keyboard as a single line. Enter 
the text as separate lines, then poke the end-of- 
line flag of the first line, and poke the link and 
line number of the second line to different 
values making them part of the new expanded 
BASIC line of text. The expanded line will list 
and run correctly, but cannot be edited since it 
will be truncated if reentered. 

This suggests a possible utility program to 
shrink a BASIC program by stripping all un- 
necessary line numbers, links and end-of-line 
flags. It would create long lines of text, and on- 
ly lines used as targets of GOTOs or GOSUBs 
would remain. However, the utility would have 
to handle IF . . . THEN statements since lines 
following them could not follow and operate 
correctly. This would also help protect a pro- 
gram being distributed. Although it could not 
be edited, it could still be listed and saved. 

I've also been using POKE within a BASIC 
program to create computed GOTOs or to have 
a program permanently modify its logic flow 
each time it runs. Another idea is to use POKEs 
during a program to store data within program 
DATA statements. This provides an alternative 
to using tape data files for small quantities of 
data, and the data is readily available through 
READ statements as often as needed. This 
technique of saving data within a BASIC pro- 
gram can be applied to most machines. 



Saving Tapes 

I once had a finished program on tape that 
would not run after loading, even though there 
were no load errors. Examination of the tape 
revealed several areas of the program that ap- 
peared garbled. With the information gained 
through my experimenting, I was able to recon- 
struct the damaged areas of the program and 
salvage the program. I now keep backup copies 
of every program. Using C60 tapes for back- 
ups, I can fit 40 to 50 programs on each tape. 



More Joystick Information 

Since writing my January column I've re- 
ceived more information on the joystick inter- 
faces available from Creative Software, PO 
Box 4030, Mountain View CA 94040. They 
have a dual joystick interface for $45 (plus 
$1:50 shipping) that allows you to connect two 
Atari joysticks with no modification to the 
PET. Each joystick can sense the eight compass 
directions— N, S, E, W, NE, NW, SE, SW— in 



addition to the red firing button. The sticks can 
be sensed independently, making them ideal for 
interactive two-player games. 

For more advanced games, they have a single 
Fairchild joystick interface that costs $35 (plus 
$2.50 shipping). The Fairchild joystick features 
eight compass directions and pull-up, push- 
down, twist -right and twist -left actions. These 
actions can all be sensed independently. 

Each interface comes with a separate power 
supply, two sample game programs and com- 
plete programming instructions. Actual joy- 
sticks are not included and must be purchased 
separately at $15 each (plus $1.50 shipping). 
Both interfaces will work with any model PET, 
but you should indicate which model you have 
or use. 



that can be specified include line spacing, left or 
right margins, justification and multiple 
printed copies. Word Pro III operates on Com- 
modore's CBM 2022 and CBM 2023 matrix 
printers, although it is also compatible with 
NEC, Diablo and Qume printers for letter- 
quality output. 

This new software package complements the 
previous word-processing packages for the 8K 
PET and 16K CBM/PET, designated Word 
Pro I and II. Each package provides the maxi- 
mum features and functions possible for the 
amount of memory available. Word Pro III 
will only operate on a 32K CBM/PET with 
dual disks. I hope to have more detailed infor- 
mation in the near future. 



Word Pro HI 

At the Consumer Electronics Show in Las 
Vegas, Commodore Business Machines an- 
nounced a word-processing software package 
for the 32K CBM/PET which offers capabili- 
ties formerly available only on more expensive 
dedicated word-processing systems. Designat- 
ed Word Pro III, the new software features 
global functions, instant editing and full docu- 
mentation retention for up to 170 pages on- 
line. Word Pro III can edit an entire diskette of 
170K bytes. 

The Commodore software system simplifies 
text entry and editing with a complete range of 
screen-positioning commands and over 50 con- 
trol functions, including center titles, indent 
paragraphs, set tabs and hyphenate words. 
Real-time screen editing provides such func- 
tions as delete, insert, erase, move, search and 
replace. Standard business form letters can be 
merged for printing automatically with sepa- 
rate client files such as account names and bal- 
ances due. A status line at the top of the screen 
always indicates functions in progress by dis- 
playing the text line and column location. 

For hard-copy output, formatting features 



Miscellaneous Information 

Compute magazine has taken over 6502 User 
Notes, as well as PET User Notes and the PET 
Gazette. Compute also has started a cassette 
tape exchange that is essentially the same as the 
one operated by Gene Beals and PET User 
Notes. Gene will operate the new exchange; 
check with Compute for complete details. 

Excel Company, 618 Grand Avenue, Oak- 
land CA 94610, recently sent me information 
and pricing on the TX-80 dot-matrix printer for 
the PET. Excel is one of several companies car- 
rying this new 80-column impact, 150 cps 
printer. It has double width characters and all 
the PET graphics as standard features. 

Excel's price is low, starting at $560 with fric- 
tion feed and $585 with tractor feed. However, 
the PET interface is an additional $60 and the 
interface cable is another $25. Because of the 
difference in the character set in the new ROM 
set, new PETs require an additional board 
along with the IEEE interface board at a cost of 
$25. I have seen the same printer advertised 
elsewhere for as high as $899. 

Please address all correspondence directly to 
Robert W. Baker, 15 Windsor Dr., Atco NJ 
08004. 



CORRECTIONS 



John Mein wrote to correct some errors in 
his article, "Color TV Display" from the Feb- 
ruary issue. There are three errors on the sche- 
matic: on IC11, pins 14, 13, 12 and 11 (Dl 
through D4), should be connected to IC8, pins 
23, 22, 21 and 20 (DO through D3), respective- 
ly. The spare half of IC24 (74LS139) should 
show pin 15 connected to carrier 9, pin 4. The 
schematic correctly shows IC2 to be a 
74LS241 , but the parts list incorrectly calls it a 
74LS244. 

Gregory Yob sent us two additions to his ar- 
ticle, "The Comprint Printer" in the March 
issue. 1. Comprint offers a Centronics-com- 
patible interface. 2. The accompanying figure 
shows the DPDT switch installed for use with 
his Imsai. The DPDT switch replaces the 



Comprint AB and CD jumpers to permit 
rapid switching from the IEEE 488 to parallel 
modes. Since the Comprint senses these on 
power-up, the printer must be turned off and 
on after you change the switch setting. If you 
use a "narrow" strobe, an additional switch 
must be added for the K jumper. 




14 Microcomputing, April 1980 



Edited by Dennis Brisson 



NEW PRODUCTS 



Diskette Protectors 

Reviewed by Kevin Cohan, IS/ staff. 

Two new products from INMAC and Tri- 
Star Corp. allow the computerist to protect 
diskettes from the infamous "crunching" ef- 
fect, caused by misalignment of the disk drive 
clutch and the center of the floppy disk. Once 
this damage has happened, the reliability of the 
disk may be in question. 

Installation of a ring of reinforcing material 
at the center of the diskette will prevent this 
from happening. Both of these kits allow you 
to install such a ring. 

The Fortifier is available from INMAC (In- 
ternational Minicomputer Accessories Corp.), 
a nationwide supplier of computer goods. The 
kit consists of an installation tool and a supply 
of reinforcing rings for both 8 and 5 l A inch 
floppies. The tool is a two-part device that 
presses the ring, made of white vinyl, onto the 
diskette center. After installation, the disk is 
protected from "crunching" by the resilience 
of the vinyl. The tool with 20 rings is $27. 

Functionally identical to the Fortifier, the 
Mini Floppy Saver from Tri-Star Corp. installs 
center rings on mini-floppies only. It also uses 
Mylar, instead of vinyl, rings, which seemed 
sturdier than the ones from INMAC. The in- 
stallation is identical. The Mini Floppy Saver, 
with 25 rings, is $14.95. 

The installation tool from INMAC seated 
the rings from both companies more easily; 
with a little work the Tri-Star tool also provided 
good results. 

INMAC, 2465 Augustine Drive, Santa Clara 
CA 95051; Reader Service number 484. Tri- 
Star Corp., PO Box 1727, Grand Junction CO 
81502; Reader Service number 485. 




Artec Computer 

The Centurion is a new 8-bit small-business 
microcomputer capable of processing data at 7 
MHz. It is built around Intel's 8085A-2 micro- 
processor, which has a processing speed of 5 
MHz, but system speed is much faster because 
a floating point math chip is used for numerical 
calculations. 

The Centurion features 16K of internal 
PROM, 64K of RAM, a floppy disk controller, 
CP/M operating system, built on Artec's 
shielded motherboard. It operates with a CRT 
terminal and up to four single-sided, double- 
density, 8-inch floppy disk drives. It is compati- 
ble with any printer having an RS-232 inter- 
face. 

The Centurion is available in three con- 
figurations that differ in packaging and periph- 
eral options: Centurion I with a Hazeltine 1500 
CRT terminal is $10,825; Centurion II is $9500; 
and Centurion III is $8025. An additional 
megabyte of disk storage capacity ($2500) with 
two 8-inch drives and a power supply in a 
separate enclosure can be purchased for the 
Centurion I and II systems. 

Artec Electronics, 605 Old County Road, 
San Carlos CA 94070. Reader Service number 
475. 



Earned Income Payroll 

This small-business payroll software package 
handles full-measure payroll activities for firms 
with up to 80 employees. It contains the new 
Earned Income Credit provisions which will be 
required in July 1980, plus federal and state tax 
tables for any state requiring it. Special city, 
county or district tax deductions are prepro- 
grammed at no extra charge. 

The program requires the CP/M disk operat- 
ing system, C-BASIC or C-BASIC2, and is 
available on 8 inch single or double density and 
Micropolis Mod II 5 ] A inch disks. Price is $595. 

California Business Computers Corp., 825 
W. Hamilton Ave., Campbell CA 95008. 
Reader Service number 486. 



The diskette Fortifier from INMAC. 



Lowercase for Your Apple 

Now you can gain full advantage of upper- 
case and lowercase on your Apple II with the 
Keyboard Expandor, from C & H Micro, PO 
Box 249, Clifton Park NY 12065. This hard- 
ware/software modification transforms your 
Apple II into a complete uppercase/lowercase 
system. 




Artec's new Centurion Microcomputer System 

The software is transparent to the user and 
compatible with DOS and requires !4 K memo- 
ry. Cap and shift locks are included; all Apple 
characters and Monitor editing functions are 
maintained. Uppercase/lowercase can be used 
in Text files, in Print and Rem statements 
within BASIC programs, in DOS file names 
and in Immediate mode. Software is available 
on disk. 

A simple one-wire modification with one 
solder point gives you the use of your shift keys. 
Price is $20. Reader Service number 483. 



OSI High-Speed Sort Utility 

For fast operation with Ohio Scientific 
floppy- and hard-disk systems, consider an en- 
hanced version of BPSort, a high-speed, ma- 
chine-code sort/merge utility. Twenty thou- 
sand bytes can be sorted in ten seconds. 

Files can be up to an entire hard or floppy 
disk in length. BPSort handles fixed-length rec- 
ords. Five keys — alpha or numeric characters 
— can be specified for ascending and/or de- 
scending sequence. Sort parameters are estab- 
lished using an easy-to-use interactive BASIC 
program. 

BPSort, written in assembly language, is OS- 
DMS compatible and is supplied as part of the 
BPS interactive data management system. 
Price is $124. Owners of the previous "V" ver- 
sion may return their original diskette for an 
update for $25. 

BPS, 322 West 57th Street, New York NY 
10019. Reader Service number 487. 



Microcomputing, April 1980 15 



■ 



Central Ave., Richmond CA 94804. Reader 
Service number 478. 



George Morrow's DISCUS M26 system. 



26M Hard Disk Memory 

DISCUS M26 is a 26-megabyte hard disk 
memory for S-100 microcomputer systems. It 
features the Shugart 4008 14-inch hard disk 
drive, a sealed media unit utilizing the latest 
Winchester floating head technology. The drive 
comes with a metal cabinet, power supply and 
cables and can be used either as a table-top or 
rack-mount unit. 

The system includes a single-board controller 
with on-board intelligence to supervise all data 
transfers. The controller generates interrupts at 
the completion of each command to increase 
system throughput. Communication with the 
CPU is via four I/O ports, command/status, 
data and control. A 512-byte sector buffer is 
on-board, and each sector can be individually 
write-protected for data base security. 

The total capacity of the DISCUS M26 is 29 
megabytes, with 26 megabytes of usable memo- 
ry available after formatting. The system can 
be expanded with up to three Shugart hard disk 
drives to a maximum of 104 usable megabytes. 
(Up to three additional drives can be accom- 
modated for a total formatted capacity of 104 
megabytes.) DISCUS M26 operates with 
CP/M 2.0. Price is $4995; additional disk 
drives are $4455 apiece. 

Morrow Designs, Inc. /Thinker Toys, 5221 



Whale of a Product 

Melville Technologies is making waves with 
their announcement of a breakthrough in mag- 
netic media data storage. The product, known 
as the Moebius disk, doubles the capacity of 
any standard 8- or 5.25-inch disk drive using 
conventional single- or double-density record- 
ing methods. 

While details of the manufacturing process 
are still being held under wraps, Melville has 
revealed that the key to the new medium is a 
proprietary white oxide formulation applied to 
the disk during a patented convoluting process. 

One advantage claimed for the Moebius disk 
is ease of duplication. Disks may be duplicated 
off-drive using only a pair of scissors and 
adhesive tape. 

Current technology precludes use of the disk 
with dual-sided drives, but Melville states that it 
will have this problem licked as soon as its fac- 
tory is rebuilt. 

Availability: Sooner or later. 
Delivery: Twice as long as you expect. 
Warranty: About three lines. 
Price: To be announced. 
Compatibility: Does it really matter? 

For further information, call M. E. Ishmael 
at (123)686-7923, or write Melville Technolo- 
gies, Inc., 707 Pequode St., New Bedford MA 
98765. Reader Service number 501. 



Peripheral Control Unit 

The Busy Box from The Micromint, Inc., 
917 Midway, Woodmere NY 11598, facilitates 
wireless remote control of ac-operated lights 
and appliances throughout the home or office. 
It converts program commands into an ultra- 
sonic message, which is transmitted to the BSR 
X-10 (Sears) Home Control System. It is signal 
compatible with most computers and includes 
complete on-board port addressing. 

To turn on a light, you just enter the time and 
function, e.g., 0730, lamp 2, on. Applications 



include automatic lighting, energy manage- 
ment and alarm systems. 

The Busy Box comes with enclosure, cable, 
appropriate adapter and complete documenta- 
tion. Installation is a simple matter of plugging 
in one connector. It is available for TRS-80 
($104.95), Apple II ($109.95) and S-100 
($114.95). Reader Service number 479. 



Word Processor for 6502s 

WP-6502 handles word processing for 6502s. 
Besides screen editing and global editing (with 
echo-checking and 200 + character insertion), 
the program's features include: 

• AP style — every page starts with a new para- 
graph. 

• Intelligent tabbing— allows tabbing to fixed 
positions rather than to just the adjacent one. 

• Text block files — allows insertion of up to 
100 blocks of text anywhere in the text. 

• One version supports disk and/or tape. 
Available in tape or disk, WP-6502 allows 

generation of OSI CI, C2 and 4P systems. 
Price is $75. 

Dwo Quong Fok Lok Sow, 371 Broome St., 
New York NY 10013. Reader Service number 
492. 



PET Music System 

Now PET users can create and play musical 
compositions of up to four parts with the KL- 
4M DAC Board and the Visible Music Moni- 
tor. The KL-4M Board includes an 8-bit digital 
to analog converter, a low pass filter to 
eliminate high-frequency computer-generated 
hiss and an on-board audio amplifier. An 
RCA-type jack is also included for quick at- 
tachment of your speaker. Amplification of the 
6522-CB2-generated single note sound is incor- 
porated as well, so that no additional hardware 
(other than a speaker) is required. Connection 
is made via the PET parallel and cassette ports, 
which are extended with duplicate connectors 
(with keyways) so I/O capabilities are not 
reduced in any way. 

The Visible Music Monitor supports four- 




■wwrwt 1 ' 



Micromint 's Busy Box controller. 






■ 




t i i r " 


1 


ii i ■ — , 1 — . 


y 

m 1 i 




/ \ 


■ • 1 


■ 


,.■ , _ 


— • . — 

in i u i 


■ 


• • 

"I r \ 1— h -•— 

n m 


• 
• 


■ 


O • o 




j| 


'—' w 








1 — i i 1 J 


■ 


11 « 1 1 i- -t 


* - - ; - i 3 1 3 1 12 
B— 8TH NOTES/BAP 


T = ' 


3 3 13 112 3 3 3 

SO ICE OSES bvhIol 



PET screen display with the KL-4M and VMM. 



16 Microcomputing, April 1980 





Electronic Systems ' video board. 



Mainframe system from CMC. 



part harmony systems such as the KL-4M. 
VMM is written in 6502 machine language to 
display the musical staff and notes for all four 
voices on the PET screen. It provides an easy 
way to enter four-part music from the key- 
board, as well as complete edit capability (in- 
cluding note insertion and deletion). Other fea- 
tures include "record changer" mode to load 
successive songs without intervention, user 
definable keyboard, complete tempo flexibili- 
ty, transpose capability and waveform modifi- 
cation capability. The KL-4M and VMM 
together cost $59.90, or separately, $34.90 and 
$29.90, respectively. 

A B Computers, 115 E. Stump Rd., Mont- 
gomeryville PA 18936. Reader Service number 
482. 



B/W Monitor 

The Video 100-80 is a new 12 inch black and 
white monitor from Leedex Corp., 2300 E. 
Higgins Rd., Elk Grove Village IL 60007. Built 
and styled for industrial use, it includes a rug- 
ged metal cabinet. The removable face plate 
provides mounting space for a mini-floppy 
disk. There is also a space inside the cabinet for 
an 11x14 inch PC board for custom-designed 
controller electronics. 

The 90 degree deflection picture tube allows 
an 80 character by 24 line display, and the 12 
MHz band width provides well-defined charac- 
ters. Vertical and horizontal hold, contrast, 
brightness and power are front-mounted for 
easy access. The cabinet comes in an off-white 
color with a black face plate. It is plug-in com- 
patible with Apple, Atari, Radio Shack, OS1, 
Microterm and Exidy. Reader Service number 
480. 



S-100 Video Terminal 

Electronic Systems, PO Box 21638, San Jose 
CA 95151, announces a video terminal board 
for S-100 bus microcomputers that features a 
16 line x 64 column display of uppercase/ 
lowercase characters in 5 x 7 dot matrix form, 
full RS-232 compatibility and a jumper-select- 
able baud rate generator. The processor chip 
used is SFF96364 by Neculonic. Control char- 
acters include carriage return, line feed, cursors 



right, left, up and down, nondestructive cursor, 
clear screen and home. It displays white charac- 
ters on a black background or vice versa. 

By adding a keyboard, video monitor and 
power supply, you will have a complete stand- 
alone terminal. It requires ± 16 V dc at 100 mA 
and 8 V dc at 1 A. Price for the kit is $199.95. 
Reader Service number 481. 



Microcomputer Mainframe 

The Model 2018 Microcomputer Mainframe 
System consists of an 1 8-slot S-100 bus mother- 
board housed in a heavy-duty precision-formed 
cabinet that is convertible to either a desk-top 
(Model 201 8D) or rack-mounted (Model 
201 8R) unit. A double-bitted security key lock 
and a large power-on indicator light built into 
the reset switch are standard on both models. 

The fully shielded motherboard provides in- 
terconnections for up to 18 printed circuit cards 
using the standard S-100 bus format. A jumper 
system provides active or inactive termination 
on the various signal lines. 

A constant voltage transformer (CVT) se- 
lects input voltages of 120 or 230 V ac at 50 or 



60 cps. The input power is protected with a 
double pole circuit breaker on the rear of the 
cabinet and operationally by the key switch on 
the front panel. Secondary voltages, which are 
fully fused, are rated + 8 V dc at 20 Amps and 
± 16 V dc at 3.5 Amps. The cooling system fun- 
nel design centers the muffin fan so that it ex- 
hausts the hot air at the rear of the chassis while 
drawing cool air through side ducts to the front 
of the cabinet for maximum cooling efficiency. 
CMC Marketing Corp., 10611 Harwin 
Drive, Suite 406, Houston TX 77036. Reader 
Service number 477. 



Universal Data Entry System 

ENTRY increases operator efficiency and 
accuracy in data entry. It is made up of two 
programs: UDEGEN and ENTRY. The inter- 
active UDEGEN program generates the custom 
key-to-disk modules, which are stored as data 
files to be used with the ENTRY program for 
actual data entry. It can also be used to revise a 
previously defined data entry module. It typi- 
cally requires less than 5 minutes to define a 
custom module starting cold at the terminal. 




Leedex's Video 100-80. 



Microcomputing, April 1980 17 



The sequence of entering the data, the CRT 
headings and labels and the number of records 
displayed are defined in UDEGEN. Validation 
procedures such as check digits, tabled value 
tests, range tests, batch totals and record counts 
are provided. Field items can be duplicated or 
incremented to eliminate repetitive entries. 
User-defined fixed and variable length disk rec- 
ords are supported and easily implemented. 
You need an 8080 or Z-80 mainframe with 48K 
of memory, floppy or hard disk, CRT and op- 
tional printer for ENTRY, which operates on 
CP/M with Microsoft MBASIC or Mits/Per- 
tec Disk Extended BASIC. 

The Software Store, 706 Chippewa Square, 
Marquette MI 49855. Reader Service number 
491. 



printer, eliminates the need for complex per- 
sonal computer software. Now microcomputer 
owners can plug any computer into an HY-Q 
1000, which will automatically convert simple 
codes into instructions for commonly used text- 
formatting functions. 

Other advanced features include Quadra- 
Pitch (10, 12 or 15 cpi or proportional spacing); 
up to 198 characters per line; 100 printable 
characters in five languages (English, Italian, 
Spanish, French and German, available with- 
out changing the daisy wheel); a choice of 21 
different typestyles in five different colors; and 
reverse printing — white characters on a black 
background. It can also function as a versatile 
electronic typewriter. Price is $2495. 

XYMEC, 17791 Skypark Circle H, Irvine 
CA 92714. Reader Service number 476. 



Daisy Wheel Printer 

The HY-Q 1000 is an intelligent printer for 
personal computers in business applications. 
With its five built-in microprocessors, the HY- 
Q 1000, a low-cost, letter-quality daisy wheel 



Morloc's Tower 

Did you ever fantasize you had to match wits 
against an evil wizard to rescue an entire city? 
This is just what happens in the new fantasy 



game, Morloc's Tower, from Automated Sim- 
ulations, PO Box 4232, Mountain View CA 
94040. You must hunt through a maze of 30 
rooms — all displayed on the screen — in search 
of the elusive Morloc before he destroys the city 
of Hagedorn. 

Morloc's Tower combines a challenging puz- 
zle to solve with graphics and 18 real-time com- 
mand options. Dozens of frightening monsters 
of different shapes and sizes leap from the 
shadows to assault the player. Three kinds of 
rings, a magic sword, two amulets and a half 
dozen other treasures are hidden within the six- 
floor tower to aid, or hinder, the adventurer. 

The competitive scoring system keeps the 
game challenging and exciting even after many 
of the tower's mysteries have been revealed. 
Three levels of play let the user adjust to the dif- 
ficulty of the game, while the Book of Lore not 
only explains the rules, but also offers helpful 
hints on solving the puzzles. 

Morloc's Tower is designed for the Commo- 
dore PET (with at least 20K), the Radio Shack 
TRS-80 (Level II, 16K) and the Apple II (32K 
with Applesoft in ROM). Price is $14.95. 
Reader Service number 488. 



COMPUTER CLINIC 



I would appreciate any and all information 
on schools, institutions, companies and in- 
dividuals involved in teaching and/or building 
single-chip microcomputers used specifically 
for digital controls. 

Don Wilson 

9055 S. Luella 

Chicago IL 60617 



I recently purchased Appleforth and am en- 
joying it. However, because of its unusual 
structure and nature, it is difficult to learn 
enough to fully exploit the power of FORTH. I 
want to get in touch with readers who are in- 
terested in a newsletter devoted to exchanging 
information on the use and application of 
FORTH. 

H. John Clements 

9010 Tobias #258 

Panorama City CA 91402 

I'm head of the computer programming de- 
partment at the local high school. We have sev- 
eral 16K PETs and a terminal hooked up for 
time-sharing. We want to hook up the PETs to 
the Decwriter II so we can get hard copy. We 
need information on how to connect the PET 
to the terminal. 

Dale Freeland 

Paw Paw High School 

Paw Paw MI 49079 



I work for the city of Quincy MA as 
superintendent of fire alarms and have written 
some simple programs to keep our files up to 
date and to store the normal "garbage" re- 
quired by all government units from village to 
federal levels. However, I can use some help. 
My fire alarm files, boxes, billing and circuit 
listing are in good shape, but the NFPA has 
designed an "incident reporting system" for all 
fire departments. The fire reports are designed 
for entry into a computer. It is assumed that all 
fire departments have access to hardware in the 
mega-buck range and the "incident" programs 
are so designed. Great, if the "big" equipment 
is at hand. I guess that many cities and towns 
within the US of A would like to be able to pur- 
chase smaller computers and have an in-house 
system (and control) to have the fire-depart- 
ment records at their fingertips. Programming 
experience to solve this problem will take time. 
We would be interested in making contact with 
some sharp fire-department "type" out there 
who is working on this problem or may even 
have a working program. 

John E. Schmock 

Apt. 55, 10 Mediterranean Dr. 

Weymouth MA 02188 



I built an ASCII-encoded keyboard from 
scratch in hopes of making a computer termi- 
nal; however, I cannot find an 80 x 24 TVT in 
kit form or otherwise, short of buying a $2000 



professional computer terminal. If I can't 
locate an 80 x 24 TVT that costs approximately 
$200 or less, I want to know how, if possible, a 
more common 64 x 16 TVT can be modified to 
print out 80 x 24. I do not have a microproces- 
sor, and I intend to modify an old TV to use as 
a video monitor. 

Stuart Weiner 

65-23 Dieterle Cresc. 

Rego Park NY 11374 



I met a man who is retired and on a fixed in- 
come. He is afraid to spend any of his savings 
on a computer because he may need the money 
for silly things such as food. Since he lives in 
another city, I can't help by lending him the use 
of my TRS-80. 1 wonder if any computer fanat- 
ics in the Portsmouth Ohio area can give him a 
hand. His address is: Earl Keevil, 1604 4th, 
Portsmouth OH 45662. 

Adam Shackleford 

48 Dm 

Canal Winchester OH 43110 



I'm looking for a company that supplies the 
solenoids to make an IBM Selectric typewriter 
operate as a printer. 

Donald McKague 

PO Box 227 

Teeswater Ontario 

Canada 



18 Microcomputing, April 1980 



MicrolMET 

It's off and running. And delivering 

as promised. 



What is MicroNET? 

It is the personal computing 
service of CompuServe, 
Incorporated. CompuServe is a 
nationwide commercial time 
sharing computer network with 
large-scale mainframes. 
MicroNET allows the personal 
computer user access to 
CompuServe's large computers, 
software and disc storage 
during off-peak hours (from 
6 PM to 5 AM weekdays, all day 
on Saturdays, Sundays and 
most holidays). 

What do I get? 

You can use our powerful 
processors with X-Basic, 
Fortran, Pascal, Macro-10, AID 
or APL. You get 1 28K bytes of 
storage free (just access it at 
least once a month). Software 
includes games— including 
networking multi-player games 
—personal, business and 
educational programs. 

In addition, there is the 
MicroNET National Bulletin 
Board for community affairs, 



for sale and wanted notices and 
the MicroNET Electronic Mail 
System for personal messages 
to other MicroNET users. You 
can even sell software via 
MicroNET. 

NEW!MicroQUOTE,a 
security information 
system for corporate 
stocks and public debt. 

NEW! MicroNET Soft- 
ware Exchange with 
dozens of new 
programs available for 
downloading to your 
personal computer at a 
specified charge. 
NEW! Executive pro- 
grams for TRS-80, Apple 
II and CP/M systems (so 
your machine and ours 
can talk to each other 
error-free). You can 
switch between terminal 
and local mode while 
on line. 

What do I have to have to 
use MicroNET? 

The standard 300 baud modem. 
MicroNET has local phone 



service in most major cities (see 
below) and a reduced phone 
charge in over a hundred others. 

What is the cost? 

We've saved the best for last. 
There is a one-time hook-up 
charge of only $9.00! Operating 
time— billed in minutes to your 
VISA or MasterCharge card— is 
only $5.00 an hour. 

Want more information? 

Good. Write to us at the address 
below. We'll send you a full 
packet of information about 
MicroNET. 

CompuServe 



^147 



Personal Computing Division 
Dept. K 

5000 Arlington Centre Blvd. 
Columbus, Ohio 43220 



MicroNET is available via local phone calls 
in the following cities: Akron, Atlanta, 
Boston, Canton, Chicago, Cincinnati, 
Cleveland, Columbus, Dallas, Dayton, 
Denver, Detroit, Houston, Indianapolis, 
Los Angeles, Louisville, Memphis, West 
Caldwell (NJ), New York, Philadelphia, 
Pittsburgh, San Francisco, Stamford (CT), 
St. Louis, Toledo, Tucson and 
Washington, D.C. 

Access to the MicroNET service is avail- 
able in 153 other cities for an additional 
charge of $4.00 per hour. 




'. . . but the really impressive stuff is in the back room. 



>> 



^Reader Service — see page 257 



Microcomputing, April 1980 19 




9368 Et Al 

It's too bad that Robert Cotter had such dif- 
ficulty sourcing the Fairchild 9368 hex decoder- 
drivers for his Elf expansion. 9368s are avail- 
able at reasonable prices from hobbyist-ori- 
ented mail-order distributors, notably: Active 
Electronic Sales, Framingham MA, Jade Com- 
puter Products, Hawthorne CA, Advanced 
Computer Products, Irvine CA, Quest Elec- 
tronics, Santa Clara CA. 

Your readers may also like to know about 
three other integrated circuits that do what the 
9368 does: latch a 4-bit binary input, convert it 
to a 7-segment representation of a hexadecimal 
number and provide enough output current to 
directly drive a common-cathode LED display. 
Because these other chips have CMOS inputs, 
they require no input buffering and don't load 
the computer's bus at all. And because they 
have bipolar outputs, they can directly drive the 
LED display. They also consume virtually no 
current on their own, unlike the 9368's typical 
supply current drain of 45 mA. 

Two of the ICs are made by Mitel, a relative- 
ly obscure Canadian CMOS manufacturer. Mi- 
tel's MD4368 is a pin-for-pin and function-for- 
f unction replacement for the 9368. Mitel also 
makes an MD431 1 , which is similar to the well- 
known 4511 offered by Motorola, RCA and 
many others— but the 4311 is a hexadecimal 
decoder. The only difference between the 
MD4368 and the MD431 1 is that one has a rip- 
ple-blanking output, and the other has a lamp- 
test input. Both chips are available from An- 
crona Electronics, Culver City CA. 

The third entry, Motorola's MC14495, has 
not yet appeared in the hobbyist suppliers' 
catalogs, but is undoubtedly available from 
Motorola's usual distributors. This chip lacks 
the blanking inputs on the two Mitel ICs, but 
has an output that goes high for all hex num- 
bers over 9, and another output that goes low 
only on hex F. 

Robert Levine 
New York NY 



It seemed to me that Russell Steele could 
have bought at least three excellent monitors 
for the price he paid for an untried TV set 
("Bargain-Basement '80," February 1980, p. 
54). I was skeptical at first when I ordered a $45 
12-inch used monitor from Selectronics (Febru- 
ary 1980, p. 222), but the results were so pleas- 
ing I bought five more for students in my elec- 
tronics classes. 

Every monitor was running in no more than 
five minutes. All gave clean, crisp readouts on 
the TRS-80 as well as the Elf-44. The units were 
well packed and all were complete, including 
filter face plate. The stand was easily removed 



to permit use on the TRS-80 expansion inter- 
face. Most of them have been operating eight 
hours each day for the past four months. Selec- 
tronics sells a handbook and will replace any 
unsatisfactory part or unit. 

From what I have been told, Radio Shack no 
longer sells the keyboard separately— in fact 
they want $245 for the monitor because it has to 
be classed as a replacement part. That prompt- 
ed my dealing with Selectronics. 

My second remark concerns a letter on p. 14 
of the February issue by Robert J. Cotter who 
agonized about the scarcity of 9368 decoder 
chips. The solution is in the magazine. The 9368 
chip has always been available from Quest and 
is still in their advertisement under MOS/ 
MEMORY at $3.50 (February, p. 213). 

I am pleased to see the old Elf getting some 
boost from a magazine as exalted as Microcom- 
puting. I made my original Elf (still working) 
from the RCA user's manual on 44-pin 4x4 
inch boards from Radio Shack years ago. 
P.S. Congrats on "80 Micro." 

Alan Wallace 
Goldsboro NC 



From the Source 

I noticed two errors in James Downey's 
"Sample the 6100" article (December 1979 is- 
sue, p. 54). First, the schematic on page 55 has a 
component labeled IM6103; it should be la- 
beled IM6403. Second, the statement "DECUS 
Society . . . membership is limited to users of 
Digital Equipment's machines" is misleading. 
Anyone with a bona fide interest in DECUS 
may apply for associate membership simply by 
filling out an application. No CPU serial 
number is required as in the installation mem- 
bership application. 

Mr. Downey's article is excellent, and I am 
happy to see the IM6100 mentioned in your 
magazine as I believe it has considerable un- 
realized hobby potential. 

Dave Kocsis 

Supervisor, Software Design 

Intersil, Inc. 

Cupertino CA 



Amen 

In "Heath's H 19: A Detailed Look" (Febru- 
ary 1980 issue, p. 58), Ralph Wynkoop recom- 
mends scraping "all the way around the leads 
of all components . . . with a penknife." 

I want to say "amen" to this practice and 
make a recommendation of my own. After 
scraping all leads (gently, very gently), I clean 
everything with isopropyl alcohol. I also wipe 



the solder I am going to use and the PC board 
pads on both sides. At one time, I cleaned only 
the component leads. Then I started cleaning 
the PC board and discovered that everything 
soldered faster and used less solder, and that 
there was less flux contamination of the areas 
around the soldered connection. 

One word of caution: do not use rubbing 
alcohol. It contains emollients such as lanolin 
and will contaminate everything wiped with it. 

William J. Hartweg 
Staten Island NY 



26 to 20 

I want to thank Wayne Green and everyone 
associated with Microcomputing for such an 
excellent publication. It has been interesting 
watching the magazine grow to its present state. 

I also want to thank Pete Stark for his series 
on the SWTP computer system. My 6800 sys- 
tem has benefited considerably from his arti- 
cles. 

In part 9 (February 1980) of the series, Pete 
points out a BASIC bug concerning the use of 
an MP-S interface with SWTP Disk BASIC 
Version 3.0. The recommended fix consists of 
changing a byte of memory in location 1472 
from 26 to 20. Upon examining memory, I 
found a 26 not at 1472 but at 1477. Changing 
the 26 at this location to 20 allowed my newly 
interfaced Heath H14 printer to come alive. 

Darwin Frerking 
Garland TX 



AMI VDG Source 

I've been receiving dozens of calls and letters 
concerning the S64807 (see February 1980 is- 
sue, p. 148). The S68047 is not pin-compatible 
with Motorola's 6847; the S68047 is available 
by mail from Advanced Computer Products, 
PO Box 17329, Irvine CA 92713, (714) 558- 
8813. 

John C. Mein 
Arvada CO 



Expandoram Tip 

Ron Derynck's article on the S.D. Sales Ex- 
pandoram in the December 1979 issue of Mi- 
crocomputing was really good. I experienced 
the same problem, and his fix was the key to 
correcting it. Here is a tip for anyone who has 
an Expandoram with 8K chips. Wire the board 

(see LETTERS, page 238) 



20 Microcomputing, April 1980 



A Few Extraordinary Products for Your 6800/6809 Computer 




From Percom 



^13 



Low Cost 
Mini-Disk Storage 
in the Size You Want 







!ii 



J B »l 



;l H«i 



Percom mini-disk systems start as 
low as $599.95, ready to plug in and 
run. You can't get better quality or a 
broader selection of disk software 
from any other microcomputer disk 
system manufacturer — at any price ! 

Features: 1 -, 2- and 3-drive systems 
in 40- and 77-track versions store 
102K- to 591K-bytes of random ac- 
cess data on-line • controllers in- 
clude explicit clock/data separation 
circuit, motor inactivity time-out cir- 



cuit, buffered control lines and other 
mature design concepts • ROM 
DOS included with SS-50 bus ver- 
sion — optional DOSs for EXOR- 
ciser* bus • extra PROM sockets 
on-board • EXORciser* bus version 
has 1 K-byte RAM • supported by ex- 
tended disk operating systems; as- 
semblers and other program de- 
velopment/debugging aids; BASIC, 
FORTRAN, Pascal and SPL/M lan- 
guages; and, business application 
programs. 




fill till i 

■■III* 






**>**. 




EXORciser* Bus LFD-400EX™ -800EX™ Systems 



^14 




Full Feature Prototyping PC Boards 

Percom SS-50 and I/O bus prototyping 50-pin ribbon connectors on top edge, 

cards include all of the features needed 10-pin Molex connector on side edge 

for easy, straightforward prototyping, —costs only $24.95. • I/O bus card is 

Use wire wrap, wiring pencil or solder 1-1/4" higher than SWTP I/O card, ac- 

wiring. Features: tin-lead plating over 2 commodates 34-pin ribbon connector 

oz. copper wets quickly, solders easily and 12-pin Molex connector on top 

provision for power regulators and dis- edge — costs only $14.95 • Both card 

tributed capacitor bypassing • SS-50 designs accept 14-, 16-, 24- and 40-pin 

bus card accommodates 34- and DIP sockets. 



^15 



Upgrade to 6809 Computing Power 



This 6809 upgrade adapter may be used on the SWTP 6800 
and most other 6800/6802 MPU cards. Supplied assembled 
and tested, it costs only $69.95 with user instructions. The 
original system may be restored by merely unplugging the 
adapter and a wire-jumpered DIP header, and re-inserting 
the original components. Also available for your upgrade 
computer is PSYMON™, the Percom SYstem MONitor for the 
Percom 6809 single-board computer. PSYMON™ on 2716 
ROM costs only $69.95 — PSYMON™ is also available on 
minidiskette, with source and object files, from the Percom 
Users Group. 



™ trademark of Percom Data Company, Inc 
* trademark of the Motorola Corporation. 

Prices and specifications subject to change without notice. 



The Electric Window™: Instant, Real-Time Video Display Control 
This VDC card resides completely in main memory so that control is 
accomplished instantly by direct MPU access to the on-board 2K 
character-store memory and the display control registers. Price is only 
$249.95. Features: Programmable CRT controller chip provides ex- 
traordinary capability for software control of functions such as number 
of characters per line, 
number of lines dis- 
played, highlighting and 
interlaced or non- 
interlaced scan • in- 
cludes ASCII 128-unit 
character generator 
which generates 7-dot 
by 12-dot characters — 
lower case letters have 
descenders • provision 
for optional ROM for 
special characters/ 
symbols • comprehen- 
sive manual includes full 
listing of WINDEX™, the 
Electric Window™ driver 
program — WINDEX™ 
is also available on 
minidiskette through the 
Percom Users Group. 




PEflOCM 



PERCOM DATA COMPANY, INC. 

211 N KIRBY GARLAND TEXAS 75042 
(214)272-3421 



Products are available at Percom dealers nationwide. Call toll-free, 
1-800-527-1592, for the address of your nearest dealer, or to 
order direct. 




^Reader Service — see page 257 



Microcomputing, April 1980 21 




"Percom Sells More 
Microcomputer Disk 

Systems Than Any 
Other Peripherals 
Manufacturer. 

I'd like to 
show you 




i** *,-/ft\0 



*.** #<***« 



..»l |«M)W 



g»% t^W** 



^fc.***** 






"Percom has been manufacturing mini-disk storage systems for microcomputers since 1977 
when we introduced the 35-track, single-drive LFD-400™. Now we produce 1-, 2- and 3-drive 
systems in 40- and 77 -track versions, a multi-density MEGABASE™ system and a host 
of accessories and software. 

"Volume not only means experience in critical production and testing operations, it also 
means we can offer superior design features, extra testing and qualified backup support at 
very competitive prices. 
"I know of no other microcomputer disk system manufacturer who even begins to offer 

the broad spectrum of disk equipment and programs available from Percom." 
"So before you buy a mini-disk system for your 6800, 6809 or TRS-80* computer, take a 
good look at what the people at Percom have to offer." Harold Mauch 

President, Percom Data Company 



Percom disk systems start at only $399.00. Disk systems and other 
quality Percom products are available at computer dealers nationwide. 
Call toll-free, 1-800-527-1592, for the locations of dealers in your 
area, or to order direct. 



^17 



PEFGCM 



PERCOM DATA COMPANY, INC. 
211 N KIRBY GARLAND. TEXAS 75042 

(214)272-3421 



PRICES AND SPECIFICATIONS SUBJECT TO CHANGE WITHOUT NOTICE. 

TM trademark of Percom Data Company, Inc. 'trademark of Tandy Radio Shack Corporation which has no relationship to Percom Data Company. 



22 Microcomputing, April 1980 



4 'From an efficient lK-byte control system DOS 
to high level languages such as FORTRAN 

and Pascal, no other 
microcomputer disk 
systems manufacturer 
provides the range and 
quality of development 
and application programs 
available from Percom. ,, 




.; 






"Connie is running a 'cats eye' test on a mini-disk 
drive to check radial track alignment. Drive motor- 
speed timing and sensor alignment tests have already 
been performed. Disk formatting and format 
verification tests are next. These 
measurements are part of the 
100% testing every single 
unit receives." 



'Whether you call about a 

shipping date or ask a tough 

technical question, you get a 

competent courteous answer. 

Outstanding customer service 

is a hallmark of Percom 





"Richard's making final 
changes to a disk controller 
which will allow Percom drives to 
be used with yet another computer. 
We're constantly developing and 
introducing new products that extend 

and enhance ^k «*^ the value of 

Percom 
systems. 1 



"Slipping a circuit board through the eye of a needle would 

be easier than slipping a cold solder joint past Beverly. These 

are four-drive LFD-400/800 disk system controllers 

she's inspecting." 




^Reader Service — see page 257 



Microcomputing, April 1980 23 



Green-Thumb 



Computing 



A computerized cornucopia awaits you if 



Robert H. Rhoades 
Rt. 1, Box 456 
Scottsdale AZ 85256 




It's time to plan the garden. I 
decided to use my SWTP sys- 
tem to plan my garden. 



After a long think-and-read 
session, I came up with the fol- 
lowing most needed data for 
planning a garden: planting and 
yield information; soil informa- 
tion; companion planting; suc- 
cession planting; best varieties; 
some text material. 

Planting information includes 



plant spacing in a row, distance 
between rows, depth of seed, 
yield per 100 feet. See the pro- 
gram listing and sample run for 
an explanation of planting and 
yield information. 

Companion planting lists 
plants that get along with or 
help the vegetable they are 



) planted next td>. For instance, 
J beans planted with corn help 
promote the growth of both. 
Onions planted next to cole 
crops (cabbage, broccoli) deter 
cabbage worms, but they tend 
to stunt the growth of beans 
and peas. 

Succession plants are vegeta- 



Program 1. 

0020 REM WRITTEN BY R H RHOADES 

0050 REM 7-20-78 

0060 PRINT "THE GREEN THUMB COMPUTER": PRINT 

0070 PRINT "THIS PROGRAM ALLOWS MANY" 

0075 rRINT "DIFFERENT FILES ON VEGETABLES." 

0085 PRINT : PRINT 

0200 DIM Af(10),B$(2),C$(I0)»W(10} 

0205 DIM E$(10),F$<30> 

0300 PRINT "DO YOU WANT TO:" 

0310 PRINT "1. CREATE A NEW FILE OR CORRECT" 

0320 PRINT " AN OLD ONE." 

0330 PRINT "2. LOOK AT A FILE" 

0340 PRINT "ENTER 1 OR 2" 

0350 INPUT X 

0360 IF X=l THEN1000 

0370 IF X=2 THEN3000 

0380 GOTO 300 

1000 PRINT "BffER CODE WHEN ASKED" 

1005 PRIHT 

1006 GOTO 7100 

1007 REM - PICK OUT THE CODE OF THE 

1008 REM - VEGETABLE WHOSE FILE YOU WANT 
10«'i9 REM - TO WORK ON. 

1010 INPUT "ENTER VEGETABLE'S C0DE",M$ 
1015 INPUT "VEGETABLE'S NAHE",N$ 
1025 PRINT "PLANTING INFORMATION" 
1030 INPUT "DAYS TO GERMINATION ",A$(1> 
1040 INPUT "DAYS TO TRANSPLANTING MHC2) 
1050 INPUT "DAYS TO HARVEST ",A$(3) 
1060 INPUT "PLANT SPACING IN ROW U ,A$(4) 



1070 

1080 

1090 

1100 

1110 

1120 

1200 

1210 

1220 

1295 

1297 

1298 

1290 

1300 

1310 

1320 

13*0 

1399 

1400 

1410 

1420 

1430 

1499 

1500 

1510 

1520 

1330 

1598 

1599 

1600 

1610 



INPUT "SPACE BETWEEN ROWS ",A$(5> 

INPUT "SEED PLATING DEPTH ",A$(6> 

INPUT "PLANTING DATES ",A$U0> 

INPUT "PLANTING PER PERSON \A$(7) 

INPUT "PLANTS PER 100' ",A$(8) 

INPUT 'YIELD PER 100' ",A$<9> 

PRINT "SOIL INFORMATION" 

INPUT "SOIL TYPE ",B$(1) 

INPUT "PH *,B$(2) 

PRINT :PRINT 

PRINT "ENTER IN ANY UNUSED LINES" 

PRINT "OF THE NEXT FOUR SECTIONS. ' 

PRINT :PRINT 

PRINT "COMPMICfl PLANTS" 

FOR I=1T010 

PRINT I;:INPUTC$U> 

NEXT I 

PRINT 

PRINT "SUCCESSION PLANTS" 

FOR I=lT01O 

PRINT I;:INPUTD$M) 

NEXT I 

PRINT 

PRINT "BEST VARIETIES" 

FOR I=1T010 

PRINT I?:INPUTE$(I) 

NEXT I 

REM - HERE WE CAN ENTER ANY GENERAL 

REM - INFO WE WANT TO INCLUDE IN THE FILE 

PRINT "GENERAL INFORMATION" 

FOR I=1T030 



1620 PRINT I;:IHPUTFI(I> 
1630 NEXT I 

1809 REM - NOW WE WRITE THE FILE ON THE DISK 

1810 OPEN #1,M$ 
1820 SCRATCH #1 
1825 WRITE #1,N* 

1830 FOR I=1T010:WPITE#1,A$(I):NEXTI 
1860 FOR I=1T02:WRITE#1,B$U):NEaTI 
1900 FOR I=lT010:WR!TE#t.:$m:NEXTI 
1940 FOR I=lTi">H"):WPITE#l,D*<;):NEXTI 
1970 FOR I=IT010:WRITE#1.E$(P:HEXTI 

FOR I=lTn3f>:WRITE41,FSC>:NEXTI 

CLOSE II 

INPUT "WRITE ANOTHER FILE (Y OR NO) Ml 

IF X$="Y"THEN!00C> 

GOTO 5020 

REM 0UTPl.IT 
3010 PRINT "ENTER CODE WHEN ASKED" 
3015 GOTO 7100 

3017 REM - PICK OUT THE COOE OF THE 

3018 REM - VEGETABLE WHOSE FILE YOU WANT 

3019 REM - READ OR PRINT-OUT. 

3020 INPUT "E>frER VEGETABLE'S C0DE">M$ 
3050 OPEN #1,MI 

3060 REAL ll,N$ 

303" FOR I=1T010:READ#1,A$(I):NEXTI 
3110 FOR I=1T02:REAOI1*B$(I):NE;.:TI 
3140 FOR :=iTOtO:READ«M:$(I):NEXTI 
3170 FOR I=lT010:READ#l,D*n):NEXTI 
3200 FOR I=lT010:PEAD41,E$a>:NEXTI 
3210 FOR I=lT030:READil*F$(I):NEXT] 



1999 
2000 
201't 
2020 



24 Microcomputing, April 1980 




LEAF LETTUCE 

PLANTING INFORMATION 
DAYS TO GERMINATION 4 TO 10 
DAYS TO TRANSPLANT 20 TO 35 
DAYS TO HARVEST 45-60 FROM SEED 
PLANT SPACING IN ROW 6-12" FINAL 
SPACE BETWEEN ROUS 6" TO 12" 
SEED PLANTING DEPTH 1/4" TO 1/2" 
PLANTING DATES 9-1 TO 3-1 

YIELDS 

PLANTING PER PERSON 6-12 FEET 

PLANTS PER 100' 200 

YIELD PER 100' 150-200 PLANTS 

SOIL INFORMATION 

SOIL TYPE - MOIST AND RICH 

PH - 6.0 - 7.0 

COMPANION PLOTS 

(A) = ALLIES (HELP) 

(E) ■ ENEMIES (HARM) 
CARROTS 
RADISH 

STRAWBERRIES-BORDER FOR BERRIES 
CUCUMBERS 

KOHLRABI (INTERCROP) 
ONIONS (A) 
GARLIC (A) 
BUSH BEANS (A) 
POT MARIGOLDS (A) 

SUCCESSION PLANTS 

SWISS CHARD 

BEANS 

KALE 

CABBAGE FAMILY 

CUCUMBERS 

TOMATOES 

CARROTS 

RADISH 

BEST VARIETIES 

(I) = APPROXIMATE DAYS TO HARVEST 

BLACK SEEDED SIMPSON (45) EARLY 

SALAD BOM. (48) MIDSEASIN 

SLOBOLT (48) HIDSEASON 

OAKLEAF (50) HIDSEASON 

RUBY (47) 

GRAND RAPIDS (45) HIDSEASON 

GREEN ICE (45) HIDSEASON 

GENERAL INFORMATION 
GROWS BEST IN COOLER WEATHER 
OR IN SHADY PLACES. PLANT EVERY 
2 IKS. MULCH ALONG ROWS AND 
BETWEEN PLANTS. SUCCESS DEMANDS 
MOISTURE I NUTRIENTS. PLANTS 
SHOULD NOT TOUCH FOR BEST GROWTH 
USE THINNINGS IN EARLY SALADS. 
MAY BE PLANTED A WEEK BEFORE 
THE LAST EXPECTED FROST. 



bles that can be planted after 
earlier ones have been har- 
vested. This type of planting will 
extend your production by using 
space that would otherwise lie 
fallow. With today's food prices, 
it makes sense to get as much 
production as possible. You can 
then store a portion of the yield 
to eat later, and at a cheaper 
price than at the supermarket. 

Best varieties are those best 
suited for your locality and 
taste. These are best deter- 
mined by experience — yours 
and that of others. Most of the 
data in a file comes from the ex- 
perience of your style of garden- 
ing. For example, I use raised 
beds, where leaves and other 
organic matter have formed a 
rich humus. This allows me to 
plant at much closer intervals 
than is normally advised. 



Text material, or general infor- 
mation, as it is labeled in the 
program, allows you to enter tid- 
bits of extra information you 
might want to include. You are 
allowed up to 30 32-character 
lines for this item. 

The System 

Before explaining the pro- 
gram, I will list the specifica- 
tions of my system: 

1. SWTP 6800 with SWTBUG. 

2. 32K of memory. 

3. SWTP FLEX DOS and 8K 
Disk BASIC (3.0). 

4. SWTP MF68 dual drive mini- 
floppy. (Only one drive is 
needed for this program.) 

5. SWTP PR-40 printer. 
Because the PR-40 types only 

40 columns, I set the string vari- 
ables at 32 characters. If you 
have a longer line length avail- 
able on your printer, you can ex- 
pand this length if you need to. 
Slightly over 4K of memory is 
needed for the program and 
2.3K for the file that is gener- 




ated. 16K plus the 4K needed for 
FLEX at 7000 to 7FFF would be 
adequate for the program in its 
present form. 

Now for a step-by-step review 
of the program. Lines 200-205 
set up the dimensions of each of 
the arrays in memory files. 

Writing a File 

The 300 series of lines gives 
you the choice of either (1) 
creating or correcting a file or (2) 
looking up a file on the disk. You 
are asked to enter 1 or 2, which 
directs the program to either 
line 1000 or 3000. 

Lines 1000 through 2999 are 
used to write a new file or cor- 
rect an old one. You can use the 
TSC Text Editor to edit the file. 

Line 1006 directs the program 
to the 7000 series lines, which 
contain a list of vegetables and 
their respective codes. Lines 
7300 and 7310 then direct the 
program back to the proper rou- 
tine (write or read). 

Line 1010 now requests that 
you enter the alphanumeric 
code of the vegetable for which 
you are about to write a file. This 
code becomes the name of the 
disk file. Line 1015 requests the 
name of the vegetable for which 
you will be entering data. 



3250 CLOSE #1 

3400 PRINT "WANT A PRINT-OUT (Y OR N>"! 

3410 INPUT Z* 

3420 K=1:IFZ$="Y" THEN K=7 

3490 PRINT #: PRINT**: PRIMTIK 

3900 PRINT *K,N$ 

3510 PRINT IK 

3520 PRINT IK, "PLANTING INFORMATION" 

3530 PRINT IK "DAYS TO GERMINATION ";AN1) 

3540 PRINT IK, "DAYS TO TRANSPLANT ";AN2) 

3550 PRINT IK, "DAYS TO HARVEST ",*AN3) 

3560 PRINT IK. "PLANT SPACING IN ROW ";AN4> 

3570 PRINT IK, "SPACE BETWEEN ROWS ":AN5) 

3990 PRINT IK, "SEED PLANTING DEPTH ";AN6) 

3585 PRINT IK, "PLANTING DATES "MM 10) 

3590 PRINT IK: IFZ$="Y" THEN 3600 

3595 INPUT "PRESS 'RETURN' TO GO ON'SRI 

3600 PRINT IK, "YIELDS" 

3610 PRINT IK, "PLANTING PER PERSON *?*(?> 

3620 PRINT IKS "PLANTS PER 100' M iAN8) 

3630 PRINT IK, "YIELD PER 100' ";A$(9> 

3699 PRINT IK 

3700 PRINT IK, "SOIL INFORMATION" 
3710 PRINT IK, "SOIL TYPE - "?»(1J 
3720 PRINT #S"PH - M ?BN2) 

3790 PRINT IK:IFZ$="Y"THEN38O0 

3795 INPUT "PRESS 'RETURN' TO GO ON'SRI 

3800 PRINT IK, "COMPANION PLANTS' 

3802 PRINT •OTAtOM'fA! = ALLIES (HELP)" 

3603 PRINT IK,TAB(3»;"(E) ■ ENEMIES (HARM" 

3810 FOR WT010 



3820 IF CMDv'O' THEN 3690 

3830 PRINT IK.CNII 

3*40 NEXT I 

389U PRINT IK: IF ZNTTHEN 3*00 

3S?5 INPUT "PRESS 'RETURN- TO 00 CW.M 

3S9? PRINT UK 

39u0 P*!«T #S "SUCCESSION PLANTS" 

3910 FOR I=1T010 

3920 IF D$(I!="0"THEN3990 

3930 PRINT #K,DNP 

3940 NEXT I 

3990 PRINT ■ft!FZ$*"Y"THEN4000 

3993 INPUT "PRESS 'RETURN' TO 00 0N*,W 

400'' PRINT IKS "BEST VARIETIES" 

4002 PRINT «,'(•) ■ APPROXIMATE MVS TO HARVEST" 

4010 FOR MTO10 

4020 IF E«a)="0"THEN4080 

4030 PRINT IK, EN I) 

4040 NEXT I 

4080 PRINT W. 

4090 IF Zf="Y" THEN 4100 

4095 INPUT "PRESS 'RETURN •" TO 00 ON'SRI 

4100 PRINT #K, "GENERAL INFORMATION" 

4110 FOR 1=1 TO 10 

4120 IF FNI)="0" TNEN9000 

4130 POINT IK, FN I) 

M40 NEXT I 

414S IF Zf="V" THEN 4160 

4150 INPUT "PUBS 'REPJUT TO 00 0N".W 

4160 FOR 1=11 TO 20 

4170 IF Fi(I)« "0" THEN 5000 



Microcomputing, April 1980 25 




4190 
4195 
4200 

4210 

4220 
4230 
*240 
4250 
50<X> 
5010 
502'} 
7o93 
709? 
7100 
7 105 
7110 
7115 
7120 
7125 
7130 
7135 



jr> 



NEXT I 

IF Z$="Y" THEN 4210 

INPUT "PRESS 'RETURN' TO 90 0NM» 

FOR 1=21 TO 30 

IF FI(I)» "0" THEN 9000 

PRINT MC.FI(I) 

NEXT I 

PRINT m PRINTS 

PRINT #K: IMPIJT M READ ANOTHER FILE (Y OR N)".Z$ 

IF 2$="Y M THEN3000 

PRINT "END": END 

PRINT "CODES AND VEGETABLE NATES." 

PRINT "A IS CODE FOR ASPARAGUS. ETC.": PRINT: PRINT 

PRINT "A= ASPARAGUS" 

PRINT "B= BUSH BEAN" 

PRINT "Bl= POLE BEAN U ;TAB(20);"B> BEET" 

PRINT "B3= BR SPROUTS" ; TAB ( 20 };"B4= BROCCOLI" 

PRINT K C- CABBAGE"?TAB(20);"C1= CAULIFLOWER" 

PRINT "C2= CARROT"?TAB(20);"C3= CELERIAC" 

PRINT "C4= CELERY" ? TAB( 20 )?"C5= CHARD" 

PRINT "C6= C0RN";TAB(20);"C7= DJKES, HILL" 



7136 PRINT "C8= CUKES, TRELLISEH" 

7140 PRINT M K= KALE"?TAB(20)?"K1= KOHLRABI" 

7145 PRINT 1= LEEKS"? TAB (20)! 11= LEAF LETTUCE" 

7146 PRINT "L2= BUTTERHEAD LETTUCE - 

7147 PRINT "L3= CRISP HEAD OR ICEBERG LETTUCE" 
7143 PRINT "L4= COS OR ROHAINE LETTUCE" 

7150 PRINT "lt= MELONS" 

7155 PRINT "0= 0KRA";TAB(2O)?"01= ONIONS" 

715? INPUT "PRESS 'RETIRN' TO GO ON", R$ 

7160 PRINT "Pl= PARSLEY';TAB(20)?"P2= PARSNIP" 

7165 PRINT "P3= PEAS'? TAB ( 20 >;"P4= PEPPFRS" 

7170 PRINT "P5= P0TAT0ES"?TAB(20)?"P6= PUMPKIN" 

7180 PRINT "R= RADISH"?TAB(20)?"R1= RHUBARB" 

7185 PRINT M R2= RUTABAGA" 

7190 PRINT "S= S«.SIFY';TAB(20);"<>1= SPINACH" 

7195 PRINT "S2= SUMMER SQUASH" ? TAB ( 20 )?"S3=U INTER SQUASH* 

7200 PRINT "S4= SW POTAT0E";TAB(2O)?"S5= STRAWBERRY" 

7205 PRINT "T= T0MAT0E";TAB(20)?"T1= TURNIP" 

7300 IF I»l THEN 1010 

7310 IF X=2 THEN 3020 

7400 REM - AREA FROM 7500 TO 9999 IS 

7401 REM - FOR FUTURE EXPANSION 



Lines 1030 through 1299 are 
self-explanatory. Beginning 
with line 1300, FOR-NEXT loops 
are used to enter the other data 
and the general information that 
you may want to include. 

If, while entering data into the 
file, you find that you do not 
have enough data to fill in the 
rest of the prompt lines, type in 
for each of the remaining input 
requests. This input tells the 
output section of the program to 
go to the next section of the file 
(note lines 3820, 3920, 4020 and 
4120). 

Lines 1810 to 1999 write the 
file onto the disk. Line 2000 asks 
if you want to write another file, 
and line 2020 ends the program 
if you don't. 

Read or Print Out a File 

The output section of the pro- 
gram begins at line 3000. The 
program again takes you 
through the 7000 series of lines 



to get the vegetable code. After 
inputting the code in line 3020, 
the file is read into memory from 
the disk by lines 3050 through 
3250. If a code is entered for 
which a file has not yet been 
written, you will get a "NO 
SUCH FILE" error message. The 
program will abort and return 
to BASIC. Type RUN and start 
over. If you don't remember 
which files you have on the disk, 
type CAT and check. Be sure 
you do this before you type 
RUN. 

Line 3400 then asks if you 
want a printout. If you answer 
yes, the machine will output to 
the printer at port 7. If your 
printer is on any other port, 
change the value of the last K in 
line 3420 to the proper port 
number. The first value, K = 1, 
directs the output to the CRT on 
port 1. 

Lines 3490 through 4999 print 
the information either on the 



CRT or printer (see the sample 
run). 

There is a delay used in lines 
7154, 3595, 3795, 3895 and 3995 
to allow you sufficient time to 
read what is displayed on the 
screen. You even have enough 
time to write down the data if 
you don't have a printer. These 
pauses have been placed so 
that my screen (16 lines) is not 
quite filled. The program con- 
tinues after you press the 
RETURN key. 

Lines 5000 through 5020 
either send you back for another 
file or end the program. 

The development of this pro- 
gram has been a great learning 
experience for me. I thought I 
had a fairly adequate knowledge 
of how to program in BASIC un- 
til I wrote this program. Before 
this, I had written several small 
programs for my work and al- 
tered many ham radio programs 
to work in SWTP 8K BASIC. 



In preparing this article, I 
used the disk version of TSC's 
Text Editor and Text Processor 
for the first time, other than for 
practice. If you are planning to 
write an article, get a good 
editor/processor such as this. 
TSC now has published 8080 
versions. 

Afterthoughts 

After writing this article, I 
noticed that, with suitable alter- 
ations, the program could be 
used for other purposes. How 
about listing hundreds of your 
favorite recipes? If you reload 
your own shot shells or rifle and 
pistol ammunition, you could 
use this program format. All in 
all, the general scheme shows a 
lot of possibilities, and I am sure 
you will be able to adapt it to 
your needs. 

Those readers with more pro- 
gramming experience than I 
may see ways to improve the 
program. Let me know. I am 
willing to learn. 

I made no attempt to adapt 
this program to saving the files 
on tape. Tape files would only 
allow for 26 vegetables (A to Z). 
In fact, it was because of trou- 
bles with tape files that I 
splurged and bought the mini- 
floppy. Have you ever had to re- 
copy 250 names, addresses and 
due records three times? The 
minifloppy has been well worth 
its cost in time saved and avoid- 
ance of problems. 

My thanks to Roger Smith of 
Personal Computer Place for his 
encouragement and help. A disk 
copy of this program is available 
from Personal Computer Place, 
1840 West Southern Ave., Mesa 
AZ 85202, for $10 per disk. ■ 



From Computer Packages Unlimited* ORDERING INFORMATION * 



■a 

<: 
<: 
•& 

<: 



APPLE II 16K 


$1075.00 


APPLE II PLUS 16K 


$1075.00 


APPLE DISC W/CONTROLLER 


$565.00 


APPLE DISC ONLY 


$470.00 


APPLE 16K RAM 


$140.00 



From Apple-Jack* 
The Designer 48K Disk $24.95 

Hi-res graphics with the stroke of a key! X & Y 
coordinates using paddles. Circles, ellpses, arcs, 
rectangles, lines, color windows. Save drawing on 
disci I 
Super-Starbase-Qunner 

48KDisk $19.95 

32K Cassette $14.95 
3-Dimensional Hi-res graphics action game! Super 
sound effects ... 10 levels of play. Uses paddles or 

Joy-stick. 



Inventory Control System 

An integrated data processing system, designed by a 

Certified Data Processor to control and report your 

inventory. Menu-driven, keyed-access, built-in sorts 

and back-ups. Unique reporting capability by any 

combination of characters within the key. Handles 

up to 1000 items. 

Includes a Cash Register module which produces 

sales slips and maintains inventory on a REAL-TIME 

basis. 

Requires 48K Applesoft ROM, 2 disk drives, and an 

80-column printer (P-1 can be used). 

Although system is self-prompting and virtually 

"operator-proof", an easily-understood manual is 

provided, along with file-layouts in the event you wish 

to access your files with your own program. 

Introductory price $195.00 



► PRICES INCLUDE SHIPPING «* 

(Continental U.S. Only) 

Hawaii, Alaska, APO/FPO 

Add 2% Shipping 

We ship UPS so please include Street Address, or 

Phone Number. 
Check, Money Order, VISA or Master Charge. Personal 

checks require 2 weeks to clear. 

COD shipped ONLY with 10% down payment included 

with your order. 

Mass. residents add 5% sales tax 

All products subject to availability 



cpu 

I 244 West 



COMPUTER 

PACKAGES 

UNLIMITED 



(Both require Applesoft in ROM) 

•We are the exclusive distributor of Apple-Jack and CPU software. For further information, please 

write or call. Dealer inquiries are invited. 



Boylston Street 
West Boylston, MA 01583 
(617)835-3428 



a- 

a- 

a- 

a- 
a- 
a- 



«*a***a**i>*<r<r*r<*i***i*i**ai**<>**i>i*^*i*^^ 



26 Microcomputing, April 1980 




BASIC SOFTWARE LIBRARY 

NOW * 10 • Volumes and Growing 

IS SPONSORING A 

$10000.00 Give Away 

And unlike others we are giving a large portion in CASH that you Don't have to spend with us. You are 
eligible NOW! You may already be entered. More details in future advertisements. 

We have over 100,000 in circulation since 1975 and we are still around and That's more than Anyone else can say. We 
used to sell hundreds of programs individually, the programs in Volume X were sold for several years at over $10,000, 
in Volume III for over $6,000 but a few years ago we decided to promote software to the mass public and it was an 
instant success. We are still several years ahead of our time in our marketing concepts as well as our products and we 
are going to be making another major change in the market. We are going to offer our programs in cassette form. NOT 
just one of two programs like everybody else. But a book full of programs for just $9.95. 

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



Vol. I $24. 

Business & 
Personal 
Bookkeeping 
Programs 

Bond 

Building 

Compound 

Cyclic 

Decision 1 

Decision 2 

Depreciation 

Efficient 

Flow 

Installment 

Interest 

Investments 

Mortgage 

Optimize 

Order 

Pert Tree 

Rate 

Return 1 

Return 2 

Schedule 1 

Games & 
Pictures 



95 

Animals Four 

Astronaut 

Bagel 

Bio Cycle 

Cannons 

Checkers 

Craps 

Dogfight 

Judy 
Line Up 
Pony 
Roulette 
Sky Diver 
Tank 
Teach Me 

A. Newman 

JFK. 

Linus 

Ms. Santa 

Nixon 

Noel Noel 

Nude 

Peace 

Policeman 

Santa's Sleigh 

Snoopy 

Virgin 



Vol. II $24. 

Binomial 

Chi-Sq. 

Coeff. 

Confidence 1 

Confidence 2 

Correlations 

Curve 

Differences 

Dual Plot 

Exp-Distri 

Least Squares 

Paired 

Plot 

Plotpts 

Polynomial Fit 

Regression 

Stan 

Stat 2 

T-Distribution 

Unpaired 

Variance 1 

Variance 2 

XY. 

APPENDIX A 



95 

Beam 

Conv. 

Filter 

Fit 

Integration 1 

Integration 2 

Intensity 

Lola 

Macro 

Max. Min. 

Navaid 

Optical 

Planet 

PSD 

Randl 

Rand 2 

Solve 

Sphere Trian 

Stars 

Track 

Triangle 

Variable 

Vector 



Vol. Ill 
$39.95 

Billing 

Inventory 

Payroll 

Risk 

Schedule 2 

Shipping 

Stocks 

Switch 

Vol. VI 

$49.95 

Mini-Ledger 

Payroll 

A/R 

Inventory 

Peprec. 

Ledger 



Vol. VII 
$39.95 

Chess 
Medbil 
Wdproc 
Utility 



Vol. IV 
$9.95 

Bingo 

Bonds 

Bull 

Enterprise 

Football 

Funds 1 

Funds 2 

Qo-Moku 

Jack 

Life 

Loans 

Mazes 

Poker 

Popul 

Profits 

Qubic 

Rates 

Retire 

Savings 

SBA 

Tic-Tac-Toe 



Vol.V 
$9.95 

Andy Cap 

Baseball 

Compare 

ConfidIO 

Descrip 

Differ 

Engine 

Fourier 

Horse 

Integers 

Logic 

Playboy 

Primes 

Probal 

Ouadrac 

Red Baron 

Regression 2 

Road Runner 

Roulette 

Santa 

Stat 10 

Stat 1 1 

Steel 

Top 

Vary 

Xmas 

APPENDIX B 



Vol. VIII 
$19.95 

1040-Tax 

Balance 
Checkbook 
Instol 78 
Deprec 2 
APPENDIX C 



Vol. IX 
$19.95* 

Auto 

Cypher 

Hurrtrac 

ID 

Lorana 

Map 

Navigate 

Omega 

Patterns 

Radar 

RDF 



Favorites 
*10% Discount — Offer good 



Vol.X 

$69.95* 
Intro. 
A/R 
A/P 
Mer Inv 
Check 
Assets 
Payroll 
BalSh 
P/L 

Year End 
Data Base 
Tax Up 
Basic St. 
til April 30, 1980 



Add $1.50 per volume handling, all domestic shipments sent U.P.S. except APO 
and P.O. Box which go parcel post. Foreign orders add $6.00/volume for air 
shipment and make payable in U.S. dollars only. 

AVAILABLE AT MOST COMPUTER STORES 

Master Charge and Bank Americard accepted. 

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

Unlike others we have NOT raised our prices in five years 



Volume III— Part 1— Billing Inv. Pyrl. 
Volume VII — Part 1 — Chess 
— available on TRS-80 level II 
compatible cassette $9.95 

Add $1 .00 per tape Post ./ Handling 

Volume VI — Disk programs are 
compatible with TRS-80 disk basic 

The disk programs in Volumes VI, VII and X are 
written in (CP/M) M Basic and Disk Extended 
Microsoft Basic. Other programs written in BK 
Basic. 



OVER 116, 



III 




KEMCO, LTD. 

P.O. Drawer 2208G Petersburg, VA 23803 

24 hour Hot Line (800) 528-6050 
ext. 1184. In Arizona (800) 352-0458 



USE TODAY 



Allan Redstone 
24121 Stratford 
Oak Park Ml 48237 



Anal 



• it 



to-Digital 



Conversion 



For less than $5, the author built an AID converter for his COSMAC system. 



Like all red-blooded Amer- 
ican computer hobbyists, I 
salivate at the sight of ads for 
peripherals in each new issue 
of Microcomputing. However, 
as a student on a limited bud- 
get, I become disheartened as 
my eyes wander to the bottom 
of the page where they in- 
variably find a dollar sign 
followed by lots of numbers. 
This situation kept my 
COSMAC 1802 system small, 
but one peripheral I felt I had to 
have was an analog-to-digital 
converter. Therefore, I set out 
to make my own, and by substi- 



tuting software for some ex- 
pensive hardware, I was able to 
build one for under $5. 

What Is an A/D Converter? 

An analog-to-digital con- 
verter is a device that changes 
an incoming voltage into a 
binary word. In an 8-bit A/D con- 
verter, the output varies be- 
tween 00 and FF, depending on 
the input voltage. 

Therefore, if a 5 volt input 
voltage produces the maximum 
FF output, a 2.5 volt input 
should produce an output of 80. 
(See Table 1.) Most A/D con- 



verters can be calibrated so 
that the voltage that produces 
the maximum output can be 
changed to fit the user's needs. 

How It Works 

There are many different 
methods of A/D conversion, but 
the one I shall discuss is the 
successive approximation 
method. In a conventional suc- 
cessive approximation con- 
verter, a shift register outputs a 
bit to a D/A converter, which 
converts the binary bit into a 
voltage, which is fed into an op 
amp along with the input volt- 



age to be converted. 

If the D/A voltage exceeds 
the input voltage, the op amp's 
output will go high, and a 1 bit 
will be stored in another shift 
register. If there is no output 
from the op amp, a zero is 
stored. Both registers are then 
shifted, and the process con- 
tinues until the least signifi- 
cant bit is output from the first 
shift register. The second regis- 
ter then contains a binary word 
that is equivalent to the input 
voltage. 

The circuit for such a con- 
verter must contain two shift 




Hex 


Voltage 


00 


0.00 


10 


0.32 


20 


0.63 


30 


0.95 


40 


1.25 


50 


1.57 


60 


1.88 


70 


2.19 


80 


2.50 


90 


2.81 


A0 


3.13 
3.44 
3.75 


B0 


CO 


DO 


4.06 


E0 


4.38 


F0 


5.69 


FF 


5.00 



There's me with the whole setup. The perfboard just to the left of the enclosed keyboard is the A/D cir- 
cuitry. On the screen is an example of what can be done with the etch-a-sketch program and a little 
practice. 



Table 1. An AID converter 
produces the hex output 
when given the correspond- 
ing voltage. 



28 Microcomputing, April 1980 



FROM COMPUTER OUTPUT PORT 
SWITCH SELECT 
♦5V 12 3 4 

680(4) 



-vw- 



2K 
B7 o wv- 



■IK 



2K 

B 6 O WNr- 



IK 



2K 
B5 o wv- 



2K 
B4 o vw- 



Jl 



^ 



13 



+5V 
|l2 |l4 



4066 



IK 



2K 
B 3 o vw- 



680 



O 



INPUTS 



10 



♦ 5V 




(SPDT) 



TO EF3 



OP AMP 3900 
QUAD NORTON AMP 



2K 
B 2 o <wv- 



::,k 



2K 
B I o wv- 



IK 



2K 

B °— — vw- 



2K 



D/A OUTPUT 



I 



F/g. 7 BO through B7 are connected to the computer's output port, 
BO being the least significant bit. Resistors can be Va or % Watt 
types with 10 percent or less tolerance. When using the circuit for 
etch-a-sketch, short out the two most significant resistors in the 
resistor ladder by adding jumper J1 (dotted line) and connect 
switch-select leads 1 and 2 to computer output bits B6 and B7. 
When using only one input voltage, apply + 5 V to all four switch- 
select leads. 



registers and a clock, all three 
of which are unnecessary if the 
converter is \o be used with a 
computer. The computer can 
output the necessary bits to the 
D/A converter and decide 
whether a 1 or a should be 



f START ) 



INITIALIZE 
REGISTERS 



stored by sensing the op amp's 
output. This is precisely what 
my circuit does. 

Hardware 

The converter is a combina- 
tion 8-bit A/D and D/A converter 
(switch selectable). Using a 
COSMAC 1802-based system 
with a 1.7 MHz clock, the A/D 
circuit is capable of performing 
over 1000 conversions per sec- 
ond. 



REFERENCE 
REGISTER>80 




Close-up view of a picture drawn with the Etch-a-Sketch program. 



I built the circuit in Fig. 1 
on perfboard using standard 
components purchased at a 
local Radio Shack. It consists 
of a resistor ladder, an op amp 
and a quad analog switch. The 
resistor ladder serves as an 
8-bit D/A converter whose out- 
put is fed to the op amp along 
with the input voltage. 

By outputting the correct 
code to the quad switch, the 
computer can select up to four 
different inputs. The output of 
the op amp is connected to the 
1802's EF3 line, which can be 
sensed by the computer. 

Software Control 

The software for the system 
is concise, as shown by the 
flowchart in Fig. 2. The com- 
puter first outputs an 80, then 
tests the EF3 line. If the EF3 
line is high, the hex number 80 
will be added to a previously 
cleared register. The 80 is then 



shifted right and the new num- 
ber, 40, is added to the register. 

The contents of the register 
(now CO) are output, and EF3 is 
again tested. If EF3 is low, 40 is 
subtracted from the register, if 
it is high, the register is left 
alone. The 40 is then shifted 
and added to the register. 

This process continues until 
the carry flag goes high (each 
shift occurs in the accumula- 
tor, the D register in the 1802, 
and after each shift, the carry 
flag is tested), at which time all 
bits have been tested. The 
register then contains the cor- 
rect binary word (Program 1). 

Applications 

Some of the uses for an A/D 
converter include a digital 
voltmeter, digital thermometer 
or even a speech-recognition 
system. However, I bought my 
COSMAC system with pixie 
graphics for games, and cer- 



OR REF, REG 
WITH DATA TO 
BE OUTPUT 



I OUTPUT / 
/ DATA / 




YES 



SUBTRACT REF 
REG FROM 
OUTPUT DATA 



SHIFT REF REG 
RIGHT 



YES 





Fig. 2. AID program flowchart. 



My entire system. The two circuit boards in the center are the COSMAC Super Elf computer and 4K 
memory board. The perfboard just above the enclosed keyboard is the AID circuit. 

Microcomputing, April 1980 29 



♦ 5V 



R3 



TO I 
2 



-vw- 



J 



nput — »«: 



R2 $+ TO INPUT 



I 



Fig. 3. Etch-a-Sketch potenti- 
ometer circuit. 



tain games cannot be played 
without potentiometers for 
controls. By having a poten- 
tiometer vary the voltage to the 
A/D converter, I can manually 
"move" objects across my 
video display. 

An example of such a game 
is the famous Etch-a-Sketch 
game, which in the electronic 
version described here con- 
sists of two potentiometers: 
one controls the vertical direc- 



tion; the other, the horizontal. 
As you turn the controls, lines 
are drawn on the TV display. By 
turning both controls at the 
same time, you can make diago- 
nal lines (Program 2). 

The program takes data from 
the two potentiometers and 
converts it into Cartesian coor- 
dinates, which are plotted on 
the TV screen. (COSMAC pixie 
graphics have a resolution of 32 
vertical by 64 horizontal pixels.) 
The program also clears the 
screen each time the program is 
run. 

When only one input voltage 
is being used, the quad switch 
can be bypassed. However, 
when two inputs are used, such 
as in Etch-a-Sketch, the switch 
must be used, necessitating 
another output port. Since my 
system only has one output 



LOC 


INSTRUCTION 


COMMENTS 


00 


90 






Locations 00 through 2E contain 


01 


Bl 






the video refresh program. Location 


02 


B2 






19 contains the number of the 256 


03 


11 






byte page to be displayed. 


04 






Th« A/D conversion program begins 


05 


F8 


2D 




at location 2F 


07 


A3 








08 


F8 


FF 






0A 


A2 








0B 


F8 


11 






0D 


Al 








0E 


D3 








OF 


72 








10 


70 








11 


22 








12 


78 








13 


22 








14 


52 








15 


C4 


C4 


C4 




18 


F8 


02 






1A 


B0 








IB 


F8 


00 






ID 


A0 








IE 


80 








IF 


E2 








20 


E2 


20 


A0 




23 


E2 


20 


A0 




26 


E2 


20 


A0 




29 


3C 


IE 






2B 


30 


OF 






2D 


E2 








2E 


69 








2F 


30 


31 




GOTO 31 


31 


F8 


02 




R6.0»02 R6.1*02 R4.1*02 


33 


A6 








34 


B6 








35 


B4 








36 


E6 






X-6 


37 


F8 


00 




R4.0=00 


39 


A4 








3A 


F8 


00 




D»00 


3C 


56 






Put D into location selected by R6 


3D 


F8 


80 




R5.0»80 (Reference data) 


3F 


A5 








40 


85 






Put contents of R5.0 into D 


41 


Fl 






OR D with memory in location selected by X 


42 


56 






Put D into location selected by R5 


43 


63 






Output data in location selected by X 


44 


26 






Decrement R6 


45 


36 


4A 




If EF3=1 GOTO 4A 


47 


85 






Put contents of R5-0 into D 


48 


F5 






Subtract D from memory in loc. selected by X 


49 


56 






Put D into location selected by R6 


4A 


85 






Put contents of R5.0 into D 


4B 


F6 






Shift D right 


4C 


A5 






Put D into R5.0 


4D 


3B 


40 




If carry flag«0 GOTO 40 


4F 


06 






Put memory in location selected by R6 into D 


50 


54 






put D into location selected by R4 


51 


30 


3A 




GOTO 3A 


Program 1. 


AID software. To test the AID circuit, load the pro- 


grai 


m starting a 


t location 0000. Then apply various voltages to 


the AID circuit. 


The binary equivalent of the voltage should ap- 


pear on 


the screen at location 0200. 



port, I was confronted with a 
problem. 

After much deliberation, I 
decided to cut the A/D con- 
verter down to six bits and use 
the last two bits to provide the 
necessary pulses to the switch. 
I did this by shorting out the 
two most significant resistors 
in the D/A converter, and by out- 
putting a 20 to begin with rather 
than an 80 (Fig. 1). 

The potentiometers used in 
Etch-a-Sketch are 10k linear 
taper types (R1 and R2). Un- 
fortunately, it is almost im- 
possible to get potentiometers 



that are perfectly linear. There- 
fore, if the vertical control is 
turned all the way down, it may 
be necessary to turn the control 
almost one-quarter before a line 
forms on the screen. R3 solves 
this problem by adjusting the 
voltage into R1 and R2 (see 
Fig. 3). 

In order to calibrate R3, load 
the program and move the con- 
trols all the way down and to 
the right. Then reset the pro- 
gram to clear the screen, and a 
dot should appear in the lower 
right-hand corner. Turn R3 until 
the dot begins to move, and 



LOC 


INSTRUCTION 


COMMENTS 




4F 


06 






Put data in location selected by R6 into D 




50 


31 


58 




If Q»l GOTO 58 




52 


54 






Put D into location selected by R4 




53 


8D 






Put contents of RD.O into D 




54 


56 






Put D into location selected by R6 




55 


7B 






Q»l 




56 


30 


3D 




GOTO 3D 




58 


F6 






Shift D right 




59 


5F 






Put D into location selected by Rr 




5A 


8E 






Put contents of RE.O into D 




5B 


56 






Put D into location selected by R6 




5C 


7A 






Q«0 




5D 


30 


80 




GOTO 80 




70 


F8 


02 




RF.1*02 




72 


BF 










73 


F8 


10 




RF.0«10 




75 


AF 










76 


F8 


80 




RD.0*80 




78 


AD 










79 


F8 


40 




RE. 0=40 




7B 


AE 










7C 


30 


DO 




GOTO DO 




80 


F8 


03 




R7.1=03 




82 


B7 










83 


OF 






Put data in location selected by RF into D 




84 


FE 


FE 


FE 


Shift D left three times 




87 


A7 






Put D into R7-0 




88 


30 


CO 




GOTO CO 




8A 


F6 


F6 


F6 


Shift D right three times 




8D 


54 


54 




Put D into location selected by R4 




8F 


54 


54 








91 


E4 






X = 4 \ 


92 


87 






Put contents of R7.0 into D 




93 


F4 






Add D to memory in location selected by X 




94 


A7 






Put D into R7.0 




95 


88 






Put contents of R8.0 into D 




96 


FE 


FE 


FE 


Shift D left five times 




99 


FE 


FE 








9B 


F6 


F6 


F6 


Shift D right five times 




9E 


F6 


F6 








AO 


A8 






Put D into R8.0 




Al 


F8 


80 




R9.0=80 




A3 


A9 










A4 


88 






Put contents of R8.0 into D 




A5 


32 


AC 




If D=0 GOTO AC 




A7 


28 






Decrement R8 




A8 


89 






Put contents of R9.0 into D 




A9 


F6 






Shift D right 




AA 


30 


A3 




GOTO A3 




AC 


E7 






X«7 




AD 


89 






Put contents of R9.0 into D 




AE 


Fl 






OR D with memory in location selected by X 




AF 


57 






Put D into location selected by R7 




BO 


E6 






X»6 




Bl 


30 


3D 




GOTO 3D 




CO 


04 






Put data in location selected by R4 into D 




CI 


FE 


FE 




Shift D left twice 




C3 


F6 


H 




Shift D right twice 




C5 


A8 






Put D into R8.0 




C6 


30 


8A 




GOTO 8A 




DO 


F8 


03 




RC.1«03 




D2 


BC 










D3 


F8 


00 




RC.0-00 




D5 


AC 










D6 


F8 


00 




D-00 




D8 


5C 






Put D into location selected by RC 




D9 


1C 






Increment RC 




DA 


8C 






Put contents of RC.O into D 




DB 


3A 


D6 




If D does not equal 00 GOTO D6 




DD 


30 


31 




GOTO 31 




Prog 


ram 


2. 1 


Etch-a 


■Sketch program. Load Programs 1 and 2; 




parts 


i of this 


program will go over Program 1. In Program 1, 




change data 


in location 19 to 03, data in location 3E to 20 and 




data 


in location 30 to 70. 





30 Microcomputing, April 1980 




BW-2630 



imn wttu mm mum * <**(***■■ 



Close-up view of the AID converter and potentiometer assembly. 
The pots mounted on the pegboard are R1 and R2. 



then turn it back slightly. 
Calibration of the system is 
complete at this point. 

Other Systems 

The A/D converter can be 
used with any computer with a 
latched output port. If your CPU 
doesn't have the equivalent of 
an EF3 line, you can substitute 
a single bit of an input port. 
This will slow down conversion 
time slightly, since additional 
software must be used to sense 
the input port. 



Wrap-up 

The hardware and software 
described in this article can be 
used with any COSMAC 1802 
system with pixie graphics and 
parallel I/O, and can be 
modified for use with virtually 
any computer. The Etch-a- 
Sketch program can easily be 
written for any computer that 
can plot Cartesian coordinates 
and a video display. Perhaps 
most important, the entire A/D 
circuitry can be built for under 
$5.1 




I 



TEACHERS-STUDENTS 
PARENTS 

STUDY QUIZ FILES 

Convert your APPLE into a TEACHING MACHINE! 

This self-explanatory program allows you to create and 
run study quizes, save them on the disc and retrieve them 
at will. Many quizes can be stored on this one disc. Review 
your items, revise them, add items, delete items without any 
computer-programming knowledge. 

Written by a licensed psychologist, the program includes 
random question presentation, reinforcement of correct 
answers with a display of the student's name, immediate 
right-answer feedback after incorrect responses, a color 
congratulations display at the end, and a final score summary. 

Guided instructions are easy to understand and follow, 
even the first time around. Pupils can work independently, 
selecting the appropriate quiz and running it with little or 
no supervision. 

Requires 32K APPLE II With Applesoft (Rom or Ram) 

PRICE LIST 

5" Floppy Disc $39.95 ea. 

Quantity of 2 to 9 (20% off ) $31.95 ea. 

Quantity of 10 or more (40% off) $23.95 ea. 

Postage and handling charge per order $1.00 

VISA or Mastercharge 

write APPLE'CATIONS 

21650 W. Eleven Mile Road Suite 103 
Southfield, Michigan 48076 

OR Phone: (313) 354*2559 " 166 




BW-2630 $19.85* 

BT-30 $ 3.95* 

BT-2628 $ 7.95* 



BW-2630 BATTERY TOOL 

The new BW-2630 is a revolutionary battery 
powered wire-wrapping tool. The tool operates 
on 2 standard "C" size NiCad batteries (not 
included) and accepts either of two specially 
designed bits. Bit model BT-30 is for wrapping 
30 AWG wire onto .025" square pins ; BT-2628 
wraps 26-28 AWG wire. Both produce the 
preferred "modified" wrap. 

Designed for the serious amateur, BW-2630 
even includes both positive indexing and 
anti-overwrapping mechanisms features 

usually found only in industrial tools costing 
five times as much. Pistol grip design and 
rugged ABS construction assure performance 
and durability. In stock at local electronic 
retailers or directly from 

OK Machine 6* Tool Corporation 

3455 Conner St., Bronx, N.Y. 10475 U.S.A. 

Tel. (212) 994-6600 Telex 125091 ^62 

V J 

\ M; Sid 00 

New York St ippli< ax 



^Reader Service — see page 257 



Microcomputing, April 1980 31 



IMI".L I MM 1 U FLEPPV 

Dinars Fteviufalii ri liiusl nisi 



THE EXATRON 
STRINGY FLOPPY 



For a long time users of 
microcomputers have had to put 
up with the delays and reliability 
problems of cassette tape, or else 
come up with around $1000 for 
a disk system, not to mention 
another $200 for systems soft- 
ware. It has always seemed rather 
unfair that the microcomputer 
owner should have to spend more 
than twice the value of his basic 
machine on peripherals. 

Exatron made a remarkable 
breakthrough two years ago 
when it introduced the first 
Stringy Floppy -the S-100 bus 
version. During the past year, the 
popularity of the TRS-80 version 
has skyrocketed; it offers users a 
quantum leap in speed and re- 
liability at less than a quarter 
the cost of an expansion inter- 
face and disk. 

Now, for the benefit of users 
of the SS-50 bus with the 6800 
microprocessor, Exatron accom- 
plishes another breakthrough. 
For under $500 the 6800 user 
may acquire a complete software 
and hardware package consisting 
of TWO Stringy Floppy drives, a 
Controller Board, the new and 
exciting SIMPLEX-68 Operating 
System, a BASIC with full data 
file capability, the Technical 
Systems Consultants (TSC) Text 
Editor, and the TSC Assembler. 
Along with this package comes a 
box of ten 20-foot wafers, a box 
of ten 50-foot wafers, and a com- 
plete set of documentaiton. At 
less than half the cost of a dual- 
drive minifloppy system, this 
package offers a complete mass 
storage system capable of hand- 
ling over 130K bytes on the two 
drives, a versatile and easy-to-use 
file manager, utilities, and all of 
the basic building blocks of a 
complete software library. Aside 
from the benefit of a terrific 
price, the reliability of the 
Stringy Floppy over cassette 
techniques is vastly improved, 
and load times are reduced to 
seconds rather than minutes. 



SIMPLEX-68 



The catalyst that has made 
this total package possible is the 



Secretary, Fred Waters 

SIMPLFX-68 Operating System. 
S1MPLFX-68 was designed to 
provide the power, versatility, 
and flexibility of a disk operating 
system to the 6800 microcom- 
puter user with a Stringy Floppy. 
Through the SIMPLEX-68 OS, 
the user has access to a BASIC 
with powerful data file capabili- 
ties, and an assembler and text 
editor which no longer require 
that programs be totally resident 
in RAM. SIMPLFX-68 consists 
of three major parts: the opera- 
ting system, the file management 
system, and system utilities. The 
operating system provides the 
command analysis and operator 
interface to the terminal. The file 
management system controls all 
I/O to the LSI drives and main- 
tains directories for information 
stored on wafers. The user 
doesn't have to keep track of 
where programs reside. Finally, 
the utilities consist of a set of in- 
dependent programs which call 
upon the operating system and 
file manager in order to perform 
tasks which manipulate the files 
and modify and display system 
parameters. One of the utility 
functions in NEWTAPF. which 
will format and verify a new 
wafer. Another utility program, 
CAT, provides a full listing of 
tape directories; LIST displays a 
text file on the terminal or 
printer. Other utilities include 
COPY for copying files from 
one drive to another, APPEND 
for joining multiple text or 
binary files, RENAME, and 
SAVE. 

The complete library of soft- 
ware support has been made 
possible by making several of the 
interfaces compatible with the 
standards used in the TSC ILEX 
Disk Operating System for the 
6800. The OS package includes 
the TSC Editor and Assembler; 
TSC Cassette BASIC with ESI 
LOAD and SAVE commands is 
available at additional cost. Al- 
though TSC BASIC has no data 
file capability, its unmatched ex- 
ecution speed makes it highly 
useful for fast action games. 

SYSTEM REQUIREMENTS 

The SIMPLEX-68 Operating 
System requires 5K of RAM 
from S6C00 to $7FFF for sys- 





catek m mm 1 

FILE SIZE 

Kir* cm 5 

KNNE C» 1 
SAW C» 2 


FILE 
VERSION CND= 
CAT CND 
DATE CND 
TTYSET CND: 
EDIT BIN: 
ASNB OUL: 
BASIC CND 

m 


SIZE 
I 
2 
2 
2 

2\ 
6 

39 


FILE SIZE 
APPEND CND: 2 
SAME TON: 2 
DELETE CND 2 
ASM CND: 2 
EDIT OML 5 
TBASIC BIN 45 
COPY CND= 3 


list cm 1 


t CND 1 
AS» BIN: 26 
TBASJC OUl ! 

KHAIMlft SECTORS 
<-> 

1 


■ 



tern variables and directories. It 
is recommended that the system 
be configured with RAM from 
S0000 to S3I I I in order to run 
BASIC, the editor, or the assem- 
bler. The Operating System itself 
is provided in EPROM on the 
ESI- Controller Board at $C000. 
Finally, the SIMPLEX-68 Opera- 
ting System has I/O interfaces 
making it easy to use SWTBUG 
or other monitors with input 
at $E1AC and output at $E1D1. 
A complete software/hard- 
ware operating and mass stor- 
age system for under $500?!! 
Through the unique Exatron 
Stringy Floppy, users can have 
the speed, reliability and storage 
capacity of a minifloppy system 
at a fraction of the cost. Things 
to come include a version of 
SIMPLEX for the 6809, and 
business applications software. 
Call or write Exatron for further 
information. 

5TH COMPUTER FAIRE 

As you are reading this, the 
Fifth West Coast Computer I aire 
is about to go on, or has just 
gone by. We in the SF Bay 
Area contingent of the Exatron 
Stringy Floppy Owners Associa- 
tion hope you have or had a 
chance to come by the Exatron 



Booth. Five micros of various 
persuasions, each with a Stringy 
Floppy doing something wonder- 
ful, and enthusiastic members of 
ESFOA to tell you about them! 
One of the remarkable things to 
be seen is the sampling of fine 
software that ESI owners have 
developed and have made avail- 
able. If you don't make the 
I aire, and want to know more 
about the Stringy Floppy for 
either the TRS-80, the S-100 
bus, or the SS-50 bus. use the 
toll-free number below to ask for 
the very fine information packet. 

INFORMATION & ORDERS 

The FSF is assembled and 
tested at the factory, with a 30- 
day money back guarantee and a 
one-year full warranty, lor the 
fastest delivery, phone in your 
credit card or COD order using 
the toll-free line below. 

Base price for the TRS-80 
ESF, $249.50 (ask about the 
Starter Kit); for the S-100 ESI , 
$289.50; and for the SS-50 pack- 
age above with users manual, 
$499.00. Users Manuals for the 
TRS-80 and S-100 versions, and 
complete information packets 
for all versions of the ESI are 
available at no charge. Add $3.00 
for handling. 



If you have any questions about the product, about Exatron, or 
ESFOA, please call the Hot Line. Address letters to ESFOA, 3559 
Ryder St., Santa Clara, CA 95051. 

Stringy Floppy is a trademark of Exatron Corporation. ^ 7 



I 



HOT LINE 

WITHIN CALIFORNIA 



800-538-8559 



408-737-7111 



I VH M I M M I U III I IA 

WORKSHOP CHAIRMEN 



WORKSHOP CHAIRMEN (BY ZIP CODE) 



Jack O'Connell, 7 Royal Crest Drive, Marlboro, MA 01752 (617) 481-2417 
Austin McCollouyh, 24 Donna Rd., Chelmsford, MA 01824 (617) 256-0473 
R.M. Knowles, M.D, 88 Foreside Rd., Cumberland Foreside, ME 041 10 

(207) 773-7261 
Wesley R. Day, 86 Merryfield Ave., Waterville, ME 04901 (207) 873-3955 
Rev. Richard R. Noyes, 1 18 Main Street, Madison, ME 04950 (207) 696-5929 
Michael Keller, RFD 1 , Box 507, Solon, ME 04979 (207) 643-2437 
Thomas Penisch, 310 Palisade Ave., Bogota, NJ 07603 (201) 343-3828 
Ted Kingston, Willard Rd., Strathmere, NJ 08248 (609) 263-2440 
Milton F. Thrasher, 8C Fairway Ave., Rye, NY 10580 (914) 967-3322 
John E.Sheil, 196 Blacksmith Rd., Levittown, NY 11756 (516) 731-6467 
HYNX Company, P.O. Box 577, Newtonville, NY 12128 (518) 783-9495 
Bill Firm, 244 Albany Ave., Kingston, NY 12401 (914) 383-1824 
George C. Hadley, Box 10, Paul Smiths, NY 12970 (518) 327-6413 
Richard C. McGarvey, 221 Hirschf ield Dr., Williamsville, NY 14221 

(716) 634-3026 
Robert C. Wynne, P.O. Box 704 F.S.. Niagra Falls, NY 14303 (716) 285-9391 
Gary E. Snyder, 37 Sumner Park, Rochester, NY 14607 (716) 461-1364 
David L. MacAdam, 68 Hammond St., Rochester, NY 14615 (716) 865-8917 
Paul Sturpe, 220 Wessex Hills Dr., Coraopolis, PA 15108 (412) 264-1492 
Bill Dalesandry, 355 Rockfield Rd., Pittsburgh, PA 15243 (412) 221-1968 
Carl A. Kollar, 1202 Gemini St., Nonticoke, PA 18634 (717) 675-5377 
Bruce A. Mclntyre, Rd 1, Bridgetown Pike, Langhorne, PA 19047 

(215) 322-1895 
Richard S. Landy, 1008 Evergreen Rd., Morrisville, PA 19067 (215) 736-0564 
Robert G. Kelch, 23 Mapledale Ave., Glen Burnie, MD 21061 (301) 760-4793 
Charles A. Sutton, 213 Marshall St., Salisbury, MD 21801 (301) 742-9318 
Richard Harrison, Rt. 2 Drysdale, Warrenton, VA 22186 (703) 439-8109 
William P. Schultze, 931 Branchwater St., Fredericksburg, VA 22401 

(703) 786-8878 
William C. Geer, Rte 5, Box 502, Falmouth, VA 22401 (703) 371-2019 
H. Ross Wiant, 240 Brook La., Grafton, VA 23692 (804) 898-8120 
Archie H. Hubbard III, 520 Lawrence Ave., Bristol, VA 24201 (703) 669-3191 
Lawrence P. Doyle, 717 Patrick St., Eden, NC 27288 (919) 627-0359 
Micalel W. Talbot, 3601 Carriage Dr., Raleigh, NC 27612 (919) 787-8082 
Herbert Alperin, 5675 Peachtree Dunwoody Rd NE, Atlanta, GA 30342 

(404) 256-3414 
Mark C. Few, 2827 Parkland Cir., Orlando, FL 32803 (305) 644-7464 
John T.Charlton, 688 Caribbean Rd., Sat Beach, FL 32937 (305) 773-1590 
Richard B. Nelson, 763 W. 63rd St. Ocean, Marathon, FL 33050 

(305) 743-9195 
Frank Lungarella, 648 DeLeon Dr., Miami Springs, FL 33166 (305) 887-4821 
A.J. Catano. 1 1810 NW 29th PI., Sunrise, FL 33323 (305) 741-4325 
Robert W. Hopkins, 212 31st St., West, Bradenton, FL 33505 (813) 748-7074 
William C. Howes, 5597 Trellis Ln., Fort Myers, FL 33907 (813) 482-0347 
Bob Jones, 4084 Berrybrook Cove, Memphis, TN 38138 (901) 363-5469 
Sumner Loomis, Rt. 1, Box 131, Prairie Point, MS 39353 (601) 726-5524 
Lawrence W. Stein, 867 Independence Station Rd., Independence, KY 41051 

(606) 371-3242 
W.H. Jenkins, 33 W. Columbus St., Canal Winchester, OH 431 10 

1614) 837-2325 
Lester R. Snowden, 1821 Pine St., Rafb, OH 4321 7 (614) 497-0838 
Paul Schmid, 201 Mohican Ave.. Orrville, OH 44667 (216) 682-3596 
Robert E. Morgan, 1127 Princeton, Celina, OH 45822 (419) 586-7416 
Don Heringhaus, 1055 Woodside Dr., Ottawa. OH 45875 (419) 523-5613 
William R. Gouge, 6428 Topeka Ln, Indianapolis, IN 46241 (317) 856-6339 
Jack J. Fleming, 322 Jeffrey, Royal 03k, Ml 48073 (313) 435-4487 
Robert M. Clark, 20515 Gaylord, Redford, Ml 48240 (313) 535-5722 
Dennis Chaney, 1239 S. Ruess, Owosso, Ml 48867 (517) 723-1011 
Alan C. Lanphear, 727 Ray St., Kalamazoo. Ml 49005 (313) 344-8277 
Ranjit Diol, RR6, Kilburn Ave., Dowagiac, Ml 49047 (616) 424-5440 
Donald Meinke, 2507 Blaine SE, Grand Rapids, Ml 49507 (616) 245-9420 
R L. Knapp. Jr., 414 2nd St., Perry, IA 50220 (515) 465-5873 
Robert F. Gerald, 1377 Arden View Dr.. Arden Hills, MN 551 12 (612) 636-0549 
Robert W. Foster, 791 White Birch Ln, Lake Zurich, IL 60047 (312) 438-5223 
Martin Berger, 4634 Oakton St., Skokie, I L 60076 (31 2) 674-3038 
Joel Natkin, 1626 Keeney, Evanston, IL 60202 (312) 869-1660 
Gary P. Cocanour, 333 Central Ave., Hinsdale, I L 60521 (312) 986-1059 
James E. Spath, 3610 N. P.negrove Apt. 301, Chicago, I L 60613 (312) 353-2544 
Richard Kramer, 401 N. Cherry, Abingdon. I L 61410 (309) 462-2859 
John M. Delaney Jr.. 860 Penning Ave.. Wood River, IL 62095 (618) 254-4571 
Donald L. Hiles, 802 Grand Ave., Beardstown, IL 62618 (217) 323-3963 
Lynn A Nelson, 409 San Jose, O'fallon, MO 63366 (314) 272-1153 
James G. Runyan, 1400 N. Pine Apt. 6, Rolla. MO 65401 (314) 364-7306 
Ed Forest 8224 Tomahawk Rd., Prairie Village, KS 66208 (913) 648-1513 
Charles L Perrin, 5001 E. Pawnee 1 13B, Wichita, KS 67218 (316) 685-0528 



Val Lindholm, Box 1 105, 5512 Comanche, Great Bend, KS 67530 

(316) 793-9319 
Robert K. Lahm, 224 4th Ave., Holdrege, NE 68949 (308) 995-4071 
R.M. Wright, 3416 Greenbriar Ln, Piano, TX 75074 (214) 596-7000 
Dr. Murlon H. Dye, 1412 Locust St., Commerce, TX 75428 (214) 886-6434 
Donald Michel, 2601 Rushvalley Ct., Arlington, TX 76016(817)469-1521 
W.L. Lonnon, Rt 3, Box 49-1, Decatur, TX 76234 (817) 627-3838 
Kent Zakrzewski, 619 Cortlandt, Houston, TX 77007 (713) 448-6374 
George Lyda, Box 127, New Baden, TX 77870(713) 828-4523 
Stephen E. Fisch, 5225 Moultrie, Corpus Christi. TX 78413 (512) 991-4584 
R. B. Sexton, 2200 W. Anderson Ln., Austin, TX 78757 (512) 452-6131 
John Dierdorf, 8109 Greenslope Dr., Austin, TX 78759 (512) 345-3912 
Richard Laubhan, 1 1 1 N. Claremont, Colorado Springs, CO 80909 

(303) 632-7580 
Dennis E. Murray, 989 E. 1050N. Ogden, UT 84404 (801) 782-8042 
John Crutcher, 6015 E. Pershing Ave., Scottsdale, AZ 85254 

(602) 948-291 1 
Bob Rankin, 1018 W. Hermoja Dr., Tempe, AZ 85282 (602) 967-7677 
Robert D. Sullivan, 1537 W. 7th St. No. 120, Upland, CA 91786 

(714) 985-5273 
Frank M. Harris, 4570 Ohio St., San Diego, CA 921 16 (714) 281-9286 
Donald Haskell, 4404 W. Hurley Ave., Visalia, CA 93277 (209) 732-1553 
Hubert C. Wood, 201 McCord, Sp. 5, Bakersfield, CA 93308 

(805) 399-8252 
Bill Burnham, 3659 Glenwood Ave., Redwood City, CA 94062 

(415) 365-0760 
G. K. Johnson, 1009 Aspen Way, Petaluma, CA 94952 (707) 762-2168 
Dustin F. Leer, Box 1664, Sausalito, CA 94965 (415) 332-2557 
James Ferguson, 2485 Autumnvale Ave., San Jose, CA 95132 

(408) 946-1265 
Lars A. Benson, 436 Klute St., No. 2, Santa Rosa, CA 95401 

(707) 523-1782 
Richard D. Mack, 1748 Fenwick Dr., Santa Rosa, CA 95401 

(707) 528-0309 
J. J. Waters, 333 LaCrosse Ave., Santa Rosa, CA 95405 (707) 539-2595 
Vaughn A. Jupe, RFD Box 60, Carlotta, CA 95528 (707) 768-3833 
E.R. Hubbard, 2558 Deertrail Ln., Shingle Springs, CA 95682 

(916) 677-5440 
Paul F. LeFevre, 3529 Cody Wy 109, Sacramento, CA 95825 

(916) 483-4760 
Alfred J. Kiep, Jr., 605 Wilcox, Ave., Etna, CA 96027 (916) 467-3255 
Gilbert Olayan, 961 Apokula St., Kailua, HI 96734 (808) 261-2228 
L.P. Folz, 419 Madrona SE, Salem, OR 97302 
Ken Ernst, 3921 Ibex NE, Salem, OR 97303 (503) 393-1 1 73 
J.R. Shunn, 2625 Altamont No. 10, Klamath Falls, OR 97601 

(503) 882-2023 
Rick Winter, P.O. Box 933, Pendleton, OR 97801 (503) 276-361 1 
J.A. Records, 1 106 Cedar St., LaGrande, OR 97850 (503) 963-0437 
Ralph Baker, P.O. Box 250, Long Beach, WA 98631 (503) 642-3126 
Allan Stubbs, 1598 Cedar St., Prince George, B.C. Canada, V2L-1B7 

563-6894 

6800 SS 50 ESF OWNERS 

John Drum, 44 County Village Ln., Sudbury, ME 01 766 

John Pyra, 44 Flagg Rd., Westford, ME 01866 

James Robertson, 21 Grafton Dr., Morris Plains, NJ 07950 

G.S. Lyons, 217 Homestead Ave., Huddonfield, NJ 08033 

Bits Computer Systems, 337 Geln Rd., Rome, NY 13440 

Richard Kerns, 616 Beatty Rd., Monroe, PA 15146 

Mike Mellon, 21 1 San Paulo Cir, W. Melbourne, FL 32901 

Norman Weiner, 1 700 Convention Center, Miami Beach, FL 33139 

Gordon Doughman, 4250 Moselle Dr., Hamilton, OH 4501 1 

Paul Manter, 10665 Stargate Ln., Cincinnati, OH 45240 

Garrett Smith, 2001 NW Hickory Ln, No. 9, Ankery, I A 50021 

Mark Begemann, 1985 24th St.. Mario. IA 52302 

Ray Westberg, 5702 34th Ave., N. Minneapolis, MN 52422 

Rodney Schnueland, 9027 Pierce St. NE, Blaine, MN 55434 

Laurence Drymalski, 1232 Countryside Dr., Elgin, IL 60120 

Donald Miser, 1015W Wood, Bloomington, IL 61701 

John Ramsey, 8307 E. 166th St., Belton, MO 64012 

Al Scherer, M.D., 610 E. 1st St., St. John, KS 67576 

Wade Maxfield, 2525 E. Union Bower, Evering, TX 75061 

Richard Poindexter, 4347 Phelan St., Beaumont, TX 77707 

John Stimm, 6220 Calebra Rd, San Antonio, TX 78284 

European Auto Parts, 4322 B.N. Lamars, Austin, TX 78756 

John Lutenberg, 923 Main St., Canyon City, CO 81212 

UC Los Alamos Scientific Lab, Los Alamos, NM 87545 

Thomas Mattingly, 1005 Essex Dr. W. , Las Vegas, NV 89107 

Robin Ellwood, 18506 Dylan St., Northndge, CA 91326 

Don McPhee, 1550 4th Ave., S., Seattle, WA 98134 

P. Peterson, 91 1 7 NE 96th St., Vancover, WA 98662 

Jerry Starzinski, 58th Ave., Yakima, WA 98903 

Motorola, 2400 S. Rossevelt, Tempe, AR 

J.L. Bauliane, 956 Lillian St., Coquittam, British Columbia, CAN V3J 5C4 



Tom Hayek 
723 Hialeah Dr. 
Racine Wl 53402 





a 



The BASIC 



Programmer's 
Toolkit 



j»E 



In August 1979 I first noticed advertising 
descriptions of the BASIC Programmer's 
Toolkit, which claimed to add ten more 
commands to the Commodore CBM BASIC 
vocabulary. The commands are: AUTO, 
DELETE, RENUMBER, APPEND, DUMP, 
TRACE, STEP, OFF, FIND and HELP. Since 
the commands are in firmware (ROM), they 
will not take up any of my 32K of RAM; they 
will be there whenever I turn on the com- 
puter. 

I was eager to have this additional com- 
mand capability and placed my $49.95 order 
for the ROM, which is a product of Palo Alto 
ICs, a division of Nestar Systems, Inc. 

After a short delay, my Toolkit arrived by 
first-class mail. I eagerly opened the pad- 
ded mailer to find the ROM placed in a con- 
ductive plastic pin carrier, protecting it from 
the possibility of bent pins and electrostat- 
ic damage. Also enclosed was a 34-page 
book of documentation, professionally 
printed with a firm, slick cover. 

I immediately got the impression that 
this company cared about what their cus- 
tomers thought about them. At this point I 
was favorably impressed and developed 
some confidence in the product and the 
company. 

Installation 

The documentation begins with a brief 
description of the commands and an expla- 



nation of the Toolkit installation, followed 
by a clear and complete description of each 
command, including examples. Installation 
in my 32K CBM with a full-size keyboard is a 
simple matter of opening the case and in- 
stalling the 2K ROM in one of the three ex- 
isting empty sockets. Installation on an 8K 
PET involves plugging a small board con- 
taining the ROM and some address decod- 
ing into the memory expansion port on the 
side of the PET. Another small connector 
with a single wire plugs into the second 
cassette port to supply 5 V dc to the board. 

As the Toolkit manual warns, turn off the 
power and disconnect the computer from 
the ac line. Ground yourself by touching the 
metal case of the computer to dissipate any 
static charge just prior to handling the Tool- 
kit for installation. 

The ROM occupies memory positions 
B000-B7FF (hex), so if you have other 
memory expansion systems, such as 
Skyles or ExpandaPet, be sure to find 
out — from their respective documentations 
-the correct socket to plug into. Also, be 
sure to have the correct orientation of the 
ROM with respect to pin one. 

I installed the ROM and checked for any 
bent pins. I was now ready to check it out. 
After powering up my CBM, I entered a BA- 
SIC command SYS 45056. This initializes 
the Toolkit ROM, and the CRT should read: 
(C) 1979 PAICS. Everything went smoothly, 



Lift the lid on 
Nestar's toolkit and 
have a look inside. 



and I was ready to explore all the BASIC 
commands now available from the Toolkit 
in the direct mode. 



The Commands 

AUTO — provides automatic line number- 
ing as you type in your BASIC program. The 
general syntax is: 
AUTO beginning line number, interval. 

If you type in AUTO without specifying 
any parameters, line numbering will start 
with 100 and the interval will be 10. To get 
out of the AUTO mode, just hit the return 
key without entering anything after the line 
number. 

AUTO also remembers where it left off. If 
you exit the AUTO mode to do some editing 
and then type AUTO, numbering will start at 
the next sequential line in your program. 
The previously set interval will be main- 
tained. If you type AUTO 200, line numbers 
will start with 200 and be incremented by 
the last interval given in the AUTO com- 
mand. 

AUTO helps to ease some of the typing 
drudgery in entering a BASIC program. 

RENUMBER -renumbers the entire BA 
SIC program presently in memory. Al 
GOTO, ON . . . GOTO, GOSUB, ON . . 
GOSUB, IF-THEN, RUN and LIST com 
mands are also changed to the new re 
spective reference line. All references to 
nonexistent line numbers are changed to 
63999. This is especially useful when used 
with the FIND command. The general syn- 
tax is: 

RENUMBER beginning line number, inter- 
val. 

If you type RENUMBER without specify- 



34 Microcomputing, April 1980 



ing any parameters, renumbering will start 
with line 100 and the interval will be 10. It 
took about 30 seconds to renumber a 10K 
program. 

DELETE — removes BASIC lines by speci- 
fying the line number or range of line 
numbers in the same way that the PET/CBM 
LIST command lists lines. For example, 
DELETE 50 deletes line 50; DELETE 50-100 
deletes lines 50 through 100; DELETE -100 
deletes all lines from lowest through 100; 
and DELETE 100- deletes all lines from 100 
through highest. 

The Toolkit is designed so that if you type 
DELETE without giving a range or specific 
line number you will get SYNTAX ERROR?. 
This prevents the loss of the entire program 
by mistake. 

APPEND — will load a program from a 
cassette and add it to the end of a program 
already in RAM. It works in the same way as 
the PET/CBM BASIC command LOAD. The 
general syntax is: 

APPEND "program name," cassette drive (1 
or 2). 

As with the PET/CBM LOAD command, 
no specification of the cassette drive 
defaults to cassette drive #1. 

APPEND is convenient for adding pre- 
viously written subroutines to a program in 
RAM. You could have several often-used 
subroutines stored on tape and APPEND 
them to an existing program under develop- 
ment in RAM. 

Caution: You must keep the line numbers 
in order. APPEND will add anything on the 
tape to the end of the program in the com- 
puter. It is a good idea to number all of your 
subroutines in the 60000-63000 range and 
not use this range for your BASIC main 
body programs. This will help to avoid con- 
flicts in duplicate line numbers when ap- 
pending. 

FIND — locates and displays all lines that 
contain a specified BASIC keyword, section 
of a BASIC statement or a quoted string 
constant. The general syntax is: 
FIND BASIC code, line number-line number 
FIND "string", line number-line number. 

The line-number-parameter-search range 
performs the same as the PET/CBM LIST 
command range and the Toolkit DELETE 
command range. If you omit the line num- 
ber parameters, the whole program will be 
searched. 

FIND allows you to be as specific as nec- 
essary when detailing the BASIC statement 
or string parameters. For example, FIND 
FOR I will locate and list every line contain- 
ing FOR I; FIND A will locate and list every 
line containing the variable A; FIND "THIS" 
will locate and list every line containing the 
word THIS; FIND GOTO 100, 10-20 will 
search lines 10 through 20 and list all lines 
containing GOTO 100. 

As you can see, this proves to be a valu- 



able time-saver. Recall in the description of 
RENUMBER that any references to nonex- 
istent line numbers are assigned a value of 
63999. Now we can use the statement FIND 
63999 to list any bad references in the pro- 
gram. 

When you use FIND, the number of lines 
listed on the CRT may be sufficient to cause 
scrolling. You may slow down the scrolling 
by holding down the RVS key or stop it any- 
where with the STOP key. 

DUMP — displays all the non-array vari- 
ables in memory. They are displayed in the 
form: variable name = present value (i.e., 
A = 2). This is a great help in debugging pro- 
grams. Putting STOP statements in the pro- 
gram and then checking the variables at 
that point is one way to find out where the 
program is amiss. 

DUMP may fill the CRT and cause scroll- 
ing. This can be stopped by holding down 
the SHIFT key. Releasing the SHIFT will 
allow the scrolling to continue. The STOP 
will cause the scrolling to stop and abort, as 
in FIND. 

HELP — When you encounter an error 
while running a program, the PET/CBM will 
stop the program and print an error mes- 
sage and line number. The HELP command 
will list the line and indicate the error within 
the line with a reverse field cursor. The syn- 
tax is: HELP. 

HELP must be executed before anything 
else after an error message, otherwise the 
source of the error will be lost. In that case, 
executing HELP will do nothing and the 
computer will come back with READY. 

The cursor is usually placed on the char- 
acter just before the error, but in some 
cases will be on the error. In the case of 10 B 
= A / 0, the cursor would be on the (divi- 
sion by is an error). 

TRACE — turns on a tracer mode, which 
will display the currently executed line num- 
ber when the program is running. The last 
six line numbers are visible in a reverse field 
window printed in the upper right-hand cor- 
ner of the CRT. These six lines scroll from 
bottom to top within the window, with the 
most recent line number at the bottom. 

Pressing SHIFT will slow the program 
and scrolling down to about two lines per 
second. 

STEP — also activates the tracer mode, 
executing one line of BASIC at a time. The 
line numbers and reverse field window ap- 
pear just as in TRACE. To execute the next 
line, momentarily press SHIFT. If you hold 
the SHIFT key down, the program will con- 
tinue to run until SHIFT is released. To stop, 
simply press STOP. 

STEP can be conveniently used in debug- 
ging also. Being able to single step through 
a suspected problem area aids in locating 
the possible faulty coding. 

OFF -turns off either the TRACE or 



STEP commands. 

Types of Toolkits 

There are basically two types of Toolkits: 
a 2K ROM that plugs into an empty socket 
in the new PET/CBM (16K/32K) or an expan- 
sion board such as BETSI, and the ROM and 
an interface IC mounted on a small PC 
board that plugs into the memory expan- 
sion port on the 8K PET. This board has a 
single wire with a small connector that 
plugs into the second cassette port to sup- 
ply 5 V dc for the board. 

The costs of the two types are $50 and 
$80, respectively. The Toolkit comes with a 
money-back guarantee if you are not com- 
pletely satisfied; there is also an exchange 
policy. If you purchase a Toolkit for a PET 
with the old ROM set and then decide to up- 
date to the new ROM set, you can exchange 
your Toolkit for one that will work with the 
new ROM set for $15. 

Conclusion 

Palo Alto ICs and Nestar Systems are not 
mail-order houses. Do not try to order from 
them, as you will only delay in getting your 
Toolkit. You should order from your local 
computer store. The only mail-order firm 
that I have seen advertising the Toolkit is 
Skyles Electric Works, 10301 Stonydale Dr., 
Cupertino CA 95014. ■ 



INFOTREE 

THE FIRST PERSONAL 
INFORMATION MANAGER 

WRITTEN IN 

APPLE 
PASCAL 



FEATURES 

Keyed to Access to Data • Recursive Multi- 
Level Key to Access to Segment Data in any 
way YOU Want • Auto Command Type-In and 
Command/Key Recall • Displays or Prints Data 
tor Single or Multiple Related Keys • Mailing 
Labels • 4380 Records Per Disk • Average 
Acesss/Update Time 10 Seconds 

APPLICATIONS 

Mailing Lists • Phone No Director y • Memos • 
Appointments Scheduling • MUCH MORE 

The Complete Package, including Manual is 
only $39 95 Get a Demo trom your dealer or 
write 



[Siro-te 




^172 



6 Mam Street 

Ogdensburg. NY 13669 

(315) 393-2640 

Coming Soon: Mail-List • Text Pro • Auto Letter • 
Inventory • Pomt-ot Sale • All Modular All 
Intertaceable. All in Pascal 



Reader Service — see page 257 



Microcomputing, April 1980 35 



Now — the Texas Instruments 
T I -99/4 Home Computer 

List $1150.00 



OUR PRICE 



\\ 



-.: 



$989 



APPLE II (1 6K) LIST $1 1 95.00 OUR PRICE $994.00 
APPLE II DISK w/c LIST $595.00 OUR PRICE $520.00 



ATARI 400 (8K) LIST $549.99 


OUR PRICE 


$509.00 


800 (8K) LIST $999.99 


OUR PRICE 


$949.00 


COMPRINT 912 P LIST $660.00 


OUR PRICE 


$599.00 


91 2 S LIST $699.00 


OUR PRICE 


$629.00 


ANADEX DP 8000 LIST $995.00 


OUR PRICE 


$875.00 




MICROPOLIS DRIVES 




1041 -MOD II 


LIST $1045.00 


OUR PRICE 


$ 979.00 


1043 -MOD II 


LIST $1145.00 


OUR PRICE 


$1069.00 


1053 -MOD II 


LIST $1895.00 


OUR PRICE 


$1769.00 


1021 -MOD II 


LIST$ 545.00 


OUR PRICE 


$ 509.00 


1023 -MOD II 


LIST$ 645.00 


OUR PRICE 


$ 599.00 


1033 -MOD II 


LIST $1395.00 


OUR PRICE 


$1299.00 



»^165 



SYSTEMS-GO 

SMALL COMPUTER SPECIALISTS 

10678 Campus Way South - Upper Marlboro, MD 20870 

(301)336-7710 



Main/Frames $2QO 



Main/Frames 



from 



• 14 Basic Models Available 

• Assembled & Tested 

• Power Supply: 
8v@15A, ± 16v@3A 

■ 15 Slot Motherboard 
(connectors optional) i 

• Card cage & guides 

• Fan, line cord, fuse, power 
& reset switches, EMI filter 

• 8v@30A, ± 16v@10A 
option on some models 



Rack 
mounted 



8" Floppy Main/Frame 
(includes power for drives 
and mainframe) 



Write or call for our 
brochure which includes our 

application note: 
'Building Cheap Computers' 

INTEGRAND 



•W7 



8474 Ave. 296 • Visalia, CA 93277 • (209) 733-9288 
-We accept BankAmericard/Visa and MasterCharge 



theULTIMATE in 
CHEAP VIDEO 

BOOK & KIT 
ONLY $42.95 




Don Lancaster's "Cheap Video" concept allows almost 
unlimited options, including: 

* Scrolling- Full performance cursor. 

* Line Character formats of 16/32, 24/80, 32/64.... 
or almost anything. 

* Graphics -up to 256 X 256 B&W; 96 X 128 COLOR 

C requires low -cost option modules D 

* Works with 6502 , 6800 and other micros. 

SPECIAL OFFER: Buy the Kit (uppercase alpha- 
numeric option included ) & get the Book at 1/2 price. 

ELECTRONICS. 1020W WILSHIRE BLVD.. OKLAHOMA CITY. OK 73116 



I'm Sold. PLEASE RUSH C ) SEND FREE CATALOG 

C ) TVT-6 5^8 Kit & Cheap Video Cookbook $42.95 ^ 1 06 

C ) TVT 6^8 Kit only Cbook required for assembly) $39.95 
name: 



address: 
city: 



state: 



zip: 



BECTMNICS, Dept 4K 1020 WILSHIRE BLVD.. OKLAHOMA CITY. OK 73116 



A Quote on our new 

Integrated Accounting System (IAS): 



". . . an excellent value — particularly good are the error checking end 

data entry procedures — documentation is good (both within the 

programs and separately provided materials). " 

Mr. E. Lindow 

Director of Computer Operetions 

Metric Industries 



Some of the IAS features include: 

Custom Chart of Accounts limited only by available memory (a 32K 
system will support up to 200 accounts including DOS and BASIC). 
Financial reports (service or manufacturing) including Income State- 
ment with current and Year To Date totals, Balance Sheet and 
Worksheet. Provision for "Header" and "Subsidiary" accounts. Check 
register. Account balances at any time. Up to 1100 Accounts 
Receivable. AR includes read-to-mail bills, automatic aging of AR ac- 
counts and posting to General Ledger. Up to 1100 Accounts Payable 
with check printing. Payroll supports up to 200 employees and permits 
payment by week, bi-weekly, semi-monthly, monthly, hourly or on 
salary or any combination thereof. Prints paychecks and W2 forms. 
Maintains all employee data with full editing. Current, quarterly and Y- 
T-D employee totals. IAS includes over 30 reports and listings to give 
you the information you need when you need it. Over 65 programs in 
all! 

Prices: General Ledger; $125.00, G.L. plusl subsystem; $225.00; G.L. 
plus 2 subsystems; $300.00; G.L. plus AR, AP and Payroll 
subsystems; $350.00. Manual for IAS is $20.00 (credited 
towards purchase). Please include $3.00 for First Class 
postage. 

IAS requires 32 K of memory, North Star Release 4 or later 

DOS and BASIC and two disk drives. Printer output is 

provided for, but not required. Specify video device when 

^ b ordering. 




EC0S0FT Phone orders only: (317)253-6828 

P.O. Box 68602 Indianapolis, IN 46268 



36 Microcomputing, April 1980 



TBS-5? 
SY$Tf"?S 




-» wcgS^gS 



T BS-80 9 ene [e! 

Your L R t?nS systems aptly Jem, jones is theep 48K and on| us 
account'" 9 "JySIS PAD W . at ions - "r calculator give " 30 






"^P§»l 




J3« *a^KBOOK«;* ffs up to a % *c 



"field excS taled. A n '- ^ er from "^tt'f lies w»^ 

• 8 ' 



s-ssSsssiSsssBs 

svsu 



TM 



(404)939-6031 



*s Reader Service — see page 257 



Microcomputing, April 1980 37 



Programming the Z-80 



Using part 1 of this article (a five-point guide to Z-80 programming), which appeared in last 
month's issue, you're now ready to classify the ISO's instructions and write a program. 



Pat Macaluso 
9 Church Court 
White Plains NY 10603 



In part 1, I introduced you to 
guidelines and aids helpful in 
making use of machine lan- 
guage for your application with- 
out investing a lot of effort learn- 
ing machine language or study- 
ing and memorizing the instruc- 
tion set of the Z-80. Now let's 
look at a method of classifying 
the instructions to suit our par- 
ticular application and try our 
hand at writing a program using 
the techniques we've learned. 

The Z-80 Jungle 

A major stumbling block in 
Z-80 programming for the occa- 
sional programmer is the profu- 
sion of instruction forms and 
codes. The Z-80 takes the un- 
used codes from the 8080 pro- 
cessor's one-byte set of possi- 
ble operation codes and uses 
them to point to additional 
codes in the next byte. For some 
instructions, this scheme is ex- 
tended to include a third byte. 
Thus, with additional bytes for 
an address, for data or for a dis- 
placement, a Z-80 instruction 
may have as many as four bytes. 

One way to manage this is to 
classify the instructions ac- 
cording to a variety of schemes. 
These include classification by 



the mode of addressing, of 
which the Z-80 boasts ten, or by 
type of processing, such as 
arithmetic, logical, interrupts, 
control transfer, bit manipula- 
tion. Some of these are further 
classified as 4-, 8- and 16-bit op- 
erations. 

On the surface, this appears 
to make sense, since the user 
eventually has to deal with such 
details, or so it seems. In prac- 
tice, such classifications of- 
fered by vendors and textbooks 
are not too helpful. In fact, they 
sometimes make the task of us- 
ing the instructions even harder 
by forcing the user to deal with 
machine considerations not 
necessarily or immediately rele- 
vant to the application. The user 
wants to identify an instruction 
pertinent to his application, be- 
fore he has to deal with features 
peculiar to the machine or lan- 
guage. 

This is the key to the problem 
and points to its solution. The 
key is to classify the instruc- 
tions by those features that are 
most immediately useful to the 
solution of an application prob- 
lem. 

Before we get into this, it 
should be explained that the dis- 
appointing classifications of- 
fered the applications program- 
mer by all principal sources of 
information are not due to any 
lack of skill or understanding. 
These sources are, in fact, quite 



clear and thorough, and their 
use is recommended. 

The difficulty is rooted in a 
problem that pervades the entire 
computer field and most of its 
texts and manuals: most of the 
literature is written by machine 
designers and other hardware- 
oriented types or by systems 
programmers who concern 
themselves largely with the rela- 
tion of hardware to operating 
systems. Most language design- 
ers and implementers have had 
similar orientations. With rare 
exceptions, their views of com- 
puters and of their use is not 
that of the application program- 
mer. We users can only take 
what they have provided — 
gratefully or otherwise— and 
must then take care of ourselves 
as best we can. 

A Clearing in the Forest 

The particular classification 
adopted here is shown in Tables 
1, 2 and 3. This gets us down to 
71 types of instructions. By 
breaking them up into three cat- 
egories — register instructions 
(Table 1), memory instructions 
(Table 2) and execution control 
instructions (Table 3), with four 
subclasses each— they are rea- 
sonably manageable. 

The real key to this classifica- 
tion is the short, functional de- 
scription of each instruction. 
The tables are entered through 
these descriptions, which 



match as closely as possible the 
procedural view of the applica- 
tion programs. Table 4 explains 
the symbols used in the pre- 
ceding three tables, along with 
exceptions. 

It is characteristic of machine 
languages that they make heavy 
reference to machine features. 
While we want to play this down, 
it is unavoidable. The best way 
out is to face it squarely and ac- 
cept thatthe main orientation of 
the Z-80 instruction set is 
toward register, memory or ex- 
ecution control operations. 

Registers play a central role 
in microprocessor operations. 
They can be viewed as very fast, 
short memories that are ac- 
cessed by name. They are also 
involved in all memory opera- 
tions. Therefore, when a par- 
ticular function is required, we 
should first check the possibili- 
ty of using registers only rather 
than main memory. 

The functional descriptions 
are in two parts: a short, English 
descriptive phrase and an alge- 
bra-like expression. This may 
seem like a strange way to 
achieve clarity, but a little reflec- 
tion will show that this use of 
two extremes is the best meth- 
od. English is easily the lan- 
guage of choice for fast compre- 
hension. But English, like any of 
the "natural" languages, 
abounds with ambiguity. Any at- 
tempt to be precise would lead 



36 Microcomputing, April 1980 



to long, cumbersome state- 
ments, thereby losing the ad- 
vantage of quick comprehen- 
sion. 

The solution to this general 
problem was arrived at cen- 
turies ago by the invention of an 
alternate to natural language, 
namely, algebra. While an alge- 
braic expression is not compre- 
hended as rapidly as an English 
phrase, it is vastly more precise 
and compact. It thus gets you 
quickly to the point of explicit 
working comprehension. 

To illustrate the advantage of 
this combined approach, we will 
look at a simple example. Sup- 
pose we wish to perform an ad- 
dition using some value in mem- 
ory. We look in the memory in- 
struction table under arithmetic 
operations and find the entry 
"Add memory." That sounds 
like what we're looking for, but 
what does it mean? The ex- 
pression A«-A + M supplies a 
concise answer. 

The contents of the memory 
location, for example, the loca- 
tion pointed to by the contents 
of the HL register pair, are 
added to the contents of the ac- 
cumulator, or A-register, and 
their sum is stored in the accu- 
mulator. If these expressions 
are not clear when first en- 
countered, ignore them for the 
time being. 

Having found the instruction 
type that we need, we can now 
zero in on a specific instruction. 
Depending on your overall ob- 
jectives, you can make a tenta- 
tive selection of one of the 
choices offered and read the full 
description of the instruction 
given in Z-80 manuals. Again, I 
strongly recommend parallel 
reading. 

I generally look first in the as- 
sembler manual. If the descrip- 
tion and examples are not crys- 
tal clear, I look in both the 
Barden {The Z-80 Microcomput- 
er Handbook) and Osborne (Z-80 
Programming for Logic Design) 
texts. If the addressing mode, 
use of registers, timing, etc., 
meet my program design re- 
quirements, I write down the in- 
struction with side notes on reg- 
isters, flags, etc., as needed. If 
not, I look at the next most likely 
instruction in that set. 
Soon you will have the basis 



for a reasonable choice of regis- 
ter allocations, addressing 
modes, etc. If a change in 
choices is indicated, then a 
quick scan of your notes will be 
helpful. So will a simple block 
layout of the registers on qua- 
drille paper, on which you can in- 
dicate your allocation of data 



variables. 

A particularly useful tool for 
this kind of quick learning/im- 
mediate application is the ex- 
amination of short Z-80 routines 
that are fully described. Some 
excellent ones can be found in 
Barden's Handbook. Once you 
have written your own routines, 



document them carefully with 
a statement of function per- 
formed, the meaning of vari- 
ables and comments on each 
program line. Save them in an 
easily retrievable form; they are 
real programming gold. One 
good working example of the 
DJNZ instruction tells the story 











Clock 


Function 


Definition 


Mnemonic 


Operands (opd) 


Cycles 


Data Transfer 










Copy 


R L -R R 


LD 


R.R 


4 






LD 


SP.HL 


6 






LD 


SP.IR 


10 






LD 


A.R (6) 


9 






LD 


R.A (6) 


9 


Swap 


R L rR R 


EX 


DE.HL 


4 






EX 


AF.AF' (8) 


4 






EXX 


RP.RP" (1)(8) 


4 


Store Constant 


R-N 


LD 


R.N 


7 






LD 


IR.NN 


14 






LD 


RP.NN (5) 




Arithmetic Operations 










Add 


R L -R L + R R 


ADD 


A.R 


4 






ADD 


HL,RP(5) 


11 






ADD 


IR.RP(7) 


15 


Add Constant 


A-A + N 


ADD 


A.N 


7 


Add Constant with Carry 


A-A + N + F[C] 


ADC 


A,N 


7 


Add with Carry 


R L -R L ♦ R R + F[C] 


ADC 


A.R 


4 






ADC 


HL.RP(5) 


15 


Subtract 


A-A-R 


SUB 


R 


4 


Subtract with Carry 


A-A - (R + F[C]) 


SBC 


R 


4 


Subtract Constant 


A-A-N 


SUB 


N 


7 


Subtract Constant with Carry 


A-A - (N + F[C]) 


SBC 


N 


7 


Subtract from Zero 


A— 1 + ~A 


NEG 




8 


Increment 


R-R + 1 


INC 


R 


4 






INC 


RP(5) 


6 






INC 


IR 


10 


Decrement 


R-R-1 


DEC 


R 


4 






DEC 


RP(5) 


6 






DEC 


IR 


10 


Do accumulator arithmetic as 










BCD 




DAA 






Logical Operations 










AND 


A— ATopd 


AND 
AND 


R 
N 




OR 


A— Alopd 


OR 
OR 


R 
N 




Exclusive OR 


A— A* opd 


XOR 
XOR 


R 
N 




Test bit X 


F[Z]— R[X] 


BIT 


X.R 


8 


Set bit X to 1 


R[X]-1 


SET 


X,R 


8 


Reset bit X to 


R(X]-0 


RES 


X.R 


8 


Compare 


Set Flags 


CP 
CP 


R 
N 




Negate 


A— ~A 


CPL 






Negate Carry Flag 


F[C]— F[C] 


CCF 






Set Carry Flag to 1 


F[C]-1 


SCF 






Manipulative Operations 










Shift left, arithmetic 


F[C]-R-0 


SLA 


R 


8 


Shift right, arithmetic 


R[7]-R-F[C] 


SRA 


R 


8 


Shift right, logical 


0-R-F[C] 


SRL 


R 


8 


Rotate left thru Carry 


F[C]-R-F[C] 


RL 


R 


8 






RLA 


(R = A) 


4 


Rotate left circular 


F[C]-R-R[7] 


RLC 


R 


8 






RLCA 


(R = A) 


4 


Rotate right thru Carry 


F[C]-R-R[C] 


RR 


R 


8 






RRA 


(R = A) 


4 


Rotate right circular 


R[0]-*R-F[C] 


RRC 


R 


8 






RRCA 


(R = A) 


4 


Table 1. Z-80 instructions involving registers only. 





Microcomputing, April 1980 39 

























Clock 


faster nan a stuay or tne xexxs. 








Function 


Definition 


Mnemonic 


Operands (opd) 


Cycles 










Data Transfer 




























Read Memory, One Byte 


R-M 


LD 
LD 
LD 
LD 


R,(HL) 
A,(RP)(D 
A,(AD) 
R,(IR + D) 


7 

7 

13 

19 




Decide on the type of in- 
struction you need, such as 
add memory, increment a 










Read Memory, Two Bytes 


R-M[AD + 1],M 


LD 
LD 


HL(AD) 
RP,(AD) 


16 
20 




value, read an external de- 
vice. Look it up in the appro- 










Write Memory, One Byte 


M-R 


LD 
LD 
LD 
LD 


(HL),R 
(RP).A(1) 
(AD),A 
(IR + D).R 


7 
7 

13 
19 




priate table. Make a tentative 
selection that best matches 
your purpose. Look up de- 










Write Memory, Two Bytes 


(M[AD+1],M)~-R 


LD 
LD 


(AD).HL 
(AD),RP 


16 
20 




tails of the instruction in your 
reference sources. Make a 










Write Constant into Memory 


M-N 


LD 
LD 


(HL),N 
(IR + D).N 


10 
19 




different choice if necessary. 










Copy Memory, Step-Wise 


M-,-M 2 


LDD 
LDI 




16 
16 




As you develop sequences of 
instructions, you will firm up 










Copy Memory, Block-Wise 


M A -M B 


LDDR 
LDIR 




21/16 
21/16 




your specific allocation of 
reqisters, choice of address- 










Read Top of Stack 


RP-((SP+1),(SP)) 


POP 
POP 


RP(2) 
IR 


10 
14 




ing modes and use of flags. 










Write to Stack 


«SP-1),(SP-2))- 


RP PUSH 
PUSH 


RP(2) 
IR 


11 
15 




This may call for one or more 
iterations of the selection 










Swap Top of Stack 


((SP+1),(SP))nRP 


EX 
EX 


(SP),HL 
(SP).IR 


19 
23 




process. When you have 










Arithmetic Operations 












done everything, you are 
ready to either assemble or 










Add Memory 


A-A + M 


ADD 


A,(HL) 


7 














Add Memory with Carry 


A-A + M + F[C] 


ADD 
ADC 


A.(IR + D) 
A,(HL) 


19 

7 




hand-code your program. 




















ADC 


A.(IR + D) 


19 


Chopping Wood — 








Subtract Memory 


A-A-M 


SUB 
SUB 


(HL) 
(IR + D) 


7 
19 


~^- _ - -_- y j— _ w - ^j — — — — -— 

A Worked Example 








Subtract Memory with Carry 


A-A - (M + F[C]) 


SBC 
SBC 


(HL) 
(IR + D) 


7 
19 


An example will clarify the en- 
tire process. We will write a pro- 








Decrement Memory 


M-M-1 


DEC 
DEC 


(HL) 
(IR + D) 


11 
23 


gram to copy a block of memory 








Increment Memory 


M-M + 1 


INC 
INC 


(HL) 
(IR + D) 


11 
23 


from one location to another 
and then return control to the 








Logical Operations 










TRS-80 Level II 16K BASIC sys- 








AND Memory 


A-AtM 


AND 
AND 


(HL) 
(IR + D) 


7 
19 


tem. All our address references 








OR Memory 


A-AiM 


OR 
OR 


(HL) 
(IR + D) 


7 
19 


and byte counts will be in hexa- 
decimal. 








Exclusive OR Memory 


A-A/M 


XOR 
XOR 


(HL) 
(IR + D) 


7 
19 


Specifically, we want to copy 
600 bytes of memory starting at 








Test Bit X in Memory 


F[Z]-~M[X] 


BIT 
BIT 


X.(HL) 
X.(IR + D) 


12 
20 


location 4380 in the BASIC 








Set Bit X in Memory to 1 


M[X]-1 


SET 
SET 


X.(HL) 
X.(IR + D) 


15 
23 


user's area to a location starting 
at 6380 in the protected user's 








Reset Bit X in Memory to 


M[X]-0 


RES 


X,(HL) 


15 


_ 












RES 


X,(IR + D) 


23 


machine-language area. The 








Compare Memory 


Set Flags 


CP 
CP 


(HL) 
(IR + D) 


7 
19 


program is quite small, so we 
will hand-assemble it starting at 








Search Memory. Step-Wise 


Set Flags 


CPD 
CPI 




21/16 
21/16 


location 7001. Once written, it is 
conveniently entered in a few 








Search Memory. Block-Wise 


Set Flags 


CPDR 
CPIR 




21/16 
21/16 


seconds through the keyboard 








Manipulative Operations 










with the aid of a machine-lan- 








Shift Memory Left. Arith. 


F[C]-M-0 


SLA 
SLA 


(HL) 
(IR + D) 


15 
23 


guage monitor, although it 
could be POKEd if necessary. 








Shift Memory Right. Arith. 


M[7V-M-F[C] 


SRA 
SRA 


(HL) 
(IR + D) 


15 
23 


As a starter, we write the sim- 
ple procedure in an improvised 








Shift Memory Right. Logical 


0-M-F[C] 


SRL 
SRL 


(HL) 
(IR + D) 


15 
23 


language using whatever 








Rotate Memory Left thru Carry 


F[C]-M-F[C] 


RL 
RL 


(HL) 
(IR + D) 


15 
23 


phrases appear convenient: 
Set source address to 4380 








Rotate Memory Left Circular 


F[C]-M-M[7) 


RLC 
RLC 


(HL) 
(IR + D) 


15 
23 


Set target address to 6380 
Set counter to 600 








Rotate Memory Right thru Carry 


F[C]-M-F[C] 


RR 
RR 


(HL) 
(IR + D) 


15 
23 


Copy (read and write) bytes until 








Rotate Memory Right Circular 


M[0]-M-F[C] 


RRC 
RRC 


(HL) 
(IR + D) 


15 
23 


counter is satisfied 
Transfer control to BASIC at 








Rotate BCD Left thru Memory 




RLD 




18 


1A19 








Rotate BCD Right thru Memory 




RRD 




18 


We could just as well have 








Table 2. Z-80 instructions 


involving memory. 




used expressions such as 


















GOTO 1A19orCTR-CTR + 1 or 




40 


Microcomputing, April 1980 

















diagrams . . . anything as long 
as the procedure is made rea- 
sonably clear. 

The key operation here is the 
copy. Since it is a memory-to- 
memory copy that we want, we 
look in Table 2 (memory instruc- 
tions). There we find under "Da- 
ta Transfer" two block copy in- 
structions, LDDR and LDIR. 
Look them up in one of the refer- 
ences to learn that LDIR incre- 
ments memory addresses as it 
copies, which is what we want. 
We also learn that this instruc- 
tion uses three register pairs, 
HL, DEandBC. 

In these it expects to find, 
respectively, the source memory 
address, the target memory ad- 
dress and the number of bytes 
to be copied. The Z-80 automati- 
cally increments the memory 
addresses and decrements the 
byte counter until it goes to zero. 
Our next task is to load or 
store the required values in 
these three register pairs. Look- 
ing up Table 1 (register instruc- 
tions), we find again under "Da- 
ta Transfer" three "store con- 
stant" instructions, one of 
which concerns register pairs, 
namely, LD RP,NN. These are to 
the point, taking the form LD HL 
4380, for example. 

The final item to be looked up 
is a suitable transfer of control 
instruction in Table 3. Here a 
simple "jump to address" in- 
struction, JP AD, is appropriate. 
We can now write our program, 
with comments: 



write on the left of the corre- 
sponding mnemonic. Thus: 



LD 


HL.4380 


: Point to first source 
location 


LD 


DE,6380 


: Point to first target 
location 


LD 


BC600 


: Set counter for bytes to 
be copied 


LDIR 




: Copy block of memory 


JP 


1A19 


: Transfer control to 
BASIC 



NormaNy, we wou\d use an 
assembler, but this simple pro- 
gram is easily hand-assembled. 
You should consider hand-as- 
sembly of your first machine- 
language program. It will give 
you a direct feel for what is go- 
ing on. To hand-assemble, look 
up each mnemonic in a Z-80 
cross-assembler table such as 
is found in the TRS-80 Editor/As- 
sembler, Operation and Refer- 
ence Manual. This will give you 
the corresponding machine lan- 
guage or object code, which you 



21 80 43 LD HL,4380 

1 1 80 63 LD DE.6380 

01 00 06 LD BC,600 

ED B0 LDIR 

C3 19 1A JP 1A19 



"from" address 
"to" address 
number of bytes 
copy memory 
go to BASIC 



Each two-digit hex number on 
the left represents a byte of ob- 
ject code. But wait, what has 
happened to the addresses! 
They are reversed with the low- 
order byte going in before the 
high-order byte. This is simply 
one of the machine conven- 
tions, which abound in machine 
language. If you are new to ma- 
chine language, you will soon 
get used to it. 

All that remains now is to en- 
ter the 14 bytes of code into 
memory starting at location 
7001, for our example. A ma- 
chine-language monitor such as 
T-BUG for the TRS-80 is a conve- 
nient way to do this. If you use 
this monitor, you will recognize 
that our simple example copies 
T-BUG itself into upper memory. 



To actually perform the copy, 
you simply use the monitor's 
jump command to transfer con- 
trol to location 7001. 

If you wish to verify the copy, 
simply change the last instruc- 
tion to JP 43A0 or C3 A0 43. This 
will return you to T-BUG instead 
of BASIC. You can now examine 
the copy and then use the jump 
command of the monitor to re- 
store control to BASIC. The 
copy of T-BUG will not run cor- 
rectly, since many of its ad- 
dresses will reflect inconsistent 
references (4000 memory block 
versus 6000 block). 

Correcting the addresses in 
the copy is known as relocation, 
which is a subject in itself. The 
point is to recognize that ma- 
chines deal with absolute ad- 
dresses only. If your application 
requires repeatability, you may 
achieve this with the aid of an 
assembler and the choice of cer- 
tain addressing modes avail- 
able in the Z-80. 

Although the above example 



is trivial, it has illustrated the 
principle of using the tables as a 
starting point to find the exact 
instructions you need and then 
reading up on them as neces- 
sary, avoiding all unnecessary 
details in the process. If your 
next problem requires use of an 
output port, for example, you 
will be directed to the correct in- 
structions by the same process 
and proceed to learn just what 
you need to know. 

Having taken the trouble to 
read this article, by all means try 
writing a simple program . . . 
anything, even if it is only to add 
one and one! You will have bro- 
ken through a barrier that, in 
the case of the Z-80, can appear 
quite formidable. You will soon 
come to appreciate the versatili- 
ty and power of your Z-80 pro- 
cessor. 

The LDIR instruction we just 
employed is a good example; it 
performs two increments, one 
decrement and an exit test, all 
automatically within a loop that 



Function 
Input/Output 

Read Device into Register 

Write Register to Device 



Definition Mnemonic Operands (opd) 



R^(opd) 
(opd)^R 



Read Device into Memory, Step-wise 
Read Device into Memory, Block-wise 
Write Memory to Device, Step-wise 
Write Memory to Device, Block-wise 

Interrupts 

Disable Interrupts 

Enable Interrupts 

Execute Device's instruction or interrupt 

Transfer of Control 

Call Subroutine (transfer control to) 

Call Subroutine if Condition of flag is met 

Call Subroutine at Page Zero Addresses 

Return from Subroutine 
Return from Subroutine if Condition is met 
Return from Interrupt (with Priority) 
Return from Non-Maskable Interrupt 

Jump (go to) 

Jump to Label (or Address AD) 
Jump to Label, on Condition 

Jump to Displacement from Program Counter 

Jump if Counter is Non-Zero (loop) 
Miscellaneous 

Pause for 4 Clock Cycles 

Halt Execution (Until Reset or Interrupt) 



IN 
IN 

OUT 
OUT 

IND 
INI 

INDR 
INDR 

OUTD 
OUTI 

OTDR 
OTIR 



Dl 
El 
IM 



CALL 

CALL 

RST 

RET 

RET 

RETI 

RETN 

JP 
JP 

JP 
JP 

JR 
JR 

DJNZ 



NOP 
HALT 



A,N (4) 
R.(C) (3) 

N,A(4) 
(C).R (3) 



LBL(or AD) 
COND.LBL 
XX 

COND 



(HL) 
(IR) 
LBL 
COND.LBL 

DISP 
COND,DISP(9) 

DISP 



Clock 
Cycles 



10 
11 

11 
12 

15 

15 

20/15 
20/15 

15 
15 

20/15 
20/15 



4 
4 
8 



17 

10/17 

11 

10 
5/11 
14 
14 

4 
8 

10 
10 

12 
7/12 

8/13 



4 
4 



Table 3. Z-80 instructions for input/output and execution control. 



Microcomputing, April 1980 41 



Unless Otherwise Noted: 

AD = Explicit address 

COND = Condition, i.e., the state of a flag 

D = Displacement, in context IR + D 

DISP = Displacement, range of - 126 to +129 bytes or memory locations 

IR = Index registers IX or IY 

LBL = Label or symbolic address 

M = Memory 

N = One-byte data value, sometimes an I/O port address 

NN = Two-byte data value, often an address 

R = Registers A,B,C,D,E,H or L, i.e., all 8-bit registers except F,l and R 

RP = Register pairs BC, DE or HL, or 16-bit registers IX, IY or SP 

X = Decimal digit in range 0-7 for bits or 0-2 for interrupt modes (IM X) 

XX = One of eight locations 00, 08, 10, 18, 20, 28, 30, 38 Hex 

opd = Operand 

( ) = Contents of enclosed item; e.g., (HL) signifies location pointed to by content of HL register pair, 

i.e., an indirect memory reference 

( ] = Subscript, e.g., F[C] = Carry flag bit in flag register F 

— = Store in or shift left 

-* = Go to or shift right 

~ = Negation of (logical) 

t,i = And, or (logical) 

Notes 

(1) = Register pairs BC, DE or HL only 

(2) = Register pairs AF, BC, DE or HL only 

(3) = R includes F register; register C contains device port address 

(4) = N is port or device address 

(5) = BC, DEHLorSPonly 

(6) = R is interrupt vector register (I) or refresh register (R) only 

(7) = BC, DE, IX, IY or SP only 

(8) = Accent (') denotes alternate register set; for RP" all three pairs are swapped (exchanged) 

(9) = Flags C, NC, Z, NZ only 

Table 4. Explanations and notes for Tables 1, 2 and 3. 



is also set up and processed au- 
tomatically. Pretty good for just 
two bytes! There's a lot more of 
that power sitting in your ma- 
chine just waiting to be used. 

The Way out off the Forest 

We pointed out in part 1 that 
the purpose of this article was 
not to teach Z-80 programming. 
Clearly, you will be teaching 



yourself. What we have done is 
provide an approach that pre- 
vents hang-ups . . . hang-ups on 
obscure points, on too much in- 
formation, on too many choices, 
on too much detail. 

The key is to identify your 
needs in stages with increasing 
specificity as you narrow down 
the choices. Only then do you go 
into detail on a specific item. 



This is really an informal type of 
top-down program design and 
implementation aimed at learn- 
ing while doing. 

Aside from encouraging the 
use of this approach and your 
own efforts, the three tables of- 
fered here are the only other 
substantial element in this 
scheme. If you intend to master 
Z-80 assembly-language pro- 



gramming, you may want to de- 
velop your own form of such ta- 
bles. It represents a fairly heavy 
effort, but the exercise will 
reveal a great deal about the 
Z-80. 



r Advisory Finale 

Don't get hung up on de- 
tail, choices, obscurities. Be 
resourceful (use parallel 
reading). Identify your prob- 
lem. Narrow it down to speci- 
fics. Then, and on\y then, get 
as detailed as the solution 
requires. 



After all, the riches of the Z-80 
ought to be a comfort, not an 
embarrassment. ■ 

References 

1. William Barden, Jr., The Z-80 
Microcomputer Handbook, 
Howard W. Sams & Co., Inc., In- 
dianapolis IN, 1978. 

2. Mostek Z-80 Technical Manu- 
al, MK 3880 CPU, MP 1031, and 
Mostek Z-80 Programming Man- 
ual, MR 78515, Mostek Corp., 
Carrollton TX, 1977. 

3. Adam Osborne, et al, Z-80 Pro- 
gramming for Logic Design, Os- 
borne & Associates, Berkeley 
CA, 1978. 

4. TRS-80 Editor/Assembler, Op- 
eration and Reference Manual, 
Catalog No. 26-2002, Radio 
Shack, Tandy Corp., Ft. Worth 
TX, 1978. 

5. N. Wadsworth, Z-80 Instruc- 
tion Handbook, Scelbi Publica- 
tions, Milford CT, 1978. 



IEEE 488 & RS232 Switching Units 




*m 



GRS232 units are ideal for interfacing and monitoring 
various peripherals with computers, modems and 
printers. 

'Switching and monitoring, in one unit howrd in attractive 
ilesk top ctme* 

'CRS232S24 nuitche* 24 pin* <2-2S) 
'GHS212P24 *tcilche* 24 pin* (I -24) 
'All connector* are standard 2.5 pin t'.IA type 
'(ancading option H.RS2:i2-2S24 6 -2P24. oilmen inter- 
facing, of more than 5 device*) 
'Standard mze 10.0" x 7.0" x JO" 
'High relitdrility—'-l year tcarranty 

Inquire about optional monitoring capabilities. IEEK 
48K bus fit RS232 interface cables are a stock item. 



$159.95 single units 
Quantity discounts available 



Delivery in 3-4 weeks if not 
available from stock. 



«» 



ORDER FROM: 



450 San Antonio A ve. 
Suite 44 



QlltrOHlk , JHC. 4l5 % 95 °l m , 493.2,99 
_ ^188 _^_____ 



|TM 



THE ULTIMATE TRS-80 
SYNCHRONOUS DATA 
SEPARATOR FOR DISK USERS. 
SDS $34.50 

IF YOU ARE EXPERIENCING READ OR 
SEEK ERRORS ON THE INNER MOST 
TRACKS OF YOUR DISK DRIVES. THE 
SYNCHRONOUS DATA SEPARATOR 
WILL ELIMINATE 100% OF THE DISK 
READ ERRORS AND SPEED UP THE 
DISK ACCESS TIME. NO MORE BLAMES 
ON THE DISK DRIVES NOR PREMIUM 
DISKETTES TO BUY. NO ONE-SHOTS 
ARE USED. THIS IS THE MOST RELI- 
ABLE AND ACCURATE DATA SEPARA- 
TOR AVAILABLE. 

ADD $1 .50 FOR SHIPPING & HANDLING. 
CALIF. RES. ADD 6% SALES TAX. SEND 
CHECK OR MONEY ORDER TO: 

G.P. ASSOCIATES ^ise 
P.O. BOX 22822 
SACRAMENTO, CA 95822 



LOWER CASE & GRAPHIC 

SYMBOLS GENERATOR KIT 

FOR TRS-80™. CG 16 $94.50 



1 



THIS IS TWM iitc awwes. 



sa tw mtin, mmv.\ 

CMMCTOS. 

♦ ♦ ♦ f 





**SWW TOO > 

m tm 

I i • ->*» 

— • 


TEXTIKJ leCxSROHK. 







TRUE 2 LINE DECENDER LOWER CASE, ELEC- 
TRONIC SYMBOLS. THIN LINE GRAPHICS, GAME 
SYMBOLS. TEXTURED BACKGROUNDS AND MANY 
MORE. E. PENCIL TYPE L.C. MOD REQUIRED. IF NOT, 
ADD $18.50 FOR MEMORY AND SWITCHES KIT. 

ADD $1 50 FOR S & H CALIF. RES. ADD 6% ST. SEND 
CHECK OR MONEY ORDER TO: 

G.P. ASSOCIATES ^187 
P.O. BOX 22822, SACRAMENTO, CA 

95822 



42 Microcomputing, April 1980 




When you add the Selectra- 
Print System 9710 to your com- 
puter or terminal, you've got the 
winning team working for you! 

Selectra-Print gives you letter- 
quality hard copy for your 
system plus the versatility and 
efficienpy of IBM's world-famous 
Selectric II.™ At a fraction of the 
price you would expect to pay for 
a conventional printer alone. 

Just plug it in to any computer 
or terminal. Selectra-Print is 
compatible with all serial and 
parallel ports. No program mod- 
ification or additional interface 
is required. If you own a 
TRS-80,™ there's a special 
Selectra-Print to meet your needs. 

Using standard ASCII code, 
Selectra-Print brings all avail- 
able keyboard characters under 
computer control. You can now 
mail, copy or file your com- 
puter or terminal outputs. They 
are even camera-ready for your 
local offset printer. 

In your office, you can use 
Selectra-Print to take over the 
typing chores. Just program 
your computer for the desired 
output, and Selectra-Print de- 
livers forms, correspondence 
and other documents, letter- 



perfect. Addresses, dates and 
other variables can be simply 
typed either manually or by your 
computer or terminal. 

Your Selectra-Print can be used 
as a high quality office type- 
writer, too. Choose either an 
easy-reading 10 characters per 
inch or a space-saving 12 char- 
acters per inch. Or you may order 
your System 9710 with dual 
pitch, which incorporates both. 
For maximum versatility, 
correction is available as an 
option for all systems. 

Selectra-Print comes complete 
with an IBM warranty on the 
typewriter. Micro Computer 
Devices warrants the rest. If, 
after the warranty period ex- 
pires, you would like an annual 
service contract, you may pur- 
chase one for a nominal charge. 
So why pay more for less? If 
you own a computer or terminal, 
why not really put it to work? 
With Selectra-Print and IBM, 
you've got the hard copy team! 



Standard Features 

• IBM standard warranty on 
Selectric II™ typewriter 

• MCD standard warranty on 
Selectra-Print 

• Finest printed copy available 

• ASCII typing element 

• 130 characters per line at 10 
per inch, or 155 characters at 
12 per inch 

• Pull upper and lower case 
alphanumeric characters 

• Parallel or serial interface 

• Switch-selectable rates to 
9.6 kbaud (serial port only) 

• Tab command 

• Backspace 

• Index 

• Bell 

• Computer cable set 

• All necessary software in PROM 

• Choice of IBM colors 

Optional Features 

• Dual pitch 

• Correction 

• Noise reduction 

• RS-232 serial interface 

• Pin feed 

• Tractor feed 

• All available typing elements 

• Annual IBM service contract for 
Selectric II™ 

• Annual MCD service contract for 
Selectra-Print 



MICRO COMPUTER DEVICES, INC. 

3156 East La Palma Avenue, Suite H, Anaheim, GA 92806 • (714) 630-8206 



^24 



^Reader Service — see page 257 



Microcomputing, April 1980 43 



Sirius Systems introduces lower 
prices to quality drives! — 



Remex RFD 4000/8" 
Floppy Disc Drive 
Double the storage! 
Double sided . . . 
Double density!! 



549 s 



5 




Offers quality and features found in drives costing 
much more! ■ Single or Double Density ■ Double-Sided Drive ■ Door 
Lock INCLUDED ■ Write- Protect INCLUDED ■ 180 Day Warranty 
■ Compatible with Shugart 850/851 ■ Low Power Operation ensures 
LONGER LIFE!! ■ Model RFD 4001 offers Data and Sector Separator 

AVAILABLE OPTIONS/ACCESSORIES 



Remex 1000B 
If you've been looking for a 
less expensive floppy disc 
drive, but not wanting to 
sacrifice quality — 
your search is over! 

41 9 95 






VOLUME 

DISCOUNTS AVAILABLE 



□ Dual Drive Power Supply 
and Cabinet. $139 95 



Single Drive Power Supply and Cabinet, $119.95 
Interface Manual. $2 95 



SIRIUSSipOy: 



□ RFD 4000 Manual. $5.95 □ Drive Cabinet. $29.95 □ RFD 4001 , $564.95 

M PI -51/52 

A Great 

Reliable 

Mini-Drive! 

• Fast! 5ms track 
to track access 

• Exclusive Pulley 
Band Design 

• Unique Door/Ejector Mechanism 

• Reliable 1 \ % Speed Stability 



The Perfect 
Add-On for 
yourTRS-80* 

• Comes complete 
ready to plug in 
and run! 

• 5ms track to track 



SIRIUS 80+1 t£*X^A 
(Single Head) ^04v 

SIRIUS 80+2 (Dual Head) $419.95 

'TRS-80© Tandy Corp 




95 



You get both in the Remex 1000B! For only $419.95 look at what you get: 
8" Floppy Drive ■ Single or Double Density ■ Hard or Soft Sectoring ■ 
Media Protection Feature ■ Single Density Data Separator ■ 180 Day 
Factory Warranty 

AVAILABLE OPTIONS/ACCESSORIES 

n Door Lock, $19 95 □ Dual Drive Power Supply. $91 95 □ Interface Manual. $2 95 
] Write-Protect. $19 95 [] Single Drive Power Supply. $69 95 □ Interlace Adapter. $12 95 
□ Connectors . $9 95 ] Drive Cabinet . $24 95 (Remex to Shugart) 





SIRIUS 
SYSTEMS 

»x67 



P Box 9748 Knoxville TN 37920 

Phone Orders accepted 9AM-7PM (EST) 615/577 1072 

□ Check □ Money Order G C D DMC D VISA r\ AE 



I war 

I 

l 



CARD # 



ADDRESS 




MP1-51 

(Single Head) 

MPI-52 (Dual Head) $349.95 



95 I 



EWiAATioli DATE 



CARDHOLDERS SIGNATURE 



CIT7 STATE W 

Add $7 00 per Drive for Shipping/Handling Tennessee residents add 6% sales tax Foreign orders 
add 10% (payment in U S currency only) 




/VR.CML 

convention 

Amateur RadiqtC^mputer Hobbyist 



ST. LOUIS, 

FABULOUS FORUMS 

GIANT INDOOR FLEA MARKET 

EXHIBITS 

MAJOR MANUFACTURERS AND DEALER DISPLAYS 

PARKING 

THOUSANDS OF DOLLARS IN PRIZES 

SPECIAL MOTEL ACCOMMODATIONS 

LADIES AND FAMILY ACTIVITIES 




24, 25, 1980 



OFFICIAL ARRL CENTRAL-MIDWEST 
CONVENTION 



ASSOCIATION, INC. 
P.O. Box 26 
MaritM, IfHrtote 62257 



44 Microcomputing, April 1980 




I* 
\* 

I* 
I* 

I* 
\* 
\* 

\* 

I* 



DG 32D 32K RAM FEATURES: 

Plugs into Heath " H8 Computer. 

Ready to use. Fully assembled, tested & 

burned in. 

Operates with existing Heath R memory. 

Protected memory Output Buffers in the 

event of Address error. 

Utilizes popular 41 16 RAM devices. 

Memory Address DIP switch changeable. 

Arranged as 4 Independent 8K Blocks. 

Low Power Consumption: Less than 6 watts, 

typical. 

Transparent Refresh. 

One year guarantee. 

Compatible with all current H8 peripherals. 



D«G Electronic Developments Co. 
brings you a totally compatible, fully 
assembled and tested 32 K RAM for 
Heath" H8 computers. The DG-32D 
has less than 6 watts power con- 
sumption. This allows you to add a full 
32 K bytes of Random Access Mem- 
ory without taxing or replacing your 
computer's power supply. Engineer- 
ed to plug-in and run without any user 
modifications, the DG-32D can be 

Heath " and H8 are registered trademarks of the 
Heath Corporation, Benton Harbor. Michigan. 



used with or without existing H8 RAM 
without modification. Protection of 
the memory output buffers is provid- 
ed in the event of assigning two 
blocks to the same address space. 
The DG-32D is the ideal answer to 
expansion of the Heath" H8 com- 
puter. . . Low power consumption, 
low price, high capacity, total engi- 
neering and exacting production 
methods. 

BURNED IN 16K MEMORY CHIP SET 
H88-H89 $89.00 



ORDERING INFORMATION: DG-32D RAM available only from DG Electronic Developments Co.. P.O. Box 
1124.1827 South Armstrong. Denison. Texas 75020. Check, money order, VISA or Master Charge. Phone 
orders accepted on charge orders. NO COD s. Foreign orders add 30%. Texas residents add 5%. For VISA 
or Master Charge orders call 2 14-465-7805. $479.00 freight prepaid. Allow three weeks for personal 
checks to clear banks. 



D 




^159 



DEVELOPMENTS CO. 




Complete COLOR GRAPHICS 




With The ^FAil °RWW Family^ 

The original 256-color imaging system with high 
resolution video frame grabber for the S-100 bus. 

Its digitizer captures a video frame in 1 /60th of a second and stores it in 
its on-board image memory, with software selectable resolutions 
ranging from 256 to 1280 pixels per TV line. The image memory is 
accessible through a 2K window in the S-100 address space. The 
compact two-board basic system digitizes and displays 480x512 single 
bit pixels or 240x256 four bit pixels. The video generator displays 1 6 gray 
levels or 1 6 colors on standard B& W, NTSC or RGB color TV monitors. 






np; 55 w* Features: 




480x512 Contoured digitized image 



240x256 Digitized image. 16 levels 





• Input capability from RS-1 70 and other TV signals 

• Variety of synchronization choices 

• 2 selectable video A/D conversion circuits 

• Choice of 1 , 2 or 4 bits per pixel 

• 32K-byte image memory on the basic unit 

• Expandable to 256K bytes with 24-bit color map 

• Lightpen input 

• Photographic trigger control input 

• Character generator 

• Software selectable system parameters 

• Interfaces for LSI/1 1, TRS-80 and other processors 

Accessories: 

Hard copy electrostatic 
printer/ plotter with interface 
Large variety of software 
:ka< 



NTSC and RGB Sony 
Trinitron color monitor 
High sensitivity, high 
resolution lightpen 



packages 



480x512 Computer-generated 



240x256 Digitized image, 1 6 levels 



ROBOTICS AUTOMATED COUNTING AND MEASURING QUALITY CONTROL MONITORING 
PATTERN RECOGNITION IMAGE PROCESSING MEDICAL AND SCIENTIFIC RESEARCH 



DIGITAL 

VIDEO 

SYSTEMS 



441 California Ave., 
Palo Alto, CA 94306 
415/494-6088 



Oept. 36 



^73 



^Reader Service — see page 257 



Microcomputing, April 1980 45 



C. Kevin McCabe 
115 South LaSalle St. 
Suite 3300 
Chicago IL 60603 



Conjure up a GET Command 

for Sorcerer 



Input is a pain in the return key. 



The Exidy Sorcerer has many 
of the abilities — dense 
graphics, 128 user-defined char- 
acters and a relatively fast ver- 
sion of Microsoft BASIC, to 
name but a few— needed for ar- 
cade-like game programs. A 
quick check of the label on the 
BASIC ROM PAC, though, may 
leave a question in the user's 
mind: Who got the GET com- 
mand? 

An obstacle-avoidance pro- 
gram or a fancy Star Trek rou- 
tine should allow a player to 
specify movements with, for ex- 
ample, the four cursor direc- 
tional keys in the numeric key- 
pad. Rather than an INPUT 
statement, which requires an 
on-screen prompt and use of the 
RETURN key, there should be 
some means of informing a 
BASIC program that any specif- 
ic key has been pressed. 

Normally, such inputs would 
be received using a GET com- 
mand, as on the Commodore 
PET. In fact, GET is listed on the 
ROM PAC label. But somewhere 
between the print shop and the 
ROM programmer, the GET 
command disappeared from the 
Sorcerer's bag of tricks. Are we 
forever bound to clumsy INPUT 
statements, or is there some 
way to get a GET with what 
we've got? 

The Magic Elixir 

The USR function is just the 
hocus-pocus the Sorcerer 
ordered. USR causes BASIC to 
execute a machine-language 
subroutine, then return to the 
BASIC program. The phrase 
"machine language" may scare 
a few confirmed BASIC hackers, 
but it needn't. Remember that 

46 Microcomputing, April 1980 



machine-language commands 
to load registers, set flags and 
do all manner of other esoteric 
wizardry are nothing more than 
sequential bytes stored in 
memory. Those bytes, in turn, 
can be POKEd into place by a 
BASIC program, with no need 
for an assembler. 

The BASIC subroutine in 
Listing 1 sets up a machine-lan- 
guage replacement for GET in 
the first eight memory locations 
(leaving 0000H blank to hold re- 
sults). The values POKEd into 
addresses 260 (0104H) and 261 
(0105H) direct the machine to 
this particular routine whenever 
USR is called by an X = USR(0) 
statement. If data is then avail- 
able from the keyboard, the rou- 
tine will load a value between 1 
and 255 into memory location 
zero; if no key is pressed, the 
stored value will be zero. 

For alphanumeric and special 
characters and control codes, 
the stored value is simply the 
ASCII value of the pressed key 
(taking into account any use of 
SHIFT or SHIFT LOCK). If the 
GRAPHIC key is also pressed at 
the same time, a value corre- 
sponding to the standard or user- 
defined graphics character will 
be stored. 

Listing 2 illustrates a short 
BASIC program using the GET 
replacement routine. Line 200 
repeatedly calls the routine, us- 
ing the dummy argument and 
scratch variable shown, until a 
key is pressed. Any nonzero 
value loaded into memory loca- 
tion zero by USR will be printed, 
then the keyboard search will re- 
sume until another input is 
found or CONTROL-C halts the 
program. 



With one or more IF or ON 
statements, a BASIC program 
can select alternative actions 
based on user input. The pro- 
gram in Listing 3 moves a 
graphic character within the 
confines of the screen. The user 
makes a single-space move by 
pressing one of four direction 
keys. Line 100 specifies the 
ASCII comparison values used 
to determine the direction of 
movement. 

In this instance, the 2, 4, 6 and 
8 keys (ASCII 50, 52, 54 and 56) 
are checked— a glance at those 
keytops in the numeric pad 
shows why those values were 
selected. While the program 
could just as easily check for 
the cursor-related control codes 
(ASCII 26, 1, 19 and 23) gen- 
erated by those same keys, the 
input wouldn't be recognized 
unless a SHIFT key was also de- 
pressed. 

The Formula 

How does the Sorcerer ac- 
complish this magic? It's done 
with a combination of Monitor 
and Z-80 commands, along with 
BASIC'S USR function. Table 1 
shows the various memory loca- 
tions and values used by the 
GET replacement routine. 

On power-up or RESET, Sor- 
cerer's BASIC interpreter auto- 
matically loads a value of C3H 



into address 0103H. As shown, 
C3H is the hex code for the Z-80 
command JP mn, that is, jump 
to (and continue execution with) 
address mn. 

In machine-language routines, 
addresses that require 16 bits 
are specified by the two consec- 
utive bytes immediately follow- 
ing a jump, call or other address- 
referenced command. The first 
byte (n) is the low-order, or least 
significant, address byte; the 
second byte (m) is the high-order 
portion of the address. 

Sorcerer's BASIC calls the 
subroutine at address 0103H 
whenever a statement of the 
form X = USR(0) is encountered. 
Since BASIC has already stored 
the JP mn command in that 
location, the contents of the 
next two addresses simply 
specify the starting address mn 
of the desired machine-lan- 
guage subroutine. 

Although such subroutines 
can be stored anywhere in RAM, 
addresses 0000H through 
00FFH work best; this portion of 
memory is never used by either 
BASIC or the Monitor for any 
other purpose. The machine-lan- 
guage routine set up by Listing 
1's code begins at address 
0001 H, so values of 01 H and 00H 
are POKEd into locations 0104H 
and 0105H, respectively (remem- 
ber the reversed order). 



60000 REM — Set up USR subroutine 

60010 RESTORE: DATA 205, 9, 224, 50, 0, 0, 201 

60020 FOR ADDRESS = 1 TO 7 : READ MLANG 

60030 POKE ADDRESS, MLANG: NEXT ADDRESS 

60040 REM — Specify starting address for subroutine 

60050 POKE 260, 1: POKE 261, 0: RETURN 

Listing 1. 



100 GOSUB 60000: REM~add lines 60000-50 ir Listing 1 
200 X = USR(0): IF PEEK(0) = THEN 200 
300 PRINT PEEK(0): GOTO 200 

Listing 2. 



Execution of the selected 
machine-language subroutine 
begins with the command found 
at the specified starting ad- 
dress. The command for Listing 
1's subroutine is the Z-80's 
CALL mn, with the subroutine 
address mn being E009H as 
specified by the next two (re- 
versed order) bytes in memory. 
Address E009H isn't in RAM at 
all; in fact, it's an "entry point" 
into the Monitor ROM routines. 

Entry here causes any avail- 
able single-byte input to be load- 



no input is found. 

Modifications 

A few interesting variations 
are possible. For example, you 
can load the program shown in 
Listing 3, then enter the Monitor 
and input an SE I = P command. 
On return to BASIC (by the Mon- 
itor command PP), the current 
input device will be the built-in 
parallel input port FFH. Any 
device connected to input port 
FFH, such as a joystick-con- 
trolled analog-to-digital con- 



100 
ii0 

120 
200 
210 
220 
300 
310 
320 
400 
410 
420 
500 
510 
520 
600 
610 
620 



U = 56: D = 50: L = 52: R = 54 
DOTAT = -2985: PRINT CHR$(12); 
GOSUB 60000: REM — add lines 60000-50 

132 

KEY = PEEK(0): IF KEY = THEN 

32 

THEN 400 
64 = INT (DOTAT / 64) THEN 200 



POKE DOTAT, 
X = USR(0) : 
POKE DOTAT, 
IF KEY<> L 
IF DOTAT / 



in Listing- 1 
210 



DOTAT = DOTAT - 1: GOTO 200 

IF KEY<> R THEN 500 

IF (DOTAT + 1) / 64 = INT ( (DOTAT 

DOTAT = DOTAT + 1: GOTO 200 

IF KEY<> U THEN 600 

IF DOTAT - 64 < -3968 THEN 200 

DOTAT = DOTAT - 64: GOTO 200 

IF KEY< > D THEN 200 

IF DOTAT + 64 > -2049 THEN 200 

DOTAT = DOTAT + 64 : GOTO 200 



+ 1) / 64) THEN 200 



Listing 3. 



ed from the current input device 
(normally the keyboard) into the 
Z-80's A register. If no input is 
found, a zero value is loaded in- 
stead. After the loading opera- 
tion, control returns to the com- 
mand following the CALL to the 
Monitor routine— in this case, 
the command at address 0004H. 

This next command is 
LD(mn),A, which causes the Z-80 
to load the contents of its A 
register into a designated mem- 
ory address mn (again specified 
by the next two bytes). In Listing 
1's routine, mn is address 
0000H. 

The final command of the 
USR routine, located at the next 
available address (0007H), is the 
RET instruction, which returns 
control to the BASIC program. 
At this point, PEEK(O) will reveal 
the input value or equal zero if 

v Reader Service — see page 257 



verter, will now determine the 
values found by the USR 
routine. Monitor command SE 
I = K returns the keyboard to its 
normal status as the current in- 
put device. 

Notice that any number of 
USR subroutines can be con- 
tained in a program. By POKE- 
ing the desired starting address 
(in decimal) into locations 
0104H and 0105H, successive 
calls to USR may execute differ- 
ent machine-language routines. 
Remember to use the RET com- 
mand as the last byte of each 
routine, so that control returns 
to the BASIC calling program. 

As shown, USR isn't partic- 
ularly difficult to use, even for 
those programmers unfamiliar 
with Z-80 op codes. Most of the 
texts on Z-80 programmming 
will have tables of commands 



Address 


Stored Value 


Decimal Hex 


Decimal Hex 


0000H 


ASCII input 




or zero 


1 0001 H 


205 CDH 


2 0002H 


9 09H 



Remarks 

Holds results ol input 
search routine 
Z-80 CALL mn command 
Low order address byte ol 
called routine(n) 
High-order address byte of 
called routine (m). 
Z-80 LD(mn). A command 
Loads mn with one-byte 
value in A register 
Low order address byte for 
load (n) 

High-order address byte 
for load (m) 

Z 80 RET. returns control 
to BASIC 

Z 80 JP mn command, causes 
jump to routine at mn 
Low-order address byte ol 
desired USR routine 
High order address byte of 
desired USR routine 
Monitor input RECEVE entry 
point. Loads one byte, if 
available, from current 
input device into A register 



Table 1. Memory locations and values used by the GET replace- 
ment routine. 



3 0003H 

4 0004 H 

5 0005H 

6 0006H 

7 0007H 

259 0103H 

260 0104H 

261 0105H 
8183 E009H 



224 


E0H 


50 


32H 





00H 





00H 


201 


C9H 


195 


C3H 


1 


01H 





00H 



Monitor 
RAM 



and their associated hex or 
binary values. Monitor and USR 
routines are briefly discussed in 
Exidy's Sorcerer Technical 



Manual. With this data, ma- 
chine-language routines 
needn't intimidate BASIC pro- 
grammers any longer. ■ 



PASCAL/M 

A CP/M* COMPATIBLE PRODUCT 



TM PASCAL M is on implementa 
tion of the Standard Pascal 
programming language de 
signed by Niklaus Wirth 



PASCAL/M does all input/output and file manipulation via calls 
to CP/M. The file interface Intrlnsics were chosen to promote Pas- 
cal program transportability and to pi o vide a bridge between 
CP/M and the Standard Pascal language definition. In selecting 
and defining extensions to PASCAL/M, heavy weight was given 
to compatibility with other existing Pascal Implementations. 
Over 40 extensions to Standard Pascal support: 



• Console Cursor 
Controls 

• Type String 

• Untyped files (for 
memory image I/O) 



• Segment procedures (memory 
sharing) 

• String and Character procedures 
to support insertion, deletion and 
replacing of character data. 



PASCAL/M provides single precision floating point (Type Real). Both 
integer (16 bit) and long integer (32 bit, 9 digit) arithmetic are sup- 
ported. An optional version will support the AMD 95 11 A or the Intel 
8231 math chips. 



•CP/M is a trademark of Digital Research 



AVAILABLE VERSIONS 

CP/M Typ« CPU Type Disk Size 




8080/85 

zso 
zso 



8 
8 



ZSO 5-1/4" 
8080/85 8" 

ZSO 8" 

8080/85 8" 

Z80 8" 



PASCAL/M requires 56K RAM 
and one floppy disk. The package 
includes diskette with P Code 
Compiler, Interpreter, and Run- 
time Library; Pascal User Manual 
and Report by Jensen and Wirth; 
and PASCAL I M User's 
Reference Manual. The cost is 
$350. For manuals only - $35. 
Dealer inquires welcomed. 
Visa/MC. 

2670 Cherry Lane 

Walnut Creek. 
CA 94596 

(415)938-2880 



Digital 
Marketing 



<^88 



Microcomputing, April 1980 47 




The world's most popular microcomputer, with 16K of 
memory and Level 11 basic for only $750, complete 
with full 90 day Radio Shack warranty. 
We accept check, money order or phone orders with 
Visa or Master Charge. (Shipping costs added to 
charge orders). 

Disk drives, printers, peripherals, software & games. . . 
you name it, we've got it 
(both Radio Shack & other 
brands). Write or call for 
our complete price list. 



,W9 




ELECTRONICS 
MART, LTD. 




AUTHORIZED 
DEALERSHIP 



Radio /haek 



32 EAST MAIN • MILAN, MICHIGAN 48160 • (313) 439-1508 



ANNOUNCING: 



NEW! 



MICROSTAT 



A complete statistics package for business, scientific, 
education and research work. No other package has 
the features of MICROSTAT. For example: 

File oriented with COMPLETE editing 

• A Data Management Subsystem for editing, sort- 
ing, ranking, lagging, data file transfers PLUS 11 data 
transformations (e.g., linear, reciprocal, exponential, 
etc.) • Frequency distributions • Simple and multiple 
regression • Time series (including exponential smooth- 
ing) *11 Non-parametric tests • Crosstabs/Chi-square 

Factorials (up to 1.000,000!), permutations, combinations 

• 8 Probability distributions • Scatterplots 
Hypothesis test (Mean, proportion) • AN0VA 

(one and two-way) • Correlation • Plus many 
other unique features 

Users manual: $10.00 (credited towards purchase) 
and includes sample data and printouts. Uses 
NORTH STAR BASIC 32K of memory, one or two disk 
drives (2 recommended). Printer optional. Price: $200.00 



^83 



master charge 

THf INTERBANK CARD 



P.O. Box 68602 
Indianapolis, IN 46268 



Phone orders 

(317)253-6828 



ELECTRONIC CASH DRAWERS W/INTERFACE 
for ffccippk? computer or Comodore Pet 

by Computer Forum 

• 5 Models to choose from 

■ • Not a kit -just plug into 110V 

J 1 outlet & plug intfc. onto 

1 M computer. 

■ — • Software controllable 

• Full instructions 

• Interface kit separate $50.00 

TERMS: Prepaid, we pay shipping 

and handling in cont. U.S.A. 
Check: Allow 2 weeks extra for 

personal checks. 
Visa-MC : Shipped immediately. 
COD. UPS/Truck freight collect. 
Calif. Residents add 6% sales tax. 

8K P w,fho S ut draw S er 49 95 • Dealer inquiries invited. 

* MODEL CF2 Drawer w/ interface $139.95. Drawer only $ 99.95 

All steel, brown baked enamel finish w/drawer key-lock. Removable plastic 
money tray, 4 coin -3 bill compartment. 

Size: 12.6 ' Wx 16.3" Lx 3.9" H 

* MODEL CF3 Drawer w/ interface $154.95. Drawer only $114.95 

All steel, brown baked enamel finish with drawer key-lock. Remountable plastic 
money tray, 5 coin - 5 bill compartment, bill adjustable to 4. 

Size: 15.6" W x 16.6" L x 4.4" H. 

* MODEL CF4 Drawer w/ interface $169.95 

All steel, brown baked enamel finish, w/drawer key-lock and drawer release 
key lock. Removable plastic money tray, 5 bill compartment, bill adjustable to 4. 
Size: 15.6" W x 19.7" L x 4.4" H. 

* MODEL CF5 Drawer w/ interface $169.95. Drawer only $129.95 

All steel, brown baked enamel finish w/drawer key-lock and drawer release 
key-lock. Removable plastic money tray, 5 coin - 5 bill compartment, bill 
adjustable to 4. 

Size: 16.5" Wx 17.7" L x 4.4" H. 

* MODEL CF6 Drawer w/interface $199.95. Drawer only $159.95 

All steel, brown baked enamel finish, with drawer release key-lock. Removable 
plastic money tray, 5 coin - 5 bill compartment, coin compartments contoured 
for easy change removal . 

Size: 17.3" W x 19.7 ' L x4.6" H 

^76 

...yo hiputer : , , 14052 east Firestone boulevard ^p 

'-' E'lorum ' ' santa fe springs, California 90670 

Xy ' (213) 921-2111 • (714) 739-0711 



CURSE 
AGONIZE 

PRAY 
DELIBERATE 



CHEER 



WONDER 



the fog as it settles in on the 
Norwegian coast. 

over whether the Bismarck is heading 
west or southwest . 

as the Bismarck ranges in on HMS Hood . 

the risk of using convoy escorts as 
search groups. 

as HMS Rodney finally intercepts the 
Bismarck . 

just how much damage the Bismarck can 
actually take. 



ALDERAAN proudly brings you: 



MAY 1941 



May 1941 is a historical simulation game written by S.N. 
Kitzis for the Commodore PET 8K machine. The game 
accurately simulates the search for the German battle- 
ship Bismarck by the British Royal Navy during World 
War II. The simulation includes air reconaissance and 
carrier-launched air strikes, the effects of bad weather 
and night, surface actions and convoy attacks, accurate 
damage assessment for each capital ship, and much more. 
A 19-page rules booklet is included which contains not 
only playing instructions but also history, ship 
characteristics, and strategy notes. The simulation 
displays a map of the north Atlantic ocean and the 
location and status of each ship on the PET screen. 

May 1941 was reviewed in Recreational Computing 
SEPT -OCT 1979. 

$24.95 pp. (California residents please add 6% sales tax.) 

Order direct from: 

Dealer inquiries invited. 
ALDERAAN 

»^ 163 P.O. Box 1243 

So. Pasadena, Ca. 91030 



48 Microcomputing, April 1980 



Here's The Second Half 



i «*™^ 






^ 



David A. Lien 

U VTt-publ.sh.ng 

AD".*** 10 ^92' 1<,oS 



s ,o 0*<l o 



$1595 

(soft cover) 



Written by the author of your Level II Users Manual, LEARNING LEVEL II picks right up where the Level 
I Manual leaves off. It even supplies the changes needed to make the Level I Manual compatible with your 
Level II TRS-80. 

LEARNING LEVEL II covers all Level II BASIC beyond Level I, plus much more. It shows you how to use 
the Editor, explains what the many error messages are really saying, and leads you thru conversions of 
Level I programs to Level II. 

Dual cassettes, the Expansion Interface with Real Time Clock, use of printers and other features are 
explained in the same easy-to-learn style that made the Level I Manual famous. LEARNING LEVEL II 
was created specifically for your Level II TRS-80! 




master charge 



Yes, I want to LEARN Level II ! 



COMPUSOFT® PUBLISHING • 8643K Navajo Rd. • San Diego, CA 92 1 1 9 



»^32 



Please send 



copies of LEARNING LEVEL 



II. My check for $15.95 each + $1.45 P&H is enclosed. 
(CA addresses add 6% sales tax). 

I understand my order will be shipped promptly and 
there is a 30 day money-back guarantee. 



NAME 



ADDRESS 
CITY 



STATE 



ZIP CODE 



^Reader Service — see page 257 



Microcomputing, April 1980 49 



Interesting 



Solve problems arising from use of textbook formulas to calculate compound interest. 



Sid Owen 

246 Walter Hays Dr. 

Palo Alto CA 94303 

Frustrating! Your pocket 
calculator comes close to 
the interest posted in your 
savings-account book, but your 
expensive computer indicates 
a larger error. 

The textbook formula for 
compound interest frequently 
yields significant errors when 
used with home computers. A 
simple solution, along with 
some comments on bank prac- 
tices, is discussed below. The 
programs are written in North 
Star BASIC with notes about 
changes required for other 
BASIC languages. Some alge- 
bra is included, but only for ex- 
planation of the derivations — 
the routines are just as useful 
without the mathematical back- 
ground. 

The Accuracy Problem 

The basic formula for 
calculations with compound in- 
terest is: 

P = A(1 + l) N 

where P = present value; A = 
amount on deposit; I = interest 
rate; and N = number of times 



compounded. This simplest 
version of the formula is used 
for annual compounding. 

Since bank-account interest 
rates are normally quoted as 
the annual simple rate, that is, 
the noncompounded rate, the 
interest term must be divided 
by M, the number of times in- 
terest is compounded per year. 
The resulting l/M is the interest 
earned for one compounding 
period. The basic formula then 
becomes: 

p . A(1 + l/M) N 

This is a simple formula that is 
easily programmed. If you want 
accurate answers, don't use it. 

The l/M term in the paren- 
theses may be very small, 
resulting in several zeros be- 
tween the decimal point and 
the significant digits. The term 
by itself is no problem for 
floating-decimal languages. 
However, when the 1 is added 
to this small value, a language 
with eight-digit precision 
rounds off the sum to eight 
digits, saving the zeros, but 
dropping the excess digits from 
the interest term. This loss of 
interest accuracy significantly 
affects the final answer. 

For example, the daily in- 



run 

Type output device nunher: 

Type nax. desired decimal places printed (0 to 8>: tt 

INTEREST 

Anniici 1 nomncil interest <%) 9. 25 
Confounded how n<my tines annually'' 3A5 

Nunber of tines conpounded 7 365 

Anount on deposit 7 * 10000 



Effective rate ■ 
Interest earned = 

READY 



By i 1 MOM 1 ft 1 

Expansion 

5.3098913 X 

♦538.99 



By 

< ( 1 +< l/M) ) N > 
5.38849 7. 
$338.15 



-1 



Run 1. Shows the error when the conventional routine is used. 



terest rate for a 5.25 percent ac- 
count is 0.00014383562. The 
(1 + l/M) term is rounded to 
1.0001438, which would result 
in an annual interest error of 
about $.14 on a $10,000 ac- 
count (see Run 1). Add in the ef- 
fects of several bank practices 
such as described below, and 
your computer is not much help 
in predicting or verifying the 
bank's calculations! In addi- 
tion, some computer algo- 
rithms for raising variables to 
powers have been known to in- 
troduce small errors. 

Accurate Interest 

The compound-interest 
equation can be rapidly and ac- 
curately solved by the use of 
the binomial expansion. 

See the binomial expansion 
in Equation 1. The compounded 
interest rate is the sum of all 
the terms except the 1, so that 
the full precision is available 
for the interest. In theory, there 



are as many terms in the bino- 
mial expansion as there are 
periods or days of compound- 
ing, but in practice, the terms 
become negligibly small after 
five or so. Also, each term may 
be derived from the previous 
term so that a loop routine can 
be used in your program. This 
routine is illustrated in lines 
390 through 500 of Listing 1. 

In each pass, the loop com- 
putes a term from the previous 
one, saves the new term for the 
next round and also adds it to 
the series total. The result is 
compared with the previous 
total. If the term was not signifi- 
cant enough to raise the 
total (within the precision of 
your language), then the best 
interest within the limits of your 
system has been computed 
and the program will exit the 
loop. 

This routine does not need 
changes for languages of dif- 
ferent precisions. Interest 



Listing 1. Program prints interest by conventional and by 
binomial routines. 



H0 
9 
I 
I 10 
120 
I 30 
I40 
I 50 
160 
170 
180 
190 
200 
210 
220 
230 
24 
250 
260 
270 
280 
290 
30 
310 
320 
3 30 
34 
350 
360 
370 
380 
39 
400 
410 



Binoiil BINOMIAL INTEREST, bv <i . Owen, 3/ 13/- '9 



output device nunber: ",U 
desired decinal places printed 



REM 
REM 

INPUT "Type 
• "Type «a>: . 
INPUT "",D 
Ii = 1 ( D ♦ 2 ) \ ' 

i NU,TAB( 20)," INTEREST "\'NU 
INPUT NU, "Annual noninai interest (X) 
INPUT NU, "Conpounded bow nany tines annually 7 
IF M THEN 1 80\ ' NU, "Type 1 for sinple interest. 
I=I9/M*.01 \ REM I=interest for one period, 
M1=M-360=0\ REM Flag 360 day years 
INPUT NU, "Nunber of tines confounded'' 
IF N THEN 220\ ' NU, "Type 1 for sinple interest. 
IF M1=0 THEN 250 

INPUT NU, "Credited quarterly 7 
IF Q«( 1 , 1 )="Y" THEN Q=1 

INPUT NU, "Anount on deposit' * 

•NU 

" NU,TAB( 20) , " By Binonial 
' NU,TAB< 20) , " Expansion 
FOR J=1 TO 63\'*U,"-",\NEXT JMtM 
G0SUB 390 
G0SUB 530 

IF Q*M1 THEN G0SUB 650 El !5E 
FOR J=1 TO 63\ >NU,"-",\NEXT 
' NU,%N, 
* NU 
END 
REM 

REM calculation subroutine 
E=N*I\T1=E\ REM Ue re confuting 
FOR J=2 TO N 
E9=E\ REM Save last 



(0 to BM 



", l'< 
",M 

"\Gorn 160 

e.g. one day 

",N\NI ^N 
"vGOTO 200 

",Q* 

" , MA A3" A 



By" 
< ( 1 ♦< l/M) )'N) 



I 



•30 SUB 
J\'NU 



590 



Effective interest 
interest value 



5 50 Microcomputing, April 1980 



calculated with an eight-digit 
BASIC will be comparable to 
your bank's calculations, 
agreeing exactly with some 
banks and within a penny or so 
with others. 

Continuously Compounded 

Government regulations set 
the maximum annual simple 
(i.e., nominal) interest rate for 
banks, trust and loan com- 
panies and savings and loan 
companies (all called "banks" 
in this article). The banks, 
however, can compound as 
often as they want for com- 
petitive reasons. 

Computers made it simple 
for banks to go to daily com- 
pounding, and some banks 
even took the last possible step 
of continuous compounding, 
which is also simple to do with 
computers. Each increase in 
the number of times that in- 
terest is compounded results in 
a higher effective annual rate, 
but each increase has a smaller 
effect. The mathematical limit 
is "continuously compounded" 
interest, and present value can 
be computed with the simple 
formula: 

P = Ae' 

where e = 2.71821 18 (the base 
of natural logarithms) and I = 
nominal annual interest rate. 

The computed e-to-the-l-term 
results in a number that is ac- 



(1 + I) N = 1+NI + N(N -V ♦ N(N-1XN-2) 3 



+ I 



N 



2! 



3! 



Equation 1. Binomial expansion. 



tually the sum of 1 plus the ef- 
fective interest rate. The for- 
mula therefore says, "Present 
value equals A (times the 1) 
plus A times effective interest 
rate." The effective interest 
rate itself can be isolated by 
subtracting 1 from e-to-the-l, as 
implemented in line 410 of 
Listing 2. 

Notice in Run 2 that there are 
only six or seven digits for con- 
tinuous interest. Before sub- 
traction, the eight digits of 
precision include the one and 
maybe a zero. There are only six 
or seven digits left for interest 
after subtraction. 

Continuous compounding 
yields interest rates that are 
slightly higher than daily com- 
pounding, but trying to explain 
continuous interest to custom- 
ers (and tellers) must be difficult 
for the banks. Continuous inter- 
est appears to be a dying fad. 

The 360-Day Year 

Most banks and many other 
businesses define a year as 360 
days with 12 months of 30 days 
each. The reason is obviously 



ne t tern 



no «ore progress 



f E1 



REM Round off 



420 T2 = T1*IMN+I-J)/J\ REM Confute 

430 E=E*T2\ REM Add new tern 

440 T1=T2\ REM Save new tern 

450 IF E=E9 THEN EXIT 470\ REM Quit if 

460 NEXT 

470 El =1 00*INT(E *D+.5)/B\ REM Roundoff 

480 E 3 = - 1 ♦ < 1 ♦ I ) N \ REM Compute textl-ook for mil a 

490 E4=100*INT(E3*D+.5)/D\ REM Round-off 

'.500 RETURN 

510 REM 

520 REM Print rate subroutine 

530 '*U f ZZ12F8, "Effective rate 

540 ' *U,TAB<48) ,E4 f " X" 

550 **U 

•360 RETURN 

570 REM 

580 REM Print earning subroutine 

59 R=A*E\R=INT ( 100 MR* .005) > / 1 00\A=A+R\ 

600 • NU, "Interest earned = " , %*%C 1 2F 2 , R , 

A10 R3=A3*E3\R3=INT< 1 00* < R3+ . 005 ) )/ I 00\A3 = A3 + R 3\ REM Roundoff 

A20 ' MU , TAB<45> f R3 

630 RETURN 

440 REM 

A50 REM 90 day quarterly credit subroutine 

660 N=90\G0SUB 390\ 

670 IF N1 <90 THEN 710 

680 G0SUB 590\ 

<490 T=T*R\T3=T3*R3\N1 =N1 -90\ 

700 GOTO 670 

710 IF N1=0 THEN 770 

7 20 N=N1\G0SUB 390\ 

730 G0SUB 590\ 

740 T=T*R\T3=T3*R3\ 

750 REM 

760 REM Print total routine 

770 !*U\'*U f " TOTAL > " 

780 '*U,TAB<45> ,T3 

790 RETURN 



REM C.Vic . 90 day rate 



REM 
REM 



Print 

Accun. 



total <i 



REM Calc. 

REM Print 
REM Accun 



short tern rate 



not the dime or so that they 
save each year for every million 
dollars you have in your 5 per- 
cent account. 

The real advantages (for both 
you and the bank) are that all 
months are the same; there are 
no leap years, and the months 
and quarters are exactly 30 and 
90 days each. From January 1 
to March 3 is two months and 
two days, or 62 days. July 1 to 
September 3 is also 62 days. 

Tellers make fewer errors and 
computer programs are much 
simpler. 

"Credited Quarterly" 

A savings account com- 
pounded daily usually includes 
fine print that says something 
like "earnings distributed quar- 
terly," or "credited quarterly." 
This means that the interest is 
being accumulated for the ac- 
count daily, but it will be posted 
in the savings book quarterly, 
and for good reason. 

When posted (i.e., distribut- 
ed or credited), the interest and 
principal plus interest are 
rounded off, eliminating frac- 
tions of a cent. Interest then 
starts compounding on the 
rounded-off value for the next 
quarter. However, the account 
has earned the unposted in- 
terest (since the last posting) 
and it would, for instance, be 
rounded off, posted and paid if 
the account were closed. 

Without the restriction to 
quarterly posting, a single 
day's interest on small ac- 
counts could round off to zero 
and result in no annual interest 
if the bank posted interest 
when you presented your sav- 
ings book each day. 

Interest is credited quarterly, 
whether or not it is actually 
posted in your savings book. 
Rounding off at these quarterly 
postings may result in a dif- 
ference of a penny or two per 
year, plus or minus, when com- 
pared to interest that is calcu- 
lated using annual rate for- 



mulas or rates from tables. The 
amount of difference depends 
upon the exact balance on 
deposit. Listing 1 will take 
posting into account if the 
"Credited quarterly?" question 
is answered "Yes," as shown in 
Run 3. 

Other Banking Variables 

"In by the 10th. Interest from 
the 1st." This is another adver- 
tising technique to get more 
customers. For your calcula- 
tions, it is easily handled by 
adding the extra days of com- 
pounding. 

Balance averaging is fre- 
quently used to reduce the 
bank's computer load. With an 
active account, the interest 
computation is based on the 
average balance (or else a 
weighted average balance) over 
some period. If your account is 
active, then checking interest 
calculations will require 
knowledge of the specific 
methods used by your bank. 

T-Bill Accounts 

Lucky you! You just received 
a $10,000 birthday check from 
Aunt Tillie, and it is Wednes- 
day. You have decided to open 
one of those new high-interest 
"Money Market" or "T-Bill" cer- 
tificate accounts, which have 
nominal interest based on the 
government Treasury Bill in- 
terest for the week. Each 
Wednesday you can phone and 
find out the interest for the 
week starting Thursday, contin- 
uing through next Wednesday. 

If tomorrow's rate is higher, 
compute how much more the 
higher rate would earn and then 
compute how much you lose by 
waiting a day without interest. 
The difference can be quite a 
few dollars. 

Now you can make a logical 
choice— unless you want to 
guess about reinvestment 
rates at maturity. Also check 
your bank's fine print about in- 
terest for the week after maturi- 
ty. If the high rate continues 
through that week, you can 
make another choice on the 
first Wednesday six months 
from now. 

These certificates mature in 
182 calendar days. Interest 
calculation practices vary. 



Microcomputing, April 1980 51 $ 



360 ", 
DAY YR.", 



80 REM ITABLE', Binomal interest table, by S. Owen, 3/13/79 

90 REM 

100 DIM L(20) 

110 M<2>=4\M(3>=12\M<4)=360\M<5>=365 

120 INPUT "Type output device mmber: ",U 

130 • "Type nax. desired decimal places in table <0 to 8): ", 

140 INPUT "", D\D=10 (D+2)\i 

150 ""Type list of simple interest rates, expressed as percent," 

160 '"ending list by typing digit 0:" 

170 FOR J=1 TO 20 

180 INPUT 1 " " ,1 

190 IF 1=0 THEN EXIT 230 

200 •",••, 

210 L< J) = I/10O 

220 NEXT J 

230 i 

240 >MU 

250 «»U,TAB(20), "EFFECTIVE INTEREST" 

260 • NU 

270 »«U," SIMPLE QUARTERLY MONTHLY 

280 »HU," 365 C0NTIN-" 

290 '»U," INTEREST COHP. COMP. 

300 ««U," DAY YR. UOUS" 

.310 i«U,ZNZMF8 

320 FOR K = 1 TO J-1 

330 «iU,2Z7F4,L(K)* 100," ",\ REM Print sinple rates 

340 REM Print compound rates 

350 FOR P=2 TO 5 

360 N=M(P)\I=L(K)/N 

370 GOSUB 460 

380 »»U,EJ, 

390 NEXT P 

400 REM Crilc. S print continuous rate 

410 •*U,100*INT(D*<-1 +EXP(L(K) ) ) )/D 

420 NEXT K 

430 • IIU\ ' NU 

440 END 

450 REM calculation subroutine 

460 E=N*I\T1=E 

470 FOR R=2 TO N 

480 E9=E 

490 T2=T1*I*<N+1-R)/R 

500 E=E+T2 

■510 T 1 = T 2 

■520 IF E = E9 THEN EXIT 540 

'.530 NEXT R 

•540 El =100*INT (D*E )/D 

550 RETURN 



Listing 2. Program prints interest table for rates that you enter. 



Some banks compute for 182 
days of a 365-day year (but si- 
multaneously use a 360-day 
year for other accounts!), while 
other banks compute for 180 
days of 360, but pay only after 
182 calendar days. 

In the spring of 1979 the 
government prohibited interest 
higher than the actual Treasury 
Bill discount rate and also pro- 
hibited compounding during 
the 182-day period. It autho- 
rized the following payment for- 
mula (for savings and loan in- 
stitutions): 

(182/360Xearnings rateXprincipal) = earnings 

The government also autho- 
rized the following formula for 
advertising purposes: 

(1 +(182/360Kearnings rate))' "V'"" - 1 
= Effective rate 

The rule changes have been fre- 
quent, so check with your bank 
before investing your gift money 
from Aunt Tille. 

Comparative Interest-rate 
Table Program 

Listing 2 shows a program us- 
ing the above routines to print a 
comparative interest-rate table 



as shown in Run 2. To use it, type 
in the nominal interest rates that 
you want to compare, and the 
program will print the table. The 
format is deliberately crowded in 
order to print the table on a 
64-character monitor screen. The 
questions and inputs appear on 
device number zero, but only the 
table is printed on the output 
device if it is other than zero. 

Interest Shopping 

Moving money from a 5 per- 
cent savings account to a 7.5 per- 
cent certificate account is only 
an increase of about 2.5 percent, 
right? Wrong! It is more than a 51 
percent increase in profit! Just 
moving from 5 percent to 5.25 
percent is an increase of more 
than 5 percent return on your in- 
vestment. What businessman 
wouldn't jump at a chance of 
earning an extra 5 percent? Shop 
around, read the fine print and 
use these programs to get the 
most out of your savings. It 
pays— in cash! 

Other BASICS 

The listings may appear 



RUN 

Type output device number: 

Type Max. desired decimal places in table (0 to 8): 8 

Type list of sinple interest rates, expressed ft* percent, 
ending list by typing digit 0: 
3., 5.25, 7.3, 10, 



EFFECTIVE INTEREST 



SIMPLE QUARTERLY 
INTEREST COMP. 



MONTHLY 
COMP. 



360 
DAY YR 



365 
HAY YR. 



CONTIN- 
UOUS 



5. 

5.25 

7.5 
10. 
READY 



5.094533? 5.1161897 5.1267447 5.1267496 5.12711 

5.3542668 5.3781884 5.3098527 5.3098503 5.39026 

7.7135866 7. 7632599 7.787573 7.7075046 7.70042 

10.381289 10.471306 10.515557 10.515578 10.51709 



Run 2. Shows comparisons of rates entered. 



strange if you don't use North 
Star BASIC. Here is how to con- 
vert them to your BASIC: 

1. Input and output devices 
— monitors, keyboards, print- 
ers, etc. — are identifed by a 
number (see Listing 1, line 100). 
Either substitute your lan- 
guage's method for identifica- 
tion or delete line 100 and "#W" 
at each occurrence. 

2. ! means PRINT; !#W 

means PRINT on device num- 
ber W. Either substitute PRINT 
for the !, or substitute your 
language's shorthand for 
PRINT. 

3. In some languages, sub- 
stitute [ and ] for ( and ), respec- 
tively. 

4. A backslash (\) separates 



two independent statements 
with the same line number. The 
\ is equivalent to : in some 
languages. Otherwise, end any 
line when you get to a \ and 
continue with a new line num- 
ber inserted before the next 
number in the printed listings. 

5. Print format is defined by 
statements such as %Z12F8 
in line 530, Listing 1. % means 
that format definition follows. 
Replace with your appropriate 
format definitions. 

6. INPUT1 suppresses car- 
riage return after the input. 
Forget this nicety and substi- 
tute INPUT. 

7. Substitute GOTO for EXIT. 
In these simple programs you 
won't notice the difference. ■ 



INTEREST 

Annual nominal interest <X) 
Compounded how many times annual ly 7 
Number of tines compounded 7 
Credited quarterly 7 
A no tint on deposit 7 * 

By B l noni a I 
Expansion 



5.00 
,360 
360 
NO 
1000.7 J 



Effective rate 



Interest earned 






♦51 .30 



Ky 
( < I >< I / h > > N > 

5 .12 7 % 

•51.31 



INTEREST 

Annual nominal interest (X ) 
Conpounded how many times annually 7 
Number of times compounded 7 
Credited quarterly 7 
Amount on deposit 7 * 

By B l nomi ■ I 
Expansion 



5.00 
360 
360 
YES 

1000./ 5 



Hy 
( ( 1 ♦ ( I / M ) ) N ) 



Effective r,"ite = 

Interest named ■ 

Interest earned = 

Interest earned ■ 

Interest earned = 

TOTAL 



5 . I 2 7 

$1 2.59 
$1 2.75 
$1 2.91 
$1 3.07 

$51 .32 



5 .12 7 % 

* 12.59 
$ 12.75 
$12.91 
$ 13.07 

•51 .32 




$ 52 Microcomputing, April 1980 



At Last! Affordable 

WORD PROCESSING 



Made Possible by TRS-80 



® 



NEW_SCRIPSIT r " 
Word Processing 
Software for 16K 
Level II TRS-80s. 

$ 69 95 Cassette* 

*99 95 Disk* 



NEWUPPER 
AND LOWER 
CASE KIT. 
Available for 
new or exist- 
ing systems. 

S 99 Installed' 




EDIT, DELETE, MODIFY— 
then print it error-free, 45 
characters per second! 



NEW TRS-80 DAISY 
WHEEL PRINTER. 
Clean and readable 
printing, like the very 
finest electric type- 
writers. 

'2999* 



RADIO SHACK BRINGS 
YOU A COMPLETE WORD 
PROCESSING SYSTEM FOR 
TRS-80 MODEL I COMPUTERS. 

Radio Shack smashes another 
computer "cost barrier" with the 
new TRS-80 Word Processing 
System. The system includes our 
new SCRIPSIT software, Upper/ 
Lower Case Kit and Daisy Wheel 
Printer. Add it to any 16K Level II 
TRS-80, or buy a complete sys- 
tem. Once you've tried it, you may 
never want to use a typewriter 
again! 

The new SCRIPSIT software 
lets you compose letters and doc- 
uments of all types on TRS-80's 
screen in upper case, or upper 
and lower case with the new Up- 
per/Lower Case Kit. You can 
move words or entire paragraphs, 
insert, delete and edit to your 
heart's content! SCRIPSIT gives 
you automatic page numbers, 
page headings and footnotes and 
makes it easy to indent para- 
graphs, change line widths, and 
center your text horizontally or 



vertically. Advanced features in- 
clude justification, hyphenation, 
global search/replace, and vari- 
able screen width. On-going re- 
ports, form letters and text with 
print commands can be stored on 
TRS-80 cassettes or diskettes for 
use or revision at any time. 




SCRIPSIT software includes an audio 
cassette course that makes anyone a 
proficient word processing operator. 



PRINT ALL OF THE 
'ORIGINALS" YOU NEED, 
FAST AND ERROR-FREE! 

Our new WP-50 Daisy Wheel 
Printer is fast and gives you the 
same quality of the finest electric 
typewriters — carbon film ribbon 
and all! Or, if your job doesn't 
require "letter" quality, a TRS-80 



system with a dot matrix, u/lc 
printer costs even less. 

A complete TRS-80 cassette 
system with Word Processing 
Software, Upper/Lower Case Kit 
and a dot matrix printer is yours for 
just $2,046.95? Or choose a really 
deluxe system with the WP-50 
Printer and two floppy disks that 
store eight hours of 50 WPM typ- 
ing for only $5,492.95* 

Sound exciting? You bet it is! 
Visit your nearest Radio Shack 
outlet or write for details. 

*Retail prices may vary at individual stores and dealers. 



Radio /hack 

The biggest name in little computers® 

A DIVISION OF TANDY CORPORATION • FORT WORTH, TEXAS 76102 



Mail to: Radio Shack, Dept. CMA-460 
1 300 One Tandy Center 
Fort Worth, Texas 76102 

I'd Like to Know More! 

D Send details on TRS-80 Word Processing 
and the 24-page TRS-80 Catalog #RSC-3. 

D Have a representative contact me. 



NAME 



ADDRESS 


CITY 


STATE 7|p 

I Own/Use a TRS-80 □ Yes 
Model 


D No 



Microcomputing, April 1980 53 



Don't Give Me Any Static 



How to guard against static-electricity damage to MOS circuits 




Conductive rubber floor mat drains static electricity to cement 
floor, or can be grounded with conductive plastic grounding strap. 



Jess Kanarek 
President, Wescorp 
Mountain View CA 



Microcomputers would not 
be possible without MOS 
microcircuits. These tiny bits of 
silicon perform functions pre- 
viously performed by entire 
assemblies. Furthermore, their 
low cost has led to the pro- 
liferation of microcomputers. 

Every technological ad- 
vancement, however, has a 
price in terms of requiring 
changes in procedures, equip- 
ment and materials. The price 
for the advantages of microcir- 
cuits is that they are sensitive 
to a common phenomenon- 



static electricity. 

Static electricity invades 
every home, office and work 
area— unseen and often un- 
detected. Anyone handling a 
MOS device, or an assembly 
containing one, must learn a 
whole new set of rules. 

Fortunately, any techno- 
logical problem is usually 
followed by development of 
equipment, materials and tech- 
niques needed to make it most 
usable. MOS manufacturers 
first required techniques and 
equipment for protecting MOS 
devices while they were being 
produced and shipped. This 
technology was passed along 
to companies that installed the 
microcircuits in their products. 
If damage persisted, a quality 
control engineer often visited 



the user's plant to recommend 
any needed changes in the way 
the microcircuits were being 
handled. 

However, the growing num- 
ber of companies using MOS 
microcircuits for the first time 
and, more recently, the in- 
dividuals using these products 
caused the static electricity 
problem to outgrow the prop- 
agation of knowledge of how 
to control it. Many manufac- 
turers, as well as users, learned 
only through failed products 
that they had a static problem. 

The growing need for anti- 
static protection inevitably led 
to the creation of independent 
companies specializing in anti- 
static materials and equip- 
ment. Competition among 
them has led to lower costs and 
even to development of pro- 
cedures, equipment and mate- 
rials the chip manufacturers 
never envisioned. 

The Problem 

To understand anti-static 
protection, it is necessary first 
to understand the nature of the 
problem. Static electricity can 
be generated by friction be- 
tween many sources — carpets, 
clothing, motors and even 
metals. Static electricity can 
even occur when any two 
materials make or break con- 
tact. Some combinations of 
materials generate more static 
electricity than others. There is 
a transfer of electrons, with one 
material coming away with 
negative charges and the other 
with positive charges. Static 



electricity is dissipated, and a 
spark can even occur when this 
phenomenon (known as "tribo- 
electric" effect) takes place. 

The most threatening source 
of static electricity to ICs, 
however, may be from the per- 
son who contacts them. An 
electrostatic charge of less 
than 100 volts can "blow out" 
the thin layer of glass that in- 
sulates the microcircuit gate 
from the substrate. A person's 
body can generate as much as 
50,000 volts. 

The blowout can be seen 
under a microscope and is, of 
course, quickly determinable in 
a functional test. However, the 
static-induced microcircuit 
failures that should be of most 
concern to the microcomputer 
user are not the catastrophic 
failures that may occur but the 
permanent shifts in conditions 
that cause failures due to 
degradation of performance. 
These are not easily detected 
and may cause unexplained 
malfunctions of the system in 
which the microcircuit is being 
used. Standard functional tests 
may not turn up the fault. 
Therefore, computer-user frus- 
tration can be added to the toll 
taken by static electricity. 

Some Solutions 

Anyone who handles a 
microcircuit or microcircuit 
assembly must be properly at- 
tired, and any surface that he or 
the microcircuit contacts must 
be properly equipped with anti- 
static materials and devices. 

Furthermore, static electrici- 



54 Microcomputing, April 1980 



ty can be a problem when the 
microcomputer, or any other 
product containing microcir- 
cuits, is being used. Temporary 
malfunctioning can be added 
to the more costly perils 
already cited. 

Safeguards against low-level 
static electricity are built into 
the circuits by the manufac- 
turer, but these are not totally 
effective. However, the environ- 
ments in which MOS ICs may be 
used— air conditioning, thick 
carpets and clothes of synthetic 
materials being the most 
ominous elements— are con- 
ducive to static electricity peak 
voltages that can overcome 
these safeguards. Anyone who 
builds his own system or car- 
ries out his own maintenance 
should raise the level of protec- 
tion to that of the equipment 
manufacturer. 

A minimum protective device 
is a conductive floor mat under 
the feet. These come with a 
conductive plastic grounding 
strap, with alligator clips or 



snaps on both ends for draining 
static electricity to any conve- 
nient ground before it can build 
up. 

Basic to any anti-static con- 
trol is proper clothing. Syn- 
thetic materials are excellent 
producers of static charges. In 
industry, a cotton smock has 
become the basic attire for 
anyone coming into contact 
with microcircuits. 

Even properly attired, a per- 
son can generate high-voltage 
static-electricity charges. 
These must be drained off 
before you touch the microcir- 
cuit assembly. You must be 
grounded as near as possible 
to the point of contact with the 
circuit. A wrist strap, one end of 
which is clamped to a grounded 
surface, is the most desirable 
item for accomplishing this. 

Some companies using MOS 
circuits require that shoes be 
wrapped in conductive plastic 
to create a ground between the 
shoes and the floor. Anyone 
who has touched a brass door- 





Conductive work station combines wrist strap (held snugly to wrist 
by Velcro fastener), conductive felt workbench cover and 
grounding strap with clip. 



Assembler at Teledyne Microelectronics, Marina Del Rey CA, is 
properly attired for working on IC. She wears cotton smock, and 
wrist strap links her electrically to conductive plastic bench cover, 
which is grounded outside of photo. Note mouth mask, an unusual 
quality-control precaution. 



knob after walking across a 
nylon carpet on a dry day 
knows the amount of static 
electricity that can be 
generated by the friction be- 
tween the feet and the floor. 

In no case should a carpet be 
on the floor where microcir- 
cuits are handled. If the carpet 
cannot be removed, it should 
be covered with a grounded 
conductive material. 

The tops of tables, work- 
benches or desks (executives 
have been known to blow out 
microcircuits by proudly show- 
ing them to visitors) must be 
covered with conductive 
plastics before the microcircuit 
assembly is placed on them. 
Conductive polyurethane foam 
is often selected because it 
also protects the circuit from 
mechanical shock or abrasion. 
When properly set up, your 
anti-static work area is com- 
posed of an unbroken chain of 
conductive items from you to 
the nearest ground. The wrist 
strap is clamped to the conduc- 
tive bench top, which is con- 
nected by a grounding strap to 
the floor covering, which is, in 
turn, linked to the ground. 

Housekeeping is especially 
important where microcircuits 
are handled. Plastic notebook 
covers, candy wrappers, 
cigarette packages and other 
alien items can carry and 
generate static electricity, and 
should be removed. 

Because of the triboelectric 
effect, a microcircuit can be a 
party to generating its own 
lethal charge of static electrici- 
ty if it is placed in a parts tray of 
another material. For this rea- 



son a line of standard conduc- 
tive plastic parts trays is 
available. They range from sim- 
ple one-level trays with two or 
three compartments to three- 
level "lazy Susan" revolving 
trays having up to 24 different- 
size compartments. 

The air can also be a factor in 
controlling static electricity, 
which increases in inverse pro- 
portion to humidity. If possible, 
the relative humidity of a work 
area should be maintained at 
40 percent or more. If the 
humidity is lower, greater 
handling precautions must be 
taken. The potential for static 
discharge is greatest if the 
plant interior environment is 
warm and dry, while the outside 
air is cold. Low-cost in- 
struments also are available to 
detect and measure static elec- 
tricity in an environment. 

As a service to Microcom- 
puting readers, Wescorp will 
sell basic anti-static devices by 
mail in single units. A conduc- 
tive "work station," which com- 
bines a wrist strap, conductive- 
felt workbench cover and 
grounding strap, sells for $19.95. 
A conductive polyolefin floor 
mat measuring 24x32 inches 
sells for $35. Conductive poly- 
olefin is more durable in such 
use and lies flat without curling 
at the edges. A wrist strap with 
Velcro enclosure sells for $5.60. 
A grounding strap is available 
for $6. 

Check or money order should 
be sent to Wescorp, 1 155 Terra 
Bella Ave., Mountain View CA 
94043. Wescorp will pay 
shipping costs in the United 
States. ■ 



Microcomputing, April 1980 55 




Model EP-2A-87 

EPROM Programmer 



The Model EP-2A-87 

EPROM Programmer has an 

jfc^i RS-232 compatible interface 

■ ^»***£ I and deludes a 2K or 4K 

„gggr i^ buffer. During the ON-LINE 

mode, another computer 
can down-load to the buffer. 
Only two easy-to-implement 
commands are available to 
an external computer. (Load 
buffer and read buffer.) 
In the OFF-LINE mode, the EP-2A-87 will program, verify, test 
buffer, and load the buffer from the EPROM socket. During the 
programming cycle, the EPROM is checked before programming to 
insure that it is erased and after programming it automatically verifies 
that programming is correct. Power requirements are 115 VAC 
50/60 Hertz at lb watts. 

Part No. Description Price 

EP 2A-87 1 Programmer with 2K buffer $525.00 

EP2A87 2 Programmer with 4K buffer 600.00 

Non standard voltage option (220 v. 240 v, 100 v) 15.00 

PM-0 Personality Module, programs TMS 2708 26.00 

PM 1 Personality module, programs 2708 26.00 

PM-2 Personality module, programs 2732 31.00 

PM 3 Personality module, programs TMS 2716 26.00 

PM4 Personality module, programs TMS 2532 31.00 

PM 5 Personality module, programs 2716. TMS 2516 16.00 

PM-6 Personality module, programs 2704 26.00 

PM 7 Personality module, programs 2758, TMS 2508 16.00 

PM 8 Personality module, programs Motorola MCM68764 34.00 

MS XX Disk driver software 27.50 

Optimal Technology, Inc. 

r Blue Wood 127 ^^ 

EarlyivUle, Virginia 22936 
Phone (804) 973-5482 



EPROM PROGRAMMERS 




EP-2A SERIES 

* PROGRAMS 2708 and 2716 
EPROMS 

* Price $59.95 Assembled and 
Tested 

* Kit price $49.95 

* Includes Connector 




EP-2A-78 SERIES 

* PROGRAMS 2708, 2716, 
2758, TMS 2716 and TMS 
2532 EPROMS 

* TEXTOOL ZERO EORCE 
SOCKET 

* Price $79.95 Assembled and 
Tested 

* Includes Connector 



Software available for the Rockwell AIM-65, MOS Technology 
KIM-1, Synertek SYM-1, Motorola D2, RCA VIP and many other 
single board computers that use the 6502, 6800, 8080/85, Z-80, 1802, 
F-8 and 2650 CPU's. Stock. Specify one set of software. 

Optimal Technology Inc. 

Blue Wood 127 

Earlysville, VA 22936 U.S.A. 

Phone (804) 973-5482 



Model EP-2A-88 

EPROM Programmer 




Fast as Jackrabbits . . . Well, almost! 

In Australia, two rabbits can reproduce over 13 million offspring in 
3 years ... at 105 seconds per Z716, the EP-2A-88 can reproduce 
1,892,160 EPROMS in 3 years. Single push button control, the 
EP-2A-88 checks if EPROMS are erased, programs and verifies. 
It also checks for defective EPROMS. 

Two basic models are available, The EP-2A-88-1 will accept Copy 
(CM) modules for the 2758, and 2716 EPROMS. The EP-2A-88-2 
will accept copy modules for the 2716, 2732 and TMS 2532 
EPROMS. Power requirements are 115 VAC 50/60 Hertz at 15 
watts. 

Part No. Description Price 

EP2A-88 1 EPROM Programmer $450.00 

EP2A88 2 EPROM Programmer 450.00 

CM 50 Copy Module for 2716. TMS 2516 EPROMS 25.00 

CM 70 Copy Module for 2758 EPROMS 25.00 

CM 20 Copy Module for 2732 EPROMS 25.00 

CM-40 Copy Module for TMS 2532 EPROMS 2500 

Non Standard Voltage Option (220 v. 240 v, 100 v) 15.00 

Optimal Technology, Inc. 

Blue Wood 127. Earlysville, Virginia 22936 

Phone (804) 973-5482 " M 



Model EP-2A-79 

EPROM Programmer 



^frTT-v 



fSfc-1 



«r«t»*^ *~~ «*:**!. 




m 

Software available for F-8, 6800, 8085, 8080, Z-80, 6502, 1802, 
2650,6809, 8086 based systems. 

EPROM type is selected by a personality module which plugs into 
the front of the programmer. Power requirements are 115 VAC 
50/60 Hz. at 15 watts. It is supplied with a 36-inch ribbon cable for 
connecting to microcomputer. Requires IV2 I/O ports. Priced at 
$155 with one set of software. (Additional software on d\sk and 
cassette for various systems.) Personality modules are shown below. 

Part No. Programs Price 

PM-0 TMS 2708 $15.00 

PM 1 2704,2708 15.00 

PM 2 2732 30.00 

PM 3 TMS 2716 1500 

PM 4 TMS 2532 30.00 

PM 5 TMS 2516, 2716. 2758 15.00 

PM 8 MCM68764 33.00 

Optimal Technology, Inc. 

Blue Wood 127, Earlysville, Virginia 22936 
Phone (804) 973-5482 



56 Microcomputing, April 1980 



Is Your Computer 
Holding You Back? 



If so... it's time you 
expand your capabilities 
with a Vista V-200 
double density ^ 

minifloppy 
disk system. 



Features: 

• Storage capacity ranges from 200K 
bytes to 1.2 megabytes. 

• All Lifeboat software is 
compatible with the Vista 
V-200. 

• The Vista Exidy 200 does 
not require a S100 
expansion box. 

• The Vista V-200 is totally 
compatible with: 
Processor Technology's 
SOL-20 

North Star's Horizon 
Exidy's Sorcerer 
Ismai's 8080 systems. 

• Immediate Delivery. 

• 120 Day Warranty. 

• The complete system is 
available for as low as 
$695. 






Each V200 Minifloppy Disk System Includes: 

■ Minifloppy disk drive(s) — includes dc power regulator board, case and internal power supply. ■ S100 bus controller card— plugs into your 
computer and controls up to 3 double-density double-headed disk drives. ■ I/O cable -^connects controller to drive(s) ■ System software- 
Vista CP/M (VOS) Disk Operating System and BASIC-E compiler (CBASIC optional) recorded on 5 1 /4" diskettes. ■ Operating/instruction 
manuals— complete hardware .software documentation describing your V200 system. ■ Each 5 1 /4' ' diskette holds up to 400K bytes. 

Complete Systems Approach 

If you have a Z-80/8080-based microcomputer with an S100 
Bus, our V200 Minifloppy Disk System is everything you need 
to expand you computer. Completely software/hardware com- 
patible, the V-200 is a double density system capable of run- 
ning up to 3 double-density double-headed disk drives. 

The fast-access, on line storage of the V200 system gives you 
instantaneous program loading and dumping; sequential and 



random file access; context editing of programs and text; 
dynamic debugging of programs; program assembly; batch 
processing and much more. With your console, computer and 
about 24K bytes of main memory, the V-200 gives you a com- 
plete disk-oriented computer system with automatic bootstrap 
loading. Just turn on the power, reset, and you're ready to run. 



23S 



For Further Information Call our Toll Free Number 800-854-8017 



•^146 



The Vista Computer Company 1401 Borchard Street • Santa Ana, California 92705 • 714/953-0523 



** Reader Service — see page 257 



Microcomputing, April 1980 57 




ake a Letter, 

Ms. TRS-80 



Not exactly a word processor, this "secretary" program will compose letters for you. 



Dr. Jack N. Adams 
209 South Lincoln 
Jerome ID 83338 



Many of you would like to 
use your computer to 
write letters and documents. 
There are many programs, such 
as Electric Pencil, that you 
could use, but they cost money 
that could be used for better 
things, such as a printer. So 
here is a free and simple letter 
writer. You could call it a word 
processor, but that would be 
overstating its ability. 

This program, written in 
TRS-80 Disk BASIC, will allow 
you to write a letter, right-justify, 
file on disk, add lines at end of 
letter, modify any lines by retyp- 
ing and print a hard copy. After 
the flak I took on my last article 
("Let's Go Flying," Microcom- 
puting, April 1979, p. 68), I will 
tell you how to rewrite the pro- 
gram in the language of your 

58 Microcomputing, April 1980 



choice. It is not possible to show 
a program run because of the 
type of data entry (INKEY$) 
used. Therefore, I will include a 
"manual" for use of the pro- 
gram. 

This program was written 
as part of a mail-list program. 
The object of the program is to 
write a letter, file it on a disk 
and then call the letter up and 
send it to a select group on the 
mail-list. By the way, I've used 
consecutive line numbers for 
your convenience. Remark 
statements have not been 
referenced by line number and 
may be dropped without af- 
fecting the program. 

Line by Line 

In line 40 the CLEAR (4500) is 
used to clear enough room for 
55 lines of 80 characters. The 
program will allow 56 lines of 
128 characters. If you are going 
to write long letters with long 
line lengths, you will need to 
change this to a higher value. 
The DEFINT H-0,P,S,Y,Z,E is 
used to define as integer all 
variables beginning with the let- 
ters listed. Some of this is a 



carry-over from the other pro- 
grams and may not be neces- 
sary in this program. 

Line 50 reads into the array 
C$(l) the values in line 60. These 
letters in the DATA statement 
are the letters from the "Menu." 
This allows input of only the 
choices available. Now comes 
the real trouble. 

I've used the INKEY$ function 
extensively. The first place you 
see it is in line 130, which says 
"GOSUB 1280." If you do not 
have a TRS-80, you may want to 
completely forget about all of 
the lines that I have used for in- 
put. Some BASICS have the INP 
function that you may be able to 
use in the place of the INKEY$. 
I'll take you through to explain 
what is going on. 

Line 1280 first sends you to 
line 1300, which locates the cur- 
sor and sets the value in P for 
the PRINT @ statements. If you 
do not have a TRS-80 but do 
have cursor control, you can set 
the value of P by some calcu- 
lation. Next, the GOSUB to 980 
sets A$ to a null. Line 990 prints 
character string 143 at screen 
position P. This is a graphic 



character. You could use 45 
(minus) or 95 (underline) just as 
well. L is then set to 1. 

The next line, 1000, looks at 
the keyboard to see if a key is 
pressed, and, if it is, it sets A$to 
the keyed value. It checks to see 
if it is a null, and, if it is not, it 
prints the value of A$ at P. This 
allows a single key input. If an 
input occurred, you would be re- 
turned. However, if a key was 
not pressed, the program would 
go to line 1010. 

In this line, L is incremented 
by 1 and then checked to see 
if L is 16. If L is less than 16, 
the program will go back to the 
keyboard in line 1000 to look for 
another input. If L is 16, line 
1020 will print a space at P and 
go into a FOR loop from 1 to 10, 
and then back to line 980. This 
causes a blinking cursor. 

The variable "I" in line 130 is 
set to 1. In line 140 a checking 
loop starts using "I" as the 
counter. First C$(l), which is the 
letter "C," is checked to see if it 
is the same as A$. If it is not, "I" 
is increased by 1 and the second 
C$(l) is checked. 

This goes on for eleven tries. 



If no match occurs, the program 
goes back to line 130 and then to 
subroutine 980 for another in- 
put. This prevents any input ex- 
cept for the eleven letters in the 
DATA statement in line 60. If a 
match occurs, you will be sent 
to line 150 for the ON-GOSUB 
statement to send you to the 
chosen subroutine. 

The other subroutine for input 
is first encountered in lines 190 
and 200. (By the way, the CLS is 
Radio Shack for clear screen.) In 
line 190 the variables "O" and 
"I" are set to key the subroutine. 
"O" is the length of the input 
allowed, and "I" is the subscript 
for the variable B$(l). The sub- 
script for B$ is a holdover from 
the other programs and could be 
dropped. 

In line 200 you're sent to the 
subroutine for multiple entry in 
line 1040. The cursor is turned 
on by PRINT CHR$(14); then B$ 
(I) is set to a null. Line 1050 looks 
for an input for A$ from the 
keyboard. If none occurs, it will 
look again. When one occurs, it 
goes to line 1060. In this line, if 
FL = 1 (the input routine for cre- 
ating a letter sets this to this 
value), then a check is made to 
see if the entry is ASC(44) or a 

comma. 

It is necessary to check for a 

comma in this subroutine 

because I used serial files to file 

the letter. If you have a comma 

in the text, the program will 

mistake this for the end of a 

variable on input. As a result, the 

text read from a disk will be 

messed up. If you use random 

files, this can be changed. 

The next line (1080) is used to 
check for a back space 
(CHR$(8)). If A$ is a back space, 
the string will be shortened by 
one character. Line 1090 checks 
for CHR$(24). This allows you to 
erase the entire input of the line 
by pressing shift-back space. 

The next line checks to see if 
the entered value of A$ is be- 
tween ASC(32) and ASC(90). 
This limits the entry to the up- 
percase alpha as well as the 
numbers and symbols. If you 
have modified your TRS-80 to 
use lowercase, you will need to 
increase the upper limit to 122 to 
include the small "z." You may 
even want to go to 1 26. Line 1 1 30 
limits the length of B$(l) to the 



length specified in the variable 
"O." When the entry is this 
length, the only input accepted 
is the back space or "ENTER." 

In line 1 120, the value of A$ is 
printed on the screen and A$ is 



OPEN NA$ AS 1 

DELETE 1 

CLOSE 1 : RETURN 

To be honest with you, I haven't 
tried these lines of code, so 
please don't be too angry with 
me if I goofed. 



5/22/79 

WAYNE GREEN 

MICROCOMPUTING - KILOBflUD 
PETERBOROUGH NH 63458 

DEAR WAYNE: 

THIS IS AN EXRMPLE OF fl LETTER TYPED ON MV TRS-88 TO TEST THE "WRITE" 
PROGRAM. THE PARAMETERS USED WERE: LINE LENGTH - 75 AND PAGE LENGTH 66 
I WILL PRINT IT IN THE ORIGINAL FORM AND ALSO IN THE RIGHT- JUSTIFIED 
FORM. THE USER HAS THE OPTION TO SET THE TABULATION AFTER 

THE TEXT CAN BE ALTERED AFTER THE ORIGINAL WRITING AND CAN BE RE-FILED 
AS A NEW FILE OR CAN REPLACE THE ORGINAL FILE PAGE LENGTH CAN BE RE- 
DEFINED AFTER THE LETTER IS WRITTEN THE PROGRAM AUTOMATICALLY PRINTS THE 
TEXT IN A VERTICALLY-CENTERED FORMAT 

SINCERELY, 



DR JACK N ADAMS 
299 SOUTH LINCOLN 
JEROME ID 83328 



values. PP is the variable name 
for page length and "OO" is the 
variable for line length. The tab 
position is displayed in this 
subroutine (TA) but not set here. 

Line 360 is called several 
places in the program. The func- 
tion of the line is to calculate the 
number of spaces needed at the 
top of the page. This allows the 
program to control the place- 
ment of the letter vertically on 
the page. The variables used 
are: TP for top of page, PP for 
page length and NN for number 
of lines. The NN variable is set 
when the letter is created. 

The lines 380 to 420 are used 
to input the letter. Starting with 
the first line, "FL" is set to 1 to 
be a flag for the input subroutine 
to eliminate the comma. Then 
you are routed to 290 to set the 
variables for line and page 



added on the end of B$(l). Then 
the program goes back to line 
1070 for another letter until a 
carriage return (CHR$(13)) turns 
off the cursor (CHR$(15)) and 
returns you to the subroutine 
that sent you to line 1040. 

Meanwhile, back at line 200, 
the program adds "/TXT" to the 
name entered, prints the name 
and asks if this is correct. This 
extension is necessary to avoid 
the possibility of messing up 
programs or files other than 
those created by this program. 

Line 210 sends you back to 
line 1280 for a single key entry. 
This is checked — if "Y," you will 
proceed; if "N," then you must 
go back for another try at a 
name; if "E," forget it, or else try 
another entry. Lines 220 to 250 
may need to be rewritten for 
your BASIC. Here you set the 
disk number, check the entry for 
limits of possibility and then kill 
the file. C-BASIC running under 
CP/M would be much different: 

220 PRINT 

INPUT "Which Drive is it on (A-D)";A$ 
IF A$<"A" OR A$> "D" THEN 220 
NA$ = A$ + ":" + NA$ 



5/22/79 

WAYNE GREEN 

MICROCOMPUTING - KILOBAUD 
PETERBOROUGH NH 93458 

DEAR WAYNE: 

THIS IS AN EXAMPLE OF A LETTER TYPED ON MY TRS-88 TO TEST THE "WRITE" 
PROGRAM THE PARAMETERS USED HERE LINE LENGTH - 75 AND PAGE LENGTH 66 
I WILL PRINT IT IN THE ORIGINAL FORM AND ALSO IN THE RIGHT- JUSTIFIED 
FORM. THE USER HAS THE OPTION TO SET THE TABULATION WHEN HE PRINTS 

THE TEXT CAN BE ALTERED AFTER THE ORIGINAL WRITING AND CAN BE RE-FILED 
AS A NEW FILE OR CAN REPLACE THE ORGINAL FILE PAGE LENGTH CAN BE RE- 
DEFINED AFTER THE LETTER IS WRITTEN THE PROGRAM AUTOMATICALLY PRINTS THE 
TEXT IN A VERTICALLY-CENTERED FORMAT 

SINCERELY, 



DR JACK H ADAMS 
209 SOUTH LINCOLN 
JEROME ID 83338 



Letter-writing printout, a) Before correction and justification, b) 
After correction and justification. 



The next line, 270, is just the 
end. You could simply have an 
END statement here. (However, 
in C-BASIC you would want to 
use STOP.) Lines 290 to 340 are 
used to set the control for line 
length (number of characters 
per line) and length of page. The 
limits for line length are 1 to 128. 
The length of a page is 6 to 66. 
You may want to change these 
values. 

In both cases a carriage 
return (ENTER) will retain the old 



length. Next come a clear 
screen (CLS) and printing of the 
header. The variable O is set to 
the line length (OO). The next 
line starts a loop for entry of the 
letter. II is incremented by one, 
the line number is printed for 
reference, a line of minus signs 
is printed and then the program 
goes to subroutine 1300 to 
locate the cursor, which is then 
back-spaced to the start of the 
minus-sign line. Then the pro- 
gram goes to 1040 for the input 



Microcomputing, April 1980 59 



Write letter program manual. 



justify, file on 
display will give 



CUSTOM MUTING PROGRAM (W-Option) 

This program will allow you to write a letter, right 
disk, call up from disk, and print a trial copy. The 
the following choices: 

<C>REATENEW LETTER 

<J>USTIFY (RIGHT MARGIN) 

<S>ET PRINTER CONTROLS 

<P>RINT HARD COPY 

<R>EAD LETTER FROM DISK 

<F>ILE LETTER ON DISK 

<A>LTER TEXT 

<K>ILL LETTER FILE 

<E>XIT PROGRAM 

<I>NCREASE LENGTH OF LETTER 

<T>YPE OUT ON SCREEN 

You enter the letter for the program you wish to use. 
return to this display until you enter "E" to EXIT 
return to the main "MENU". 



The program will 
the program and 



The program leads you step 



CREATE NEW LETTER (C-Option) 

This program allows you to enter a letter, 
by step. First, you are asked: 

HOW MVNY LINES PER PAGE?- 



This sets the length of the page for your letter. Eleven inch paper 
will have 66 lines. If you want to print two or more letters on a page 
you can divide the number of letters per page into 66 t o get the value. 
Example: If you want to print two letters per page you would enter 33. 
CAUTION: You should remember that the address will take up 5 lines on 
the printed letter. The number of lines should allow for a few lines 
between letters. 

The program will then ask: 

HOW M*NY CHARACTERS PER LINE?- 

This is where you enter the length of the line. Normally you would 
enter 60 to 80 at this point. The limits are 1 to 128. However, a 
line length of 128 would result in very small print. The next step is 
the entry of the letter. The screen will display: 

ENTER LETTER: 

I . 

The line of "-" is an indicator of the line length. If the line length 
is over 59 characters, the line will "wrap around" to the next line. 
The number (1 in this case) is a line number for reference and does not 



appear in the printed copy. It serves 
altering (A-Option) the letter. 



as a reference for later use in 



You can proceed 
line the keyboard 
At this point you 
get to the last 
respond with: 



to type the letter. When you get to the end of the 
of the computer will lock preventing futher entry, 
must back space (using the backspace arrow) until you 

complete word, then press FNTER. The program will 



You then enter each line as you wish until you have completed your 

letter. To exit this mode, you enter END at the start of the line 

following the Last line of the letter. The program will take you back 
to the main display. 

JUSTIFY RIGHT MARGIN (J-Option) 

This portion of the program allows the user to justify the right margin 
of a ktter that has been created with the C-Option. First, you will 
be asked: 

DO YOU WANT TO RIGHT JUSTIFY THIS LETTER? (Y/N) 

If you respond with "N" the program returns to the main display. The 
program checks at this point to see if this letter has been called up 
from a disk file. If it has, it will go to the SET PRINTER CONTROLS 
(S-Option) to reset page length and line length. The screen will then 
display the first line of the letter and ask: 

1. THIS IS A TEST OF THE WRITE PROGRAM TO SEE IF IT WILL 

DO YOU WISH TO RIGHT JUSTIFY THIS LINE? (Y/N) 



If you respond with "N" , the next line will be displayed. If you 

answer "Y" the program will justify the line and then display the 
justified line and say: 



THE LINE NOW READS: 

1. THIS IS A TEST OF THE WRITE PROGRAM TO SEE IF IT 
TO CONTINUE PRESS >ENTER< 



WTU. 



The program will display each line until all lines of the letter have 
been either justified or not. The program then returns to the main 
di splay. 

TYPE OUT ON SCREEN (T-Option) 

This option is used to type out on the computer screen the letter 
written with the "C" option. Each line is displayed with the reference 
number. You can stop the display by pressing the fl key while holding 

the shift key down. The display will be continued by pressing any key. 
At the completion of the display of the letter the screen will say: 

PRESS ENTER TO CONTINUE: 

When you press ENTER the program will return to the main display. 



of the line. 

After the input you are routed 
to subroutine 360 to adjust the 
top of page (TP). Then in line 400 
a check is made to see if you 
have entered 56 lines. If you 
have, FL flag is set to and you 
are returned to the main display. 
If not, the next line checks to see 
if "END" has been entered. If it 
has, II is reduced by one, FL is 
reset, you go to line 360 again, 
and then return. Line 420 says, 
"Do it again." 

Potential Problem Areas 

Line 610 could present a prob- 
lem. This line contains a check 
of the line to be justified. If the 
line is short enough to need 
more than 84 percent justifica- 
tion, the program will refuse. I 
did this to avoid the possibility 
of an endless loop. Line 620 is a 
check to see if any justification 
is needed. 

The actual process takes 
place in line 650. Going from 
right to left through the string 



BB$(II), a check is made for a 
space (CHR$(32)). If one is 
found, another space is added, 
so do not leave a space hanging 
on the end of the line or you will 
have two of them! Then the 
count of spaces needed (JU) is 
reduced by one. The compen- 
sator for spaces (YY) is in- 
creased by one and a check to 
see if you are finished is made. 
Line 670 checks to see if you 
have finished on the first trip 
through the string. If not, do it 
again. 

The filing routine starting in 
line 740 is one place that could 
be a problem with other 
languages. I have used serial 
files because they are simple. In 
this case, I think they may use 
less space. Line 820 opens the 
file, 830 writes the first four 
variables on the file and then 
840 writes the text of the let- 
ter on the file. C-BASIC might 
write the file as: 

IF END #1THEN 855 
820 OPEN NA$ AS 1 RECL 128 
830 PRINT #1,1;PP,NN,TP,00 



FOR X = 2 TO NN + 1 

PRINT #1,X;BB$<X) 

NEXTX 
850 CLOSE #1 : RETURN 
855 CREATE NA$ AS 1 RECL 128 

GOTO 830 

The read routine starting in 
line 870 would be the same as 
the filing one except READ 
would be used in place of PRINT 
and the CREATE would not be 
necessary. The END trap could 
be used to avoid jumping out of 
the program if the file did not 
exist. 

The printing subroutine 
starting in line 1180 has several 
things in it that could give you 
trouble. Line 1220 limits the tab 
setting to a maximum of 64. This 
is all that you can tab a Radio 
Shack printer. Line 1240 POKEs 
the value for the page length 
into the memory location of the 
TRS-80. In another BASIC you 
probably would not need to do 
this. Then a PEEK is made to see 
if the printer is on. Again, this is 
not needed unless you are using 
the TRS-80. 

Line 1250 prints carriage 



returns for the spaces at the top 
of the letter. You could use the 
following (with C-BASIC): 

1250 FORX = 1 TOTP 
PRINT 
NEXTX 

The next line (1260) calculates 
the number of lines at the end of 
the letter (OP). Line 1270 prints 
out the text of the letter and 
then, using LPRINT STRINGS 
(OP,138), prints the blank lines 
at the end of the page. You 
could use a FOR loop as shown 
above to do this. 

Credit should be given to 
Radio Shack for the two sub- 
routines for INKEY$. These two 
routines are very useful for in- 
putting without having to press 
"ENTER" all the time. One 
pointer on listing programs writ- 
ten in TRS-80: If you place a car- 
riage return (down arrow) in the 
line, the printer will do just that 
on output. If these carriage 
returns are placed between 
statements on the line, they will 
have no effect on the program 
run. ■ 



60 Microcomputing, April 1980 



SET PRINTER OONTROLS (S-Option) 

This program displays the control settings and gives asks you to change 
them. The program asks: 

PRINT OONTROLS ARE: 

LINES PER PAGE 6 6 

CHARACTERS PER LINE... 7 2 
TAB POSITION 10 

HOW r-ANY LINES PER PAGE? 

You wi 11 then enter a number between 6 and 66 followed by pressing 
ENTER. The program will reject any number out of this range by 
printing a question mark (?) and wait for your entry. If you press 
ENTER without entering a value, the old value is retained. The program 
wi 11 then ask: 

HOW M\NY CHARACTERS PER LINE? 

You will enter the number of characters you wish to have the line 

length to be. The program will reject any entry other than a number 

between 1 and 128. Again, if you press ENTER without inputing a value, 

the old value will be retained. The program will then return to the 
main display. 

PRINT HARD ODPY (P-Option) 

This program will print on the Radio Shack Line Printer a copy of a 
letter created with the C-Option. If you are calling up a letter that 
has been saved, the program will presume that the printer controls used 
when you created the letter are to be used. If you do not wish for 

this to be the case, you should set these controls by using the 
S-Option before printing. The program will ask: 

THE PRESENT TAB SETTING IS 10, IS THIS OK? (Y/N) 

If you respond with ' V , die program will ask: 

WHAT IS THE TAB POSITION? 

You may enter any between and 64. The program will reject any other 
entry. The program will then say: 

PRESS ENTER TO CONTINUE, E TO EXIT 

If you press "E" the program will return to the main display. If you 
press ENTER the program checks to see if the printer is turned on. If 
it is not it will display: 

** PRINTER NOT READY ** 

PRESS ENTER TO CONTINUE, K TO EX II 

Printing of the letter will proceed after you have turned on the 
printer and pressed ENTER. The program will center the letter 
vertically. You will need to use the print size adjustment and tab to 



locate the letter left to right on the paper. After printing th« 
letter the program will return to the main display. 

READ LETTER FROM DISK (R-Option) 

This program will read a letter from the disk that has been filled 
there (using the F-Option) after you created it using the C-Option). 
The program will ask: 

READ LETTER FROM DISK 
ENTER NAME OF LETTER 

You will then enter a name for this letter. This may be up to eight 
characters or numbers but must start with an alpha character. This 
name must be unique or the program will write this letter on the disk 
in place of the other one. The program will then ask: 

ON WHICH DRIVE IS THE FILE (0-3)? 

When you press a number between and 3 the program will print the file 
name on the screen: 

THE FILE NAME IS TEST/TXT: 1 
** READING DISK ** 



The program adds 
residing on drive 
programs. If the 
get an error messa 
ENTER to restart 
computer from the 
identification to 
copy of these let 
stop the printing 
holding the shift 



the "/TXT:!" 
1 . This is 
fi le does not 
ge to this ef f e 
the program. 

disk, it will 

be sure it is 

ters along with 

to look at th 

key down, as in 



to indicate that It is a text file 

to prevent overwriting one of the 

exist on the drive you chose, you will 

ct. You need only type RUN and press 

When the letter has been read into the 

be TYPED onto the screen. This aids in 

the correct one. You should keep a 

their file names. It is possible to 

e letter by pressing the C key while 

the type (T-Option) program. 



FILE LETTER ON DISK (F-Option) 



This program will file a letter on the disk that has been created or 
modified in the program. The program will ask: 

WHAT DO YOU WANT TO CALL THIS LETTER? 

You may enter a unique name up to eight characters long, the first of 
which must be alpha. The program will then print the name to which it 
has added "/TXT" and ask: 

THE FILE WILL BE TEST/TXT 
IS THIS ALRIGHT? 

If you answer "N", the program will ask for a new name. If you answer 
"Y", the program will ask: 

ON WHICH DRIVE DO YOU IttNT TO FILE (0-3)? 

After you have indicated on which drive you want the file, the program 
will say: 



Program listing. 



5 . 



3 

5 



00 C 



Uj (SI 

□ ▼H •-> *\ ■ • O. 

*~ I *"* lA 

lu £ or u*S O - 

J E S * t- ►! 

I I I OX II O CD 

OC — 0C *-t ■ ■ Z X. 

rttuiaHiiuiMM 




BE 

** *■* tO ►- E 3 

B98BS8 



d It 5 £ * 2 fc 5 £ 



Microcomputing, April 1980 61 



TO WRITE THE FILE PRESS ENTER (TO EXIT PRESS E) 

At this point you may exchange the disk on the drive you specify so 
that you could keep all the letters on a special disk. Tt is possible 
to write the disk file on any disk, but it may be better to have 
separate disk for this job. If you press "E" the program will return 
to the main display without filing the letter on disk. Tf you press 
ENTER the program will display: 

** WRITING FILE ** 

When the letter has been written on the disk, the program will return 
to the main display. 

ALTER TEXT (A-Option) 

This program allows you to retype any Line of the letter. This allows 

correction of misspelled words, correct line length or completely 

changing a line. It is possible to add lines at the end of the text by 

using the Increase Length of Letter (I-Option). It should be mentioned 

that a blank line will occur if you press ENTER when asked to enter the 

line. 

The program will ask: 

WHICH LINE DO YOU WISH TO ALTKR (1 TO 32) 

You would indicate the line number you think is correct. If you wish 
to exit the program you could press "E" and then ENTER to return to the 
main display. The program will display the line and ask: 

LINE 21 NOW READS: 

THIS IS A TEST OF THE WRITE PROGRAM TO SEE IF IT WILL 

IS THIS THE CORRECT LINE? (Y/N) 

If you answer "N", the program will ask for the line you wish to alter. 
If you answer "Y", the program will ask: 

DO YOU WANT TO RETYPE THIS LINE? (Y/N) 

A "N" at this point will return you to asking to enter the line you 
wish to alter. If you press "Y" the program will say: 



ENTER NEW LINE 21: 

You will then retype the complete line. After you type the line and 
press ENTER, the program re-displays the line and asks if it Is 
correct : 

LINE 21 NOW READS: 

THIS IS A TEST OF THE WRITE PROGRAM TO SEE THAT IT WILL 

IS THIS CORRECT (Y/N)? 

If you respond with 'N", the program will give you a chance to retype 
the line again. A "Y" will return you to the starting question in 
A-Option. You may exit this program by entering "E" and pressing ENTER 
when the program asks which line you want to change. You would return 
to the main display. 



KILL LETTER FILE (K-Option) 

This program allows you the option to delete a file from a disk. Tt is 
only possible to kill a "/TXT" file using this method. Great care 
should be used when you use this program! The screen will say: 

KILL LETTER FILE 

WHAT IS THE NAME OF THE FILE? 

You would then type in the exact name of the file. The program will 
add the "/TXT" to the file. This prevents killing any file other than 
a letter file created with this program. Next, the program will ask: 

THE NAME OF THE FILE IS TEST/TXT 
IS THIS THE CORRECT FILE (Y/N)? 

If you press "E", the program will return to the main display. If you 
press "N" , the program will ask for the file again. The program then 
asks: 

WHICH DRIVE IS IT ON (0-3)? 

You then enter the correct drive. The program will display then 
display the message: 

TO KILL THIS FILL PRESS ENTER (E TO EXIT) 

If the file is not on the drive you enter, an error occurs. To restart 
the program type RUN and press ENTER. The program will kill the file 
if all goes well above and then return to the main display. 

EXIT PROGRAM (E-Option) 

When you press "E" while in the main display the program will clear the 
screen and print: 

** RETURNING TO TRSDOS ** 
This returns you to the Disk Operating system. 



INCREASE LENGTH OF LETTER (I-Option) 

This program allows you to add lines of text to the end of the letter. 
The program looks up the current letter's length and starts by 
di splaying: 

ENTER ADDITIONAL LINES: 



33. - 



You can then enter the lines you wish to add in the same mwner as in 
the Create (C-Option) program. When you have completed all the lines 
you intend to add, typing END as in the Create (C-Option) will 
terminate this program. If there is no text in the program from a 
letter previously entered, the program will reject entry to this 
program. 



UJ 

TT 1 



CM 



is 

II => 



Si 



s 



£ 



«* go 

* in 

23 

Br 

i— 

Z V 
— • QC 

en 

q in 
or u"> 



tf-'S 

X ^ t- H- 

x -" z 2 

ifcES 



in 



s a 
I I 



2 



■ 

c* 
r-i 

cd 



in 
in 



t"5 



3 UJ • 5 



tf u. o 

Z « *— LU 

— ^ i en uj 

QC Z O _l > 

Ol. •— • ■ — • LU •"• 

QC OX ■ QC 

in it j * c> 

i _j or r- 

o h- z x 

lu z in LU o 

—• Ln £ i *- x 

t -J ® t i- i 3 

p zsi in ■ z 

qc & ■*-! ►— — ■ n o 



x 

LU 
O 



LU 



in 
in 



g 



—> lu Cn ^ x 

U. X « « LU 

t- A - z 

uj ■ ■ 

I Ul O .« « 

4* >- t z a. x 

or ii « ►— n^ 



UJ Z O ♦ QL QC 

dx* cd-^S " 

B U. ►— II v b CM « 

« •-•Z *-t •-• 4* « ▼>!« 

fc-'-'S I V ■ 00 I— 00 •— 

z ►- 3 zoomzSz 
*-• X I— EZ ll 4* — . in ~ . 

g^tf tf b 6 I£8£ 



CC ■— ■ - 

« 5 — • 3 «~ 

♦■I- -3 2 

4* « • Z • 

CO t * z ►— 

Z l— ►- » - z 

¥ « z * « -» 

z 2 £ § \ * 

i * 1 5 5 1 

cm « N -• n i- 

rf * t* 9c m 

Q ct Q 'H 5 C 

3£ O o £ u. 






QC 
QC LU 




c* 

i 



in 
in 



# 



■ 

z 



g ?• 8 

en » x 

§rag i 

•♦■ Z P rl UJ 

fUJ &&■•» 

• * LU Lk ^ 



>■ 



4* ■ 

00 



VO ^VO^VONNNNN N N N K N TO 00 



CD CD 

00 00 



151 

B 00 00 



t s ■ •— • ,- 

z 3 z ac 4* z x 
I o? S £ o? h: fe £ d 



in 






£ v 



^ ^ s 

M V LU 

5 JJ ■*- 

w U. ID 

S^2 



I— 

Z 

2 



g 4^ 

ot or _i 



SI. 

000*iC>»Cr> ONCFSOnOSONOACn'H^H^-I^H 



3 

Z cs uj £ a gt h 

- © X I V T CD 

CD « CD ►— O '^ O ffi 

1^ I » ri'*fc , - , _>-'^« 

O II Z^ZvSZ^, 

S i £ J* A S S fi 5 8 1 

_ I Z 4* a or 2 — ■ O Z <_> UJ 

£ LU CD » ^ W 2 *" W tf ™ 

LU^OLOr^PLU^piT 

•^2^-u.u.M^tn^cv^ 

■ »<h«»I0DJ(\|M'v 

5 z I S Bl I & I i ^ 9 

2 tf £ « E Sh !!; 8 It li £ 



z 



tf 



8Sr 




Vi »= 



OO OB OB OB CD CD 1 Wfl 



3 



333 



£8? 



62 Microcomputing, April 1980 



TM 



WEVE DONE IT AGAIN! MORE QUALITY ACCESSORIES 
STARTING WITH TSHORT+ ! LVII & DOS SUPER SHORTHAND. 

0/UoW WEB'S FAMOUS TSHORT™ EXPANDS! 

SAVE MORE TIME 
THAN EVER . . . 
TYPING PROGRAMS 
WITH TSHORT+"! 

Look at these new Features: 




NOW! 41 preprogrammed LV II and DOS 
statement keys 

NOW' 11 "SAVEABLE" KUSTOM keys: Ten 
10-character and one 64-character 
NOW! Includes automatic keyboard 
DEBOUNCE 

NOW! RELOCATABLE. Less than 1 K bytes of 
machine language in low or high memory 
NOW! Available on formatted DISKETTES for 
2 or more drives. Comes on cassette for LV II 
and single disk drives. 

Hold "SHIFT" or "CLEAR" and press de- 
sired key — entire statement is typed on 



TRS-80 Keyboard with decals installed 



screen. Installed "CRTL" key can substitute 
for "SHIFT" 

Complete decal set (see picture) included for 
both LV II and DOS systems 
Features self-entering commands, i.e. 
CONT; GOTO10; KUSTOM 
Automatic Close Paren ")" may be pro- 
grammed in KUSTOM 



TSHORT+ cassette 
w/ instruction manual . 

TSHORT+ formatted 
DISK version + manual 



$ 19.95 
$ 24.95 





TSEL™ 

We'll convert YOUR IBM Selectric I or II to a 
high quality letter printer, totally compatible 
with your TRS-80. 

• /jp control — 512 character buffer. 

• Special TRS-80 cable with custom "Pause", 
"Reset" switches Our optional "Y" cable 
allows it to be plugged in with other printers 

• A superior word processing system. 

• Compatible with Electric Pencil Tlv br Radio 
Shack's Scripsit™ Patches or modifications 
not required. 

• Completely tested and ready to LPRINT 
TSEL (cleaning and minor 

service included) $795.00 

(Options and shipping extra — call or write for 
special shipping instructions) 



TBEEP 1 




TMEM ™ 

Now, the best of both worlds! A battery sup- 
ported memory giving you READ/WRITE 
capability with ROM security! 

• Use for retaining important totals/variables, 
utility /system software (i.e. TSHORT. TLEC). 
development programs, monitors, etc. 

• User programmable Write enable switch ♦ 
OUT statement ensures memory security 

• External plug-in module Available in either 
1 K or 2K. 

• Retains memory contents on power down or 
failure for 2 weeks or more Built-in Batteries 
recharge automatically. 

• Instant access to memory contents upon 
power up. 

• Uses unassigned area of memory No 
conflicts with other operating software 

• Compatible with either LV II or Disk Operating 
System. (Special cable required for LV II) 
TMEM w/1K $124.95 

or 
TMEM w/2K $174.95 



TM 



For Level II and Disk Users — A self- 
contained audio alert beeper with a pager-like 
tone. Plugs in-line with "AUX" cable from your 
TRS-80 (Requires 9V Battery) $ 19.95 






\ 1 



f. ^. f ? f * / 







TPAK™ 

The best cassette tapes money can buy — 

AGFA 61 1 We use them tor our production 
software, such as TSHORT™ Pack of 10 C- 10 
blank tape cassettes, boxes, and blank labels 
$ 12.95 



^ 



TBEEP 2™ 

A TBEEP kit you install inside your TRS-80 

keyboard. 

• Completely assembled and tested. 

• Attach to keyboard's PC board with double- 
sided foam tape (included) and solder three 
wires to easily located points on keyboard 
unit. Installs in minutes. 

• Uses power from your TRS-80 No battery 
required. 

• DEALERSf Install when modifying your cus- 
tomer's TRS-80, and include TBEEP's simple 
four word BASIC command in your off the 
shelf Software. 

TBEEP 2 Kit (with complete 

instructions) $ 12.95 



TLEC 



TM 



Kit interfaces your IBM Electronic 50/60 to 
your TRS-80 

• Kit includes Cable with Custom control 
switches for "Pause" and "Reset" and 
cassette with operating Software 

• Installs in minutes Plug it in, no wire to cut 
or solder Does not disturb IBM warranty 

• Needs no modifications or patches to popular 
word processing software 

• Requires either 1 K TMEM or 2K TMEM Load 
only once and forget it 

TLEC w/1K TMEM"(with complete 

instructions) $239.95 

TLEC w/2K "TMEM" (with complete 
instructions) $289.95 



r 



r 



tbase ti 7tchain™ 

2 powerful winners coming up Watch our ads 
for release 



A 





TBUFF — OLD FAITH FULL 

Stop your cassette when it should with our 
TBUFF cassette interface buffer 



(Specify recorder make & model) 



$ 9.95 



vnA 



Telephone Orders: 
(714) 559-6249 



PLEASE NOTE: All WEB Associates' products 
are designed to work with Level II and Disk 
Operating Systems unless specified otherwise 



Send Check or Money Order to: 

WEB ASSOCIATES "** 

.0. Box 60 KJ, Monrovia, CA 91016 
(California Residents add 6% tax) 



DEALER INQUIRIES INVITED 
UPS/C.O.D. - ADD $3.00 

FOREIGN ORDERS: 
Add 20% ($10 maximum) 



Save more than 20%! 



AMERICAN SQUARE COMpUTERS 



NORTH STAR -INTERTUBE 
THINKER TOYS -MICROTEK 



Th« smartest computers at the smartest price. 




HORIZON QUAD & DOUBLE DENSITY 





LIST 


ONLY 


HORIZON- 1-32K-D KIT 


$1999 


$1585 


HORIZON-2-32K-D KIT 


$2399 


$1905 


ASSEMBLED* TESTED 


$2765 


$2195 


HORIZON-2-32K KIT QUAD 


$2799 


$2225 


ASSEMBLED & TESTED 


$3215 


$2555 


PASCAL FOR NORTH STAR ON DISK 




49 


POWERFUL NORTH STAR BASIC 




FREE 


TEI PT 212 COMPUTER 5 MHz 


8000 


6250 


THINKER TOYS DISCUS/2D A&T 


1149 


949 


DISCUS/2 + 2 1 2 MECABYTES A&T 


1549 


1299 


MEASUREMENT SYSTEM MEMORY A&T 4 MHz 


64 K 640 


CODBOUT MEMORY 


CALL FOR PRICE 




*■«■ 



INTERTUBE II SMART TERMINAL 



$995 



$745 




MICROTEK PRINTER 

ANADEX PRINTER 

FLORIDA DATA PRINTER 600 CPS 



750 675 

995 875 

CALL FOR PRICE 



Super Software at Reasonable Prices 

MARYELLEN WORD PROCESSOR YOUR BEST BUY $38 
TEXTWRITERIII $125 

EZ-80 TUTORIAL -LEARN MACHINE LANGUAGE $25 

PDS FOR NORTH STAR — BETTER THAN CP/M $99 

COMPILER FOR HORIZON-SECRET SUPERFAST CODE 

$100 
70% Off Software Prices with Computers 

VERBATIM THE BEST DISKETTES BOX OF 10 $29 

WHICH COMPUTERS ARE BEST? BROCHURE FREE 

NORTH STAR DOCUMENTATION, REFUNDABLE WITH 
COMPUTER $20 



AMERICAN 

SQUARE 
COMPUTERS 



^56 



KIVETT DR 

JAMESTOWN NC 

27282 

(919) 883-1105 





USERS! 



Read 





The Unofficial OSI Users Journal 

- User Equipment Reviews 
- Hardware Mods 

- Software Exchange 
- Peeks & Pokes 
- Bugs & Fixes 

Send $8°° for 12 issues to: *^178 

PEEKI65) 

62 Southgate Ave. 
Annapolis, MD 21401 



Apple II 16K Plus $995.00 

Apple Disk w/Controller 529.00 

Apple Disk w/o Controller 475.00 

Apple Integer Card 180.00 

Pascal Language SYS 450.00 

High Quality 16K RAM Set 89.00 

BPI General Ledger SYS 300.00 

Plan Modeling System 95.00 

MNTN. HDWR. Clock Board 175.00 

Trendcom 100 Printer 375.00 

Trendcom 200 Printer 595.00 

Centronics 779 Printer 

w/lnt. Card 1395.00 

Graphics Tablet 749.00 

Apple Writer Program 69.00 

D.C. Hayes Micromodem II 349.00 

OHIO SCIENTIFIC 

Cl-P Personal Computer $329.00 

Morse Code Transceive Program 

for Challenger Cl-P Computer 

Send & Receive CW 14.95 

Space Shuttle Simulation 

Program for C1-P 

Computer 14.95 

OLENSKY BROS., INC. 

COMPUTER SALES DIVISION ° 

3763 Airport Blvd. • Mobile, AL 36608 - 

(205) 344-7448 * 



WE PAY SHIPPING 




Bluebird's Inc. " us 

2267 23rd STRUT • WYANDOTTE . Ml. 48192 • 3)3-285-4455 

SOFTWARE *- 



Compress- IT ^^ w9t w , m m sia $24.95 

Kwwc MtassMv Tins < torn sranmrs m » mom cotksxs * mam into mkioji putifu stotbot lics 
•net mam m nuiBDns to • mm** cwn ne>ia uim mams nw » «u tauonto soke mam 

COOOESS-IT CONSISTS V 3 MUME 

Simplify-IT «,,« oi« kic i o» m su $24.95 

be« dim » amix mam t list mam n sinu swoon liks ntus t nmbk each na m u i*> urns 
lencth ilimwtes aam on ncs inewn mm sac minas smdcs i fiojs koisiq text « 
OMHOS'STitiDCins-CTC iisis «.i various ao oefimum uso m • fwooj hob hitn • mmjur • lic-wmtu 

SBFIIFV-II CU6ISTS OF 3 HWMIi 

I EXT nuiKs oi» kic ia>» m $49.95 

• ooawiiai text mass* i cucttic film oomct dccutivi immune dikctor files m «wb fiu 
orswcTiOi eveh if nc text-file is give* nc sue m( « • existi* file oiraomc amr orriai extekive edit t 
cxi «jo urn. of-tioos f<bi seodcs noam rvav fiu ra wiitu mm fojvisioi tm oasis disks mis xmb 

FOWTS I FtMTS CXI FILES TO USD SPECIFIC*! 106 K»S mm I TO 4 MS WIVES 

List 'n File: Names «• Things cuics r>is« kic t » m, m $3 4.95 

mi i mnrran wuifu cmaow files oheootv files m ica coin oo ojtooticfuv mwu*i> *ios o* in 
or ufamnoN is ■ e«ilv filed extobive file gditik ovojilities extekive fiu sum of-tiw Ftims loses m 
arm listiujs or m files a* seoocs-f« m> nnrrs oo.v fius comma use* skcifies xev ok 



Compare. 



KOINES MS KIC I Oft Ot) SIS $14.95 

i* immhh utility lists mffbbos ii mi mom, to video mvo luc-mwibi » vav useju to*, to 
tva.mii fojoxntlv ift*m> naane 

4EOJIKS DIS KIC l»« OH $14.95 

w mno ojucnis of vow ms svstem iitfjkiive mm lots or tvowc oomjus ovs « kgioo lei nc MS 

SVSIQI KCMCNO FOI USE III SOMLS 



DISK 



Math/ Stat Pac. 



• uva 2 im • ms svstbi i of* ok sis $ 39.95 



limb* - wtvu pavoKin. socmen. Exracwio. KOKSSIM ORVSIS SIOAIOCO* EOJniOE W W II mm 
foto-ous nor mn caunion no ok one imua m itumt mm wto-oiis stutwi am as mm aim oo emti« 

OF D*T« 04IOI COJ ■ STOKft ON lot » MS STMMT FILES OC KiB IV IIC OHVSIS FMOMB • FUWOE OF WTDCSTI« 
60*1106 IS IMUPB FOI USE (V DC OMFKIt FOOOMK FNIMySTIT FtC COEISTS OF * FONM6 



m mum s mams m iocmitelv omiloxe. oo m -mmi mmn ihcb of kceipi fooomb hill ■ swf«» i 

'« CK9ETTE tOUSS V0U KOCSI I MS COFV KITE FMOMB MI 031 90FIIES » I DI9TH Him IK-0K MS COPIES 

m oFtm-MsnTE mv awn cms okis ow m meat * mm mi> ito-un 



• • BLUEBIRD S HEU FFtST SERVICE FtPCRESS •♦ 

2267 23rd STREET 
WYANDOTTE, Ml. 48192 



inasie' Lfia'Cje 



FOR MINI-COMPUTERS 




Special 

Trial 

Offer!! 



When you order 23 C-10 cassettes 
featuring Precision transport 
mechanism and Digital pressure 
pad. (In individual, dust-proof, 
plastic boxes with labels) for a low 
introductory price of $19.95, we 
will send you FREE 1 C-10 cassette 
for you to test. If you are not 
delighted with its performance you 
can return the unused 23 units for 
a full refund. Please add S1.05 to 
cover postage and handling. NY. 
Res. add 7%. VISA and Master 
Charge accepted. 

Write for pricing on larger quantities. 



Studio Magnetics cojne. 




Sill 



^179 



83 Carlough Road 
Bohemia, N.Y. 11716 
516-589-4300 



The Human Adventure 
is just beginning . . . 

. . . with Med System's exciting new simula- 
tion. Imagine yourself reduced in size and 
injected into a human body. The entire car- 
diovascular system becomes your highway. 
Your computer becomes your eyes and ears, 
allowing you to explore all major organ sys- 
tems. But beware! The body deals with in- 
vading organisms mercilessly. 

Combine adventure with education! The 
Human Adventure teaches anatomy and 
function to anyone who can read. 

Med System's Human Adventure is a 16K 
TRS-80 program requiring Level II for load- 
ing. It is shipped with a two week money 
back guarantee and an extra blank C-10cas- 
sette for back-up copying. 

^129 
TRS-80 16K cassette $9.95 

NC. residents please add 4% tax. 

Med Systems Software 

P.O. Box 2674, Chapel Hill, NC. 27514 



64 Microcomputing, April 1980 




An Extraordinary Offer to introduce you to the benefits of Membership in 

ELECTRONICS BOOK CLUB 

invites you to take C 
this 1,302-page * 
robotics library 
k for only 



Get ALL 

FOUR Of These 

Huge Books 

For Only 

$1.99 



Build Your Own Working Robot 



Complete instructions — plans, schematics, logic circuits, and 
wiring diagrams— for building Buster, the most unique pet in 
the world! Not for novices, Buster is a sophisticated experiment 
in cybernetics. You build him in 3 phases, and watch his 
personality develop as you add progressively more advanced 
circuitry to his mainframe. The first-phase robot, Buster I, is 
"leash-led," and dependent on his master for decision-making; 
Buster II has a basic brain; equipped with a wireless mike, he 
can enter a room and talk with the occupants. Buster III responds 
when called, and when "hungry" finds his charger, and plugs 
himself in. Watch his personality evolve as you build him from 
the ground up in a learning experience unparalleled in electronic 
construction. 238 pps , 117 illus. List $8.95. 



Handbook Of Remote Control & Automation Techniques 



A practical, step-by-step guide to designing, building, and 
installing hundreds of remote control systems, and scores of 
automated devices. ..from garage door openers to light sensors, 
from intercom controls to electromechanical timers— to inter- 
lacing a microprocessor with household devices. You'll learn how 
to apply electronic and mechanical techniques to remote-control 
with computers, with audible tones, with ultrasonics, with radio 
waves, with light beams, with dozens of special systems. You 
can build light and power failure sensors, position indicators, 
tone-operated systems, tone generators, RC hydraulic de- 
vices.. .and you'll see how to interface mechanical devices, 
hydraulic systems, and electric motors with electronic systems. 
294 pps., 250 illus. List $12.95. 



Digital Interfacing With An Analog World 



A GIANT 406-page handbook that shows you how to design 
circuits to interface microprocessors, computers, telephones, 
and other digital devices with the analog world. ..that shows you 
how to really put your microcomputer to work to measure certain 
conditions, or to control external devices. Tells you all about how 
ta go abo\A \\— how to convert energy produced by pressure, 
force, position, temperature, etc. into an electrical voltage or 
current your microcomputer can deal with. It shows you, tells you, 
describes and discusses things you can do with those I/O ports 
other than connect them up to a prefabricated peripheral! It's a 
"meaty" volume chock-full of practical info on a wide range of 
topics for engineers, computer hobbyists, engineering techni- 
cians, and robotics builders. 406 pps., 277 illus. List $12.95. 



The Complete Handbook Of Robotics 



How to design and build ANY kind of robot. ..including ones with 
microprocessor "brains " — PLUS how to interface robots with 
computers! It's a single sourcebook that contains all the 
techniques you'll need for creating, designing, building, and 
operating your own robot from beginning to end. ..with enough 
options to create a whole family of robotic wonders— controls 
can be electrical or electronic; power can be electrical, hydraulic, 
or pneumatic; your robot can operate by radio control or with a 
full range of sensors to move about on its own. This practical 
volume gives ALL the info needed to build a walking, talking 
friend and companion, or even a helpful servant. Includes 7 
Chapters on advanced robot circuits, controls, and sensors. 364 
pps., 137 illus. List $12.95. 

^Reader Service — see page 257 



Digital 



CO**"**** 



ufilli 









Let us send you this 4- volume, 1,302-page 
Robotics Library as part of an unusual offer 
of a Trial Membership in Electronics Book Club. 
Here are quality hardbound volumes, each 
especially designed to help you increase your 
know-how, earning power, and enjoyment of elec- 
tronics. Whatever your interest in electronics, 
you'll find Electronics Book Club offers practical, 
quality books that you can put to immediate use 
and benefit. 

This extraordinary offer is intended to prove 
to you through your own experience, that these 
very real advantages can be yours. . . that it is pos- 
sible to keep up with the literature published in 
your areas of interest, and to save substantially 
while so doing. As part of your Trial Membership, 
you need purchase as few as four books during the 



• 



Only $1.99 for 
ALL FOUR! 

Regular List 
Price $47.80 

Top-Quality 

Hardbinding 

Contains the 
very latest 
info on 
Robotics! 

Almost 800 
illustrations 

Contains over 
500,000 words 

1,302 data- 
packed pages 



coming 12 months. You would probably buy at 
least this many anyway, without the substantial 
savings offered through Club Membership. 

To start your Membership on these attrac- 
tive terms, simply fill out and mail the coupon 
today. You will receive the 4-volume Robotics 
Library for 10-day inspection. YOU NEED SEND 
NO MONEY. If you're not delighted, return the 
books within 10 days and your Trial Membership 
will be cancelled without cost or obligation. 

ELECTRONICS BOOK CLUB. Blue Ridge Summit. Pa. 17214 



Facts About Club Membership 



• The 4 introductory books carry a publisher's retail price of 
$47.80. They are yours for only $1.99 for all 4 (plus postage/ 
handling) with your Trial Membership. 

• You will receive the Club News, describing the current Selec- 
tion, Alternates, and other books, every 4 weeks (13* a year). 

• If you want the Selection, do nothing; it will be sent to you 
automatically If you do not wish to receive the Selection, or if you 
want to order one of the many Alternates offered, you simply give 
instructions on the reply form (and in the envelope) provided, 
and return it to us by the date specified. This date allows you at 
least 10 days in which to return the form If, because of late mail 
delivery, you do not have 10 days to make a decision and so 
receive an unwanted Selection, you may return it at Club ex- 
pense 

• To complete your Trial Membership, you need buy only four 
additional monthly Selections or Alternates during the next 12 
months You may cancel your Membership any time after you 
purchase these four books. 

• All books — including the Introductory Offer— are fully return- 
able after 10 days if you re not completely satisfied 

• All books are offered at low Member prices, plus a small 
postage and handling charge 

• Continuing Bonus: If you continue after this Trial Membership, 
you will earn a Dividend Certificate for every book you purchase. 
Three Certificates plus payment of the nominal sum of $1.99 will 
entitle you to a valuable Book Dividend of your choice which you 
may choose from a list provided Members. 



ELECTRONICS BOOK CLUB 

Blue Ridge Summit, Pa. 17214 

Please open my Trial Membership in ELEC- 
TR0NICS BOOK CLUB and send my 4-volume 
Robotics Library, invoicing me for only $1.99 
plus shipping. If not delighted, I may return the 
books within 10 days and owe nothing, and 
have my Trial Membership cancelled. I agree 
to purchase at least four additional books 
during the next 12 months after which I may 
cancel my membership at any time. 



Name 



Phone 



Address. 



City 



State 



Zip 



^25 



(Valid for new Members only Foreign and Canada add 15'; ) MC-480 

Microcomputing, April 1980 65 





"> 











V >* 






V 




** 



c 







Here's to your health! Six Vitafacts 
programs for you and your family. 



Being healthy and happy is so very important. And now you 
can use your Apple,™ PET/CBM™ or TRS-80™ computer to 
help stay that way. 

Introducing six new Personal Software™ Vitafacts Series 
programs for your health: Growing Up, Heart Attacks, Talking 
About Sex, Drinking & Drugs, Birth Control, and Your Blood 
Pressure. 

Using a Vitafacts program is like getting advice from your 
family doctor. Accurate, up-to-date medical information about 
physical and mental health, presented in a friendly, straight- 
forward way. You'll feel even more confident knowing that 
each program is approved and endorsed by The College of 
Family Physicians in Canada, where the Vitafacts Series is 
created by The Richmond Software Group and Medifacts Ltd. 

Each program includes a manual with diagrams and glossary, 
a computer cassette, and an audio 
cassette. The audio tape uses short 
dramas and straight talk to tell the 
story. Then the computer exercises 
verify your new knowledge. And 
because you use your knowledge 
right away, you remember more. It's 
fun! And a great way to learn. 

Growing Up helps families cope 
with the teenage years. Teenagers 
learn more about their physical and 
emotional changes, and parents leam 
more about helping their children 
through it all. 

Heart Attacks describes what one 
is, how to recognize it, what to do 

TM— Vitafacts is a trademark of Medifacts Ltd.; 

Apple is a trademark of Apple Computer, Inc.; PET 

isa trademark of Commodore Business Machines, rL.J^ 

lnc.;TRS-80 is a trademark of the Radio Shack Div. 

of Tandy Corp. IB 




when someone is experiencing one, and— most important- 
how to help prevent one. 

Talking About Sex, presented by two of Canada's fore- 
most sex counselors, offers to adults the proper information 
and appropriate attitude for a satisfying sex life. 

Drinking & Drugs. No lecturing or talking down. Just 
straight facts about the very real dangers of alcohol and 
drugs. Prepared for teenagers, but good for adults. 

Birth Control explains clearly and completely conception, 
birth and prevention of unwanted pregnancies. Important 
information for teenagers, and helpful for adults. 

Your Blood Pressure. No one is immune to the risks of 
high blood pressure. Knowledge is your best defense, and 
this program has the information. 

"Vita" means "Life" in Latin. We hope these programs 

make your life healthier and happier 
Retail price is just $19.95. 
Ask your Personal Software 
dealer for a demonstration, and for 
our new catalog. Call or write to ftnd 
your nearest dealer (408) 745-7841 
Personal Software, Inc., 592 Weddell 
Dr, Sunnyvale, CA 94086. 








jfltf* 



^145 




David Barnhart WB70BG 
4432 West Iron wood Dr. 
Glendale AZ 85302 



A Better 
Troubleshooting Aid 



This technique allows you to find problems in a computer that is functionally "shot." 



There have been several arti- 
cles in Kilobaud Microcom- 
puting about troubleshooting 
microcomputers. I have noticed 
that a very simple trouble- 
shooting aid has never been 
mentioned. Most troubleshoot- 
ing techniques require the sys- 
tem to at least perform some 
minimal function, and even a 
front panel unit must have the 
ability to jam an instruction into 
the MPU. This article describes 
a device that is useful in trou- 
bleshooting a microcomputer 
that is completely dead or, upon 
power up, just "goes crazy." 

I am a computer technician by 
trade, doing troubleshooting 
and debugging on micropro- 
cessor-controlled logic circuits. 
The processor I deal with is the 
Motorola 6800. Usually, a board 
comes directly from the manu- 
facturing department to our 
quality control department with 
little touch-up. Applying power 
to the board for the first time 
usually opens up a Pandora's 
box of solder shorts and, to a 
lesser extent, defective com- 
ponents. Even an excellent 
scope is of little help identifying 



shorted or open address or data 
lines under these conditions, 
much less the more subtle prob- 
lems. 

We have been able to cut our 
troubleshooting time by as 
much as two-thirds using the de- 
vice in this article. All that is re- 
quired is this plug-in circuit and 
either an oscilloscope or a logic 
probe that has the ability to 
detect pulses and clock signals 
as well as the high and low logic 
levels. 

The first step is to remove the 
resident MPU chip from its 
socket on the CPU board. This 
device is simply plugged in 
place of the resident MPU, via 
40-pin DIP header and ribbon ca- 
ble (see Fig. 1). At the other end 
of the cable is, basically, 
another MPU chip wired such 
that only its timing, power and 
ground signals are connected to 
the resident CPU board. The 
nonresident MPU's address pins 
are left unconnected, and its 
data lines are hard-wired so that 
it always sees a NOP (no opera- 
tion) instruction. For the 6800, 
this is hex 01. 

The address lines from the 



NON-RESIDENT MPU BOARD 




DIP HEADER 



RESIDENT MPU SOCKET 



Fig. 1. 



resident CPU board's MPU sock- 
et are brought, via the DIP head- 
er and ribbon cable, to DIP 
switches, so that each address 
line can individually be set at a 
high or low (one or zero) level. 
The resident data bus is brought 
out to wire-wrap pins to facil- 
itate checking logic levels (see 
Fig. 2). 

Construction 

Construction is simple and to 
the point. You can use perfboard 
and point-to-point wiring. No 
specific resistor values used in 
the switches are required. Try to 
keep the ribbon cable as short 
as practical, as it is susceptible 
to noise. Mine is about 18 inches 
long and works fine. 

Be sure you thoroughly under- 
stand how the ribbon cable con- 
nects to the DIP header. Op- 
posite pins on the header will be 
adjacent conductors on the rib- 
bon cable, which means that the 
conductors will be in non-se- 
quential order. As an alternative 
to physically checking the data 
bus at the wire-wrap pins with a 
scope or logic probe, you can 
use one of the two circuits 
shown in Figs. 3 and 4. Each will 
allow you to put an LED on each 
data line so that the data on the 
bus can simply be checked visu- 
ally. 

Please note that the pin-outs 
and the op-code for the NOP ap- 
ply to the 6800 MPU only. For 
any other processor, the pin- 
outs and the hard-wired 01 for 
the NOP must be changed ac- 
cordingly. 

It is advisable to cover the 
back of the board with a protec- 
tive material such as noncon- 
ductive foam, as the wiring is 



fragile. It is also advisable to 
plug this circuit in sometime be- 
fore a system failure to ensure 
that it works correctly. 

How It Works 

With the nonresident MPU's 
data bus tied to look like a NOP 
instruction, this processor puts 
out an address on its address 
bus (which is not ;onnected to 
anything, remember) and finds 
a NOP instruction. It then ex- 
ecutes the NOP, increments 
the program counter by one 
and puts out the next address, 
which is the present address 
plus one. 

With the processor always ex- 
ecuting a NOP, then increment- 
ing the address on the bus, you 
can see that it will continually 
cycle through all 64K addresses, 
doing a read on every one. But 
the address that the resident 
CPU board sees is tied high or 
low through the DIP switches. It 
thinks it is supposed to do a 
read of one address continually. 
Remember: The Read/Write line 
and the rest of the system tim- 
ing signals are left connected 
(see Fig. 2). 

Now, since we are doing a 
continuous read of a single ad- 
dress (which you have selected 
with the DIP switches), we can 
follow that address out through 
all the buffers, decoding and 
chip selects to see if the proper 
device is selected and read. I 
hope that, sometime prior to the 
system breakdown, you will 
have plugged in this circuit and 
addressed a few selected posi- 
tions in ROM somewhere. This 
way you will have a short list of 
addresses and the data that 
should be found there. 



Microcomputing, April 1980 67 



TWO DIP 
SWITCHES 
r 1 



+ 5V 

_t 



IK RESISTORS 



I 



£ 









^«^ 



^o 



^o 



TO DIP 
) HEADER VIA 
RIBBON CABLE 



GND 



r 



AO 



NO 
CONNECTION 



Al 


A2 


A3 


A4 


A5 


A6 


A7 


A8 


A9 


AIO 


All 


AI2 


AI3 


AI4 


AI5 



9 

10 

II 

12 

13 

14 

15 

16 

17 

18 

19 

20 

22 

23 

24 

25 



5 
34 
36 

3 
37 
40 

2 

6 

4 

7 
39 

I 
21 

8 

33 

32 

31 
30 
29 
28 
27 
26 



VMA 



R/W 



DBE 



01 



02 



RESET 



HALT 



NMJ ^ 



IRQ 



TO DIP 
) HEADER VIA 
RIBBON CABLE 



BA 



TSC 



VSS 



VSS 



VCC 



DO 



01 



02 



D3 



D4 



05 



06 



D7 



♦ 5V 





DO 




01 




02 




D3 


o- D4 




D5 




06 


o- 


07 



TO DIP 
) HEADER VIA 
RIBBON CABLE 



VGNO 



c 

^TO WIRE WRAP PINS 



Fig. 2. Address, data and timing signal lines have the same pin-outs 
on the DIP header as they do on the MPU chip. 



Normally, the troubleshoot- 
ing procedure would occur as 
follows: After plugging in the 
nonresident processor board 
and powering up, check to see 
that all the system timing sig- 
nals look OK. (You know what 
they look like because you did 
this once when everything was 
working.) Be sure to look at each 
signal on both sides of every 
buffer on that signal. 

Next, using the DIP switches, 
bring up the address lines one at 
a time. With all other address 
lines low except the one you are 
checking, it will be easy to tell if 
any two are shorted somewhere. 
Normally, when two lines are 
shorted and one is low, it will try 
to pull the other line low. 

If you do this every day on the 
same type of system, as I do, 
you will usually be able to tell 
the difference between a ground 
low, a TTL low and a shorted 
low. A ground low looks like the 
nearest ground run; a TTL low is 
not quite at ground potential; 
and a shorted low is generally a 
little above a TTL low. 

Next, select an address in a 
ROM somewhere in your sys- 

68 Microcomputing, April 1980 



tern, preferably the ROM in 
which your Reset-and-Go rou- 
tine is located. Check to see that 
it is getting all its proper signals, 
such as chip select and Read/ 
Write. Chip select is usually an 
active low signal, that is, the 
chip is selected when the chip 
select is low. 

As always, have the schemat- 
ics in front of you before at- 
tempting to do any serious trou- 
bleshooting. Many times a pair 
of the timing signals are ANDed 
in some obscure portion of the 
logic, but are vital to the 
system's operation. A good ex- 
ample is valid memory address 
(VMA) or read/write (R/W) being 
ANDed with phase two of the 
system clock, usually called TTL 
Phase 02, or Bus Phase 02. 

Select some of the ROM ad- 
dresses whose contents you 
have written down. If the data 
you get back is wrong, you are 
getting warm. 

Write down the data in binary, 
not hex, as it should be, and 
below it as it appears. Put the 
ones and zeros in a line next to 
each other. By comparing the 
good and bad data, you should 







I 




| 

I6 


»v 

i 


DO 


75I27 




Dl 




2 


15 


00 


D2 




3 


14 


01 


D3 




4 


13 


D2 


D4 




5 


12 


03 


D5 




6 


II 


D4 


06 




7 


10 


D5 






8 


9 


06 




4- 








GND 







+ 5V 



LED 



330H 
— wv — 



] 



ONE LED AND ONE 
RESISTOR ON EACH LINE 







♦ 5 


V 


07 1 


75127 






14 


07 






GND \7 





Fig. 3. 



be able to determine which line 
or lines have problems. For ex- 
ample, if, when you read a loca- 
tion in ROM, all of the data bits 
except bit 4 compare with what 
you have read in the past, then 
you have a problem somewhere 
on the data bus with data bit 4. 
Two bits that go high or low to- 
gether, but not independently, 
are shorted together. Remem- 
ber also that the address or data 
bus lines may not be laid out on 
the board in sequential order. 
The even- and odd-numbered 
lines may be grouped together, 
for instance. 

You should also select an ad- 
dress that is not used anywhere 
in your system and, one at a 
time, bring the data bus lines 
high to see if they go high at the 
nonresident board. This can be 
accomplished by touching each 
line with a resistor with its other 
end attached to +5V(VCC).The 
ones that are not high should 
either be Tri-state or low. 

Helpful Hints 

Sometimes you may have to 
go through this procedure sev- 
eral times to uncover the prob- 
lem. Be sure that you have 
checked those signals on both 
sides of every buffer. It is easy to 
miss one. 

Do not be too quick to blame 
the MPU chip if it seems as 
though you have checked every- 
thing else. In all my experience I 
have only seen one MPU chip go 
bad. I do recommend using a 
spare MPU chip in the nonresi- 
dent board. Then you can sub- 
stitute at any time to reassure 
yourself. 



Sometimes a technician's 
best friend is his X-acto knife. 
Frequently it is impossible to 
determine if the run is shorted or 
if the chip at the end of the run is 
shorted internally. 

The easiest way to tell is to 
carefully cut the run at the base 
of the pin of the suspect IC. 
Whichever of the two is still 
shorted is the guilty party. Be 
judicious about cutting PC 
board runs, though, as you can 
get carried away and miss one 
of your cuts. Always remember 
to repair any cuts you have 
made or you will compound the 
problem at hand. 

Conclusion 

I have used this circuit and ac- 
companying technique several 
times a week for about three 
months, and they have proven 
foolproof. If the average hob- 
byist, who may have very little 
experience along these lines, 
has any questions, just drop me 
a line with an enclosed SASE for 
your reply. ■ 

Acknowledgements 

I must extend my apprecia- 
tion to Joe Bencze, who came 
up with the idea, and also to 
Robert Bennet and John Gatti. 

♦ 5V 




son 



2N2222 



GND 



Fig. 4. 



More from Osborne/McGraw-Hill 



Osborne/ McGraw-Hill 

means documented software 



PAYROLL WITH 











»#.** 







NOW AVAILABLE 

OSBORNE/McGraw-Hill's popular business 
software series in CBASIC-2! 

Thoroughly tested, reliable programs with 
complete source listings, our Payroll with Cost 
Accounting, Accounts Payable and Accounts 
Receivable and General Ledger tell you how to 
begin; how to make changes; how to turn your 
computer into a productive part of your 
business. Printed in a loose-leaf format, easily 
inserted into your own binder, you can add to 
the book as you add to the programs. 



DEALERS: The source listings from each 
book are available on disk for just $250 — 
with no licensing agreements. Call or write 
for our dealer information package. 



The books are also available in Wang BASIC. 



Z80 ■ 6800 - 8080A/8085 - 6502 

Assembly Language 




Programming Primers for the 
most popular Microcomputers 

COMING in JULY and COMING SOON 

Z8000 6809 

These Assembly Language Programming books view assem- 
bly language as a means of programming a microcomputer 
system. Each book explains assembly language program- 
ming, describes the functions of assemblers and assembly in- 
structions, and discusses basic software development con- 
cepts. A special section on structured programming rounds 
out the discussion of programming examples, which range 
from simple memory load loops to complete rudimentary 
design projects. Each book includes comprehensive coverage 
of the particular assembly language, and presents a large 
number of fully debugged, practical programming examples 
written in the language of interest. 

The 8086 Book 

This June, Osborne/McGraw-Hill will release the first of a 
new series,The 8086 Book by Russell Rector. A handbook for 
all 8086 users, this book includes basic 8086 programming in- 
structions, a thorough analysis of the 8086 instruction set, 
and detailed hardware and interfacing guides that reveal the 
full power of the 8086 multiprocessing capabilities. Check 
the box in the order form below to be sent The 8086 Book 
order information. 



Order Form 



Title 


Quantity 


Price 


Amount 


8O80A/8O85 ALP 




$12.50 




Z80ALP 




$12.50 




6800 ALP 




$12.50 




6502 ALP 




$12.50 




Payroll with Cost Accounting. - CBASIC 




$20.00 




Accounts Payable/Receivable - CBASIC 




$20.00 




General Ledger - CBASIC 




$20.00 




Tax — Calif, residents only 


1' is available. 


Tax 

Shipping 

TOTAL 




6%/6V4% BART 




Please notify me when: 

D The 8086 Book □ Z8000 ALP □ 6809 Al 





Shipping: (Shipping for large orders to be arranged) 

D All foreign order $4.00 per book for airmail 

D $0.75 per book 4th class in the U.S. (allow 3-4 weeks) 

□ $125 per book UPS in the U.S. (allow 10 days) 

D $2.50 per book special rush shipment by air in the U.S. 

For faster shipment or credit card, phone (415) 548-2805 



Name:, 



Address: 
City: 



State: 



ZIP:, 



Phone: 



C^ 



OSBORN E/McGra w- Hill ^ 149 



Please send me business software information package for: 

D end user D dealer. 



630 Bancroft Way, Dept. K2 

Berkeley, California 94710 

(415) 548-2805 • TWX 910-366-7277 



m 



1084 



^Reader Service — see page 257 



Microcomputing, April 1980 69 



Interfacing a 

Diablo HyType I 

to an SWTP 6800 



Provided here are both the hardware and support software for this project. 



Phil Hughes 
PO Box 2847 
Olympia WA 98507 

This article describes how I 
interfaced a Diablo HyType I 
print mechanism to a Southwest 
Technical Products 6800 com- 
puter system. I've described 
both the hardware for a parallel 
interface and the support soft- 
ware for what could be called 
teletypewriter simulation. Also 



included are software interfaces 
to Technical Systems Consul- 
tants FLEX 2.0 and Mini-FLEX 
operating systems. 

I chose the Diablo Model 1200 
HyType I Printer because of its 
high print quality, moderate 
speed and high reliability, and 
because reconditioned mecha- 
nisms have become available at 
reasonable costs. 

For those who are not familiar 
with the HyType I, it uses a 



plastic disk (called a daisy 
wheel) to form letter-quality 
characters. Like the carriage 
and platen, the daisy wheel is 
positioned by a servomecha- 
nism. This design offers print 
quality equal to a finely tuned 
IBM Selectric with only a few 
moving parts. Table 1 shows the 
characteristics of the printer. 

All the logic for the printer 
mechanism is contained on 
three circuit boards mounted on 




SWTP system with Diablo HyType printer. 



the print mechanism chassis. 
This includes a parallel inter- 
face unique to daisy wheel print- 
ers. The additional hardware re- 
quired to get the printer oper- 
ating consists of a power supply 
capable of + 5 V dc at 4 A, + 15 
V dc at 9 A peak and - 15 V dc at 
9 A peak (100 W is the typical 
average) and circuitry necessary 
to connect the printer parallel in- 
terface to an SWTP input/output 
port. 

I purchased my power supply 
(a surplus commercial unit) and 
the interface and power cab\es. 
For those who choose to make 
their own cables, the mating 
power connector is a Win- 
chester MRAC14SJTCH13 with 
Winchester 100-0919 socket 
(female) contacts. The mating 
input/output connector is a Win- 
chester MRAC34JTDH with Win- 
chester 100-092S socket (fe- 
male) contacts. Table 2 iden- 
tifies the contact usage of the 
power and I/O connectors. 

I/O Line Signals 

Before I describe the I/O inter- 
face, I will describe the signals 
that appear on the Diablo inter- 
face connector. A true logic lev- 
el is defined as volts, and a 
false logic level is defined as + 5 
volts. The input lines are as fol- 
lows: 

SELECT PRINTER -All input 
lines except SELECT READY are 
inhibited until this signal is true. 



70 Microcomputing, April 1980 










* * m 4 SWt 



Interface prototyping board (top view) designed to fit an SMTP I/O 
slot. 







tmmm 



> .* cm 5* * cm c?*c<u cu ?*•:►*»:: &&m&&»&&&t 



?mft 



n*» ifitttiive :CwV-iC^- 



§* ♦«»* 



tccuct ccc: 



c:cc;c: 






t«*. v s9i>r * t^tif cer¥* 



« i» , 



.* 1 1 n i 1 1 II 



i*r; t< :ccr:cc: .ceeeeeeii.- 







f I 





§993662 I? U.HIM 4,1 Iff 19ft ._ 



jBJff ^*ytli Wfi flh^agy * ijBHBBHt. 



i 



Interface board (bottom view). 



SELECT READY- Enables 
the three output status lines: 
CHARACTER READY, CAR- 
RIAGE READY and PAPER 
FEED READY. 

DATA — There are eleven data 
lines that receive binary-coded 
information representing an 
ASCII character, a carriage 
movement command or a paper 
feed command. When repre- 
senting an ASCII character, only 
the low-order seven bits are 
used. When representing a car- 
riage movement command, the 
ten low-order bits designate the 
distance the carriage is to be 
moved in multiples of 1/60 inch. 
When representing a paper feed 
command, the ten low-order bits 
designate the number of vertical 
1/48 inch increments that the 
paper is to be moved. The high- 
order bit determines the direc- 
tion. 



CHARACTER STROBE- 

Used to load a 7-bit ASCII char- 
acter code. 

CARRIAGE MOTION STROBE 

— Used to load the 11-bit car- 
riage movement command. 
PAPER FEED STROBE- 

Used to load the 11 -bit paper 
feed command. 

RESTORE COMMAND 
Causes the printer to perform a 
restore sequence, which con- 
sists of positioning the carriage 
to the left print column, synchro- 
nizing the print wheel with its 
logic and resetting the printer 
logic. 

RIBBON LIFT COMMAND - 
Used to raise or lower the ribbon 
cartridge. 

The output lines are as 
follows (note: all output lines 
are inhibited until SELECT 
PRINTER or SELECT READY 
signals are true): 



Print Speed 30 characters per second average 

Character Set 96 characters 

Print Line 132 characters at 10 cpi 

Paper Width 15 inches maximum 

Carriage Return Time 400 msec maximum 

Tabulation Right or left direct to column address 

Column Spacing 60 positions per inch 

Paper Feed Up or down 

Paper Feed Spacing 48 positions per inch 

Paper Feed Speed 4 inches per second 

Character Element Interchangeable wheel 

Ribbon Cartridge: Cloth or film 

Physical: 

Height 8.55 inches 

Width 23.10 inches 

Depth 13.1 1 inches 

Weight 30 pounds 

Table 1. HyType I characteristics. 



PRINTER READY -Indicates 
the printer is properly supplied 
with power. 

CHARACTER READY -Indi- 
cates the printer is ready to ac- 
cept a character command. 

PAPER FEED READY- Indi- 
cates the printer is ready to ac- 
cept a paper feed command. 

CARRIAGE READY-lndi- 
cates the printer is ready to ac- 
cept a carriage command. 

CHECK -Indicates that due 
to a machine, controller or 
power supply problem, a pre- 
viously received carriage com- 
mand has not been successfully 
completed. 

PAPER OUT -Not supported 
by Diablo hardware. 

I/O Interface 

The interface diagrammed in 



Fig. 1 is built on a prototyping 
board designed to fit an SWTP 
I/O slot. The logic consists of a 
6820 peripheral interface 
adapter (PIA), some NAND and 
NOR gates that are used to 
combine signals and some in- 
verters used as line drivers. The 
NAND/NOR logic is needed so 
one PIA can handle all the re- 
quired signals. 

This configuration required 
sacrificing the capability of in- 
dividually checking the ready 
status lines (CHARACTER, 
CARRIAGE, PAPER FEED and 
PRINTER). Also, the SELECT 
READY and SELECT PRINTER 
lines are wired true, thus losing 
the capability of individually ad- 
dressing multiple printers on 
one interface. 

Three NAND gates and one 




Printing with the Diablo. 



Microcomputing, April 1980 71 




Interface installed in SWTP I/O slot 7. 



NOR gate (used as an inverter) 
are used to "AND" the CB2 
signal, which is used as the load 
strobe, with the appropriate 
strobe select from PIA data 
lines PA4, PA5 or PA6. Two NOR 
gates and a NAND gate are used 
to "AND" the four ready lines 
from the printer, which are then 
fed into the PA7 line of the PIA. 

Lines PA7, CA1 and CB1 are 
used as inputs. All other PIA 
lines (PA0-PA6, PB0-PB7, CA2 
and CB2) are used as outputs. 
Line CB1 is designed to be a 
manual interrupt input. 



Software 

The software portion of the in- 
terface consists of a port initial- 
ization routine and a printer 
driver. Within the printer driver 
are routines to handle control 
characters. 

The initialization routine 
(HINIT) is called before printing 
is attempted to set up both the 
PIA on the interface board with- 
in the computer and to issue a 
restore command to the printer. 
Setting up the PIA consists of 
selecting the data direction 
registers, loading them so that 



Power: 

Signal Pin 

+ 15 High Current E.H 

+ 15 Low Current F,K,D 

- 15 High Current M,P 

- 15 Low Current N.R 

+ 5 -M- 

Ground Return 15 A,B 

Ground Return 5 C 

I/O: 

Signal Pin 

Data 1 h 

Data 2 J 

Data 4 m 

Data 8 f 

Data 16 k 

Data 32 ■ 

Data 64 g 

Data 128 d 

Data 256 b 

Data 512 V 

Data 1024 F 

Restore E 

Character Strobe P 

Carriage Strobe K 

Paper Feed Strobe C 

Select Printer S 

Select Ready H 

Ribbon Lift M 

Printer Ready a 

Check B 

Paper Out R 

Character Ready Y 

Carriage Ready W 

Paper Feed Ready c 

Ground A.D.J.N.T.U.X 

Table 2. Connector pin usage. 



lines PA0-PA6 and PB0-PB7 are 
set up as outputs and line PA7 is 
set up as an input. 
The PIA control register is 



then set to select the data regis- 
ters, set up the appropriate 
handshaking for the CA1, CB1 
and CB2 lines and lift the ribbon 







X 
















8- 

< 






















z 
o 


































c 
o 


















CO J 
















J 














X 








►H 


































f« 


















CO H 
















«c 








CO 






z 








H 


































•1 


















X CO U 


b0 














OS »-H 








X 






l-H 








o 


































o 


















Ed XX X w 


C 














w e-i 








X 






H 








z 


































0) 


















X QX X 


•H 














x •-< 








H 






3 








— > 


















CO 
















It 


















x QH H X 


CJ 














r: z 








CO 






o 








X 


















X 
















~4 


















D««L)U U 


O (TJ 








^ ^ 






o t-i 








►H 






X 


























«* 
















T3 


















z <: «« h 


Z Q. 








CO co 






z 








o 




■ 






9* 




X 








■ 










X 
























0) 






Q> 




>«X X o 


>-( n 


B 






< < 






OS CO 






X 




L 


as 




_J 




X 








e 




z 






o 
















•0 








£> 








ZK< «< t 


as 


CJ 






x x 






Z X CO 






X 


X 


c a> 


X 


x 


o 




o 








10 




X 






















0) 




c 




O 0) 








O HX X X 


H t. 


B 


0) 










OHM 








X 


cu V> 


fr- 


Q 


X 




as 




H 




Q. 




=3 




X 


>J 
















*-> cj a; 




3 




t. c 


H 




*— 




i-i zo cj «e 


CO rt 


•^ 


br 




«* X 




^ 


t-H Z 


3C 






J 


(-> 


4-> C 


O 


< 


t- 




f-l 




z 




0) 




H 






o 
















c en 




o 




*J -^ 


z 




3 
O 




CO X X 


c 




m 








o 


COHQ 






o 


z 


O 3 


«« 


X 


z 




CO 




r> 


V 






X 




X 


X 
















3 ffl O 




o 




CO ^H 


3 






a IHHU 


H o 


L 


Q. 




o o 




M 


X OS 


o 




•* X f-i 


as 


M 


« o 


as 


X X 


o 








o 


> 


t_ 




X 




X 


H 
















O JC *j u 








^ 


CJ 






X XX => 


ZJ 


cu 






CO CO 




CO 


X X 


«* 




as x 3 


(- 


as 


L O 


<e 




o 




X 


X 


CJ 


o 


0) 








CO 


z 
















o *» m *j 




!■ 




■o « 


o 




V*. 




>KOQ.U 


a- j= 


a. 


1, 




as as 




OC 


> 






Q Q O CO 


z 


X 


« 


X as as 






< 


•* 




B 


4-> 




-» 




=> 


o 














4-> 


X -H W 




ITJ 




IV 4-> 




H 


-t- _, 




H 







■ 








LO 


Q H 




Q Q < H 


x o 




J= V 


O X o 


X 




X 


X 


iC 




o 










o 














•H 


L CT) 




r: 




co c 


X 


z 


CO 




x xx x «t 


as c 


to 


o. 




-J -J 




> 


X z 


X 


n 


r- as ro 


x o < 


X X 


a c 




CO X 


o 


~3 


o 


o 


<e 


a> 


CO 




X 




X 


















rod) oj 




CJ 




Cm (1) 


z 


X 


Q) 




t oo o z 


O -^ 


a> 




r- 


o o 






< «e o 


t- E-> H Q X Q OS 


as as 


•H 


E- B 




o 






X 


bO 


L 




X 




X 


X 














4-> 


£H V bO 






c 


■ 


1— t 


X 




as (-<(-• H t-i 


H 


B 


■ 




as as 




L 


X 


X 


0) 


O O -Q fr- 


O X o 


o O 


t. r-t 


Z3 


M 


XXX 


X 


{-• 


CJ 


(0 


(TJ 




o 




o 


J 














CO 


CJ L (0 




!■ 


L 


t- 0) 


J 


X 






o mm t-H x 


>-• o 


•fH 


0) 


H 


H H 




o 


o t- 




*J X X Z 3 


=> 


6- 


(0 


X X o 


O O H 


Z3 


z 




t- 


£ 




H 




H 


a 














bC 


C 3 L. 




to 


3 


CU (. 




X 


o 




o zz z as 


z «- 


^H 


B 


X 


Z Z 




E O X E- 


J)J JH*JO 


*>H*J 


*> CO 


a> T3 


(-• > X 


< < z 


E-> 


H-t 


o 


L, 


o 




CO 




CO 


z 


o- 




1* 




c- 




t. 


t>| ML 




m 


Jj 


a o 


H 


o 






as OO o x 


O >v 




«4 


o 


o o 




3 


x o x 


•H 


XX 0) 


Oj CO CU 


4) X 


^H C 


=> < X 


X X o 


X 


X 


z 


<fl 






X 




X 


«e 


X 




X 




X 




o 


0) JT H « 




t-\ 


0J 


to c 


X 


z 


CO 

Q 




a,£IZh 


x •- 


«a 


.— t 


x 


o o 




X 


X x o 


b0COCO«-COXCOXCO 


co as 


o <0 


O CO o 


CO CO o 


CO 


X 


H 


V 


*■ 




X 




X 


X o 




_J 




X 




Cw 


M O <«-■ cj 




CJ 


c 


a. t-H 


o 


t-H 


o 












o o 
o o 










h 


































































«— 












*— w— 






z 




c 




^ ^ 






















=» 


























> 








> 






I 


ao 












W m •— 






o 




o 




co co 




(-> H 




X 




CO J 






H 




o 








X 


















H O 




H 




o 


H 


H 


■» 


mo «- 


CO 






U 


•- o 


o t- 


l-H 


<c 


— 1 




X X 




z z 




X 




O X 






z 




X 








X 


















z x 




z 




X 


z 


o 


K 




o< Q 


h- 






■— 


«— t— 


o 


H 


CO 


l-H 


*-> 


X X 


< X 


X 


o o 




> » 


o «t 


o 




o o 


X 








> 
















H 


O X H ^T 




O H 


o z 


o 


X 


CO 


<Bj 


.-»- «- ao 


O 






o 


o o 


o 


Z 


X 


X 


o 


X X t— X X 


x as x as 


X O 


X X X z 




< Q 


CM 


X z 


^" 


XX 


X 


C\J 


X 


X X 






< 




a 


X 


<*. 


X 


tj 


■h 


X 


II JM 


X 


X X 


X 


3- X t-H X 


X 


X 




r-x u «- 


CO 




vO CO 


o o 


X 


H 


X 


X 


cu 


■ -■¥*■ -4* 


«o «o 


-«* 


• -O J 




CO OS 


»(OU« 


■1 ■ 


o «* 


o 


« • 






CO 




*» O «» J 4» X 


X 


CJ o o «» 


• 


«o 


X 


«» • J • 


-J 


_1 


Uj 

i— 
3: 




OO «M» «H»«vOnOvO<»»»»» 


*>x 


=» • 


% 




«- m*i o >•. 


(\i%>-*cn% 


O O X X 


* 


X X 


4k X X 


■•l 


org* 


X 


4h 


<te 


O Ovl * 




X 


* 


«h 


X 4k 


X 


*k 


X 


X 


i% r%o 


og x 


X 


* O %(M 


X 


X 


1 

0- 

rg 
i 






















CO 

•a 


< «< «s 


«* <c <* <s 


«< < 


«c 




X 


< 




X 


X «s 




X 


■X 


x «c 




■ 






<c 




*x 




<e 






m «* •* 


•X 


X 




«* <c «s «* 


<£ 


•*. t. 


ro :d:3 3 3 


3 => 


9 


=5 


:o 


=5 => 


o «* 


X 3 X 


X I << < 


<«<<««« 


< «« 


< as as as co 


3 X X X 


X OH < 


< ««o o < 


«< 


«s <e 


o 


-J 


X CO 


r> 


X 


o x o x o <: 


«< •< X «* 


•X 


«< X 


«* 


<c <: <c < 


< 


O X 




vO 


OOO O O a 


OS 


3C 


O OQ 


(0 J J Q t-i Q 


hOHOHfl 


H J J -J M 


OH CO CO 


X 


X ~J 


a 


(-•HO Z 


o 


Q 


H H O => Q H 


ox 


X X 


;o 


>: 


X 


X 


Q Q CO X 


H 


H J 


X 


Q H Q H 


a 


Z X 


T^ 


H 

CO 


co ro co co co 


CO CO 


X 


CO 


ro 


CO CO 


O X 


X X 


_J 


TJOOJCOJCOXCOJCOJ 


CO O O O X 


X CO -9 X 


o 


X X 


J 


CO COX 


•-H 


J 


J CO CO X X J X 


X o 


X o X O X X 


JJTOW 


CO o 


X 


JCO JCO JHU 


o> 


z 




















Q. 


































































c 


u 


no co 


•- > 


5» 






^ v: 










3 




















X 
















-J 






























H 


ra t-t toco co o 


«« o 


o 






CO co 






i- 




4_> 




















o 
















X 






























■fc— 


X 


o co xx x x 


h x 


X 




•* 


a: x 






M 




■ 










(-> 










«< 










H 






H 






























CO 


X 


co as as co H as 


«* as 


z 


a. 


>-H 


<s m 






z 




t/J 










=> 










X 










X 






z 
















X 








X 






-J 


* 


CO <CZ =3 CO 

* :> 3h o H 


Q X 
a- cj 


M 
■J 


x 


x 

X 


as as 
o o 






X 


u 


* 








ir*vo 

X X 


o 

X 


coin 
x o> 








CO 

X 










X 

X 




oo 

X 


o 

X 
















o 

X 

in «s 

X < 




IT* 
X 




-J 

X 


X 






















^ 




o 




^— ro X O X 


rvj o — o rooo 


o o o o 




o o 


O X v£> O 


O C\J 


o 


o 


vO 


O C\J 






o 




a 


<s 


<« 


C3> O 


r J 


a 


O vO O ^T 


o 


og o 


«< 


O O co og 


o 


O 




















o 




TO 




O O t— O X 


oroorgooooxx 




X X 


CM 


o •- 


»- 


o o 


m 


OVJ 


o 


O o 






X 




o 


o 


o 


•■ 


o og x 


X O X C\J O o X 


Q 


^ o o o 


X 


X 




















o 


m 


X 




X X vO f— vO 


f— ^O t~- vO t~- vO 


t>— X X X CT> 




X Q t- 


r - 


t—Q vO 


t— t— 


CJ v£> 


vO 


r- r- 




OO X C3> 




.- 


t— 


.- 


r- 


,- 


t>- o 


'Ovoa< 


r- r— x 


o 


vo r-vot^vO 


o — 




















OvJ 


o 


CJ 




vOvOoo<ao 


<00<00<00 


^ v© t»- f— «*"» 




X X OOX C\J C\) o 


X «< 


r-o 


CO 


X < 




OO X oo 




TO 


rvjao 


og -to og c\j 


X ao X co <c 


X r- og 


X «< CO «* 


X 


^- X 






oooou •— oo 


CO vO 3D 


C\J 


u 


o o 


o 


o 


(\imm 




voao < o x 


o c\j ^- voao < 


O X O OOvO 


t~- t— < Q 


XOC\j^-v£>ao<<Q 


X 


•- mm ifivOffi 


<: 


<c 


CJ X 


o 


t\ 


■3- v£) 


X x a O og 


^T vO 


ON 


X Q X •- 


0O\£> t^- 






o o< Q »- 


r- o 


O 


^r 


•— 


ooog 


o 


o 


O O O 




o o o o o 








rg c\j c\j c\ 


f\J 


oo oo oo oooooo oo oo 


ms^^ 


^r 


-3" .3- 


•=r 


^r 


■3- 


^T 


If* IT» CTi lO 


ITtlfN ITvOvD »OvO vO 


^o grj vO r»- t«- t*- 1»- 






o •-•- «- o 


o o 


o 


o 


o 


o o 


o 


o 


O O O 




o o o o o 


o o o o o o 


O O O O o 


o o o o 


o o o o 


o oo 


o 


o 


o 


o o o 


o 


o o 


o o 


o o 


o 


o 


o 


o 


o o o o 


o 


o o 


o 


o o o o 


o 


o o 






o r-co co o 


CO o o o ao 


o o 


X X 


XXX 




X X X X X 


X X X X X X 


X X X X X 


X 


XXX 


xxxxxxxxx 


X 


XXX 


X 


X X 


X 


X 


X X 


X 


XXX 


X X X X 


X 


X X 


X 


X X X X 


X 


X X 



72 Microcomputing, April 1980 



+ 5V 



PIN DIABLO 

h DATA I <0 

I DATA 2 <0 

m DATA 4 

f DATA 8 

k DATA 16 

i DATA 32 

g DATA 64 <3 

d DATA 128 <3 

b DATA 256 O 

V DATA 512 <0 
F DATA 1024 
E RESTORE 

P CHAR STROBE 

K CARR STROBE 

C PAPER FEED <C 

Y CHAR RDY 

W CARR RDY 

S SELECT PRINTER <3 

H SELECT RDY O 

c PAPER FD RDY O 

a PRINTER RDY O 

RIBBON LIFT 
CHECK 



<3 ENABLE 




<3 IRQ 
<3 + 8V UNREG 
GND 



ICs 


PWR 


GND 


0' 7400 


14 


7 


2* 7402 


14 


7 


4 * 7404(2) 


14 


7 



Fig. 1. SWTP/Diablo interface. 



by setting the CA2 control line. 
A restore command is then sent 
to the printer; the character and 
line counters are reset; and con- 
trol is passed back to the calling 
program. 

The routine that actually per- 
forms the printing is HOUT, 
which looks like the SWTBUG 



routine OUTEEE to the caller but 
sends the desired character to 
the Diablo printer instead of the 
control terminal. On entry to 
HOUT there are three possible 
conditions for the passed char- 
acter: a control character, a 
space or a printable character. 
After waiting for the printer to 



return a ready status, HOUT 
checks for these three possi- 
bilities. 

If the character is a space 
(hexadecimal 20), the character 
count will be incremented; a car- 
riage move command for one 
character width will be issued; 
and control will be returned to 



the calling program. If the 
character is printable (greater 
than hexadecimal 20), it will be 
strobed into the printer char- 
acter register, and then the 
space routine will be entered to 
update the character count, 
move the carriage one space 
and then return control to the 



td 



OS J 

O \ 

f- co 

CO cj 

u z 



CJ 

u 

x 
o 

as 
O 



Cd 

X 
CJ 



w CO 

co 
X u 

a as 
«c a 
co a 

BC << 

ae f- 

O BC 
Cb O 
Qu 
t- 

«* Cd 
3 O 



as 
o 

03 



Cd 



x 

•* « a 

a to «s 
a> as cd 

C BC 

O BC 

O ae 

t~ ct, o 

0> Cb 

C CJ f- 

HDUH 

t- a> X «* 
a- v c_> 3 



i 



o 

o 

Cb 

-1 
X 



Cd 



f-i (-■!-• O O 

z cj z z in 

UH fcUZHO O 

zed a.z>-u.»xxCb 

joe -3 _j _j => *»• - « j 

xx ^i %r »oimx 



>-i ^ t 
a- x x x 3 
x »cj -oc 

4b — X O X 



CO 
CO 

Cd X 

« x cd 

O J 

cd as Cb 

X o 

cj as o 

as H 

ae cd 

cd z 

H H as 

Z ZD 

as as Cd 

a. a, as 



O 
CO — 

x * co 

aa < as 

«* a «c 
«a.3 



CQ 



as «t «« 
z _l H as 
03 cj to CQ 



o o 

LT»0 

o — 

Cb Cb 

-J J 

X X 



V© 

hi 

— O CO 

o 03 cj 

CM .» 03 <M 

<UQO 

t— t— t— ao 
o o o o 

03 03 CD 03 



•803*05**** 
QaQCOKHHlS 
JtO-J-50tOC003 



3XHMHHW DXKO, 

CTQ(OZ!OZH OQCOX 

a j HmHm* cj _j -5 -3 



o 

^ 
a. 
t-i 
f- 

_J 

=3 
X 
03 

f-i »: 

Z «< ( 

«« II I 
as 

H 03 













«^ 




















OS 




















Cd 














to 






t- 














CO 






o 














Cd 






< 










a 




OS 






as 








f» 


z 




a 






< 








as 


< 




a 






X 








Cd O 


CJ 




< 




as 


CJ 








CJ 03 


l-l 








Cd 










< >« 


-J 




<t 




H 


z 








a- 


a a. 




tH 




CJ 


o 








I 


Q •-» 


H 


a. 




< •-» 








as i 


< H 


Z 




Cd 


OS f-> 








Cd 


J 


9 


Cd 


Z 


< 


< 








a- j>: 


H => 


O 


ae 


M 


X 


z 








a 


O X 


CJ 


O 


H 


CJ l- 








CO 0) 


z 




H 


3 




X 








Cd £ 


O 


CJ 


CO 


O 


f-l 


as to 








Z CJ 


o a 


Cd 


Cd 


as 


Cd 


Cd Cd 








i-H 


Q <C 


5 


OS 


to 

Cd 
f-i 


CJ 


CJ 


LU 






L 
rinter 






< 


-J 


f- Cd 


X 


Cd 




to 


CU 






t-( 


< 


l-l Cd 


as cd 


CO 


f- ■* 3 


/s 


X 


X 


a. 


3 


Z Cd 


UZH 


=) CJ 


as 


a, 1 


«■ • 


»m 


X 


f-« 


l-H Z 


f-i O => 


o < «s 


a. i 


x — 


O X 


♦ 


CJ * 


X l-H 


«ao 


X 03 


3 


J ^ 








«e 














* < 


■ 




Cd 

X 




< 











■< < < OS 

<xxaeasooasosocdcotoxto 
OtOCO-lOCJOOOCdZZZOE-i 

JQuhuxaKKKQCDHMja; 



f->=3asasaucraeas<a* 03cj 
cytotoxcdtotoasx ocj 

CO U T1 U CO "5 T O -5 CfcCfc. 



Cb 
Cb 



X 
Q 

as 

X 



as 

X 



CJ 

X 



Cd 
Cd 
as 



to 



l-l 

-3 



vO vO «X 

qci. <e 
OOOOOOOIMC- 

mnooa^oou 
ioovoQ<Nr-o 

Q3Q3CJ03aO<Cdr\J 



CJ 



o •- mo ao 

0O O O O Cb 

Cd Q 03 Q 03 <T> 
CJ vO CM vO CVJ CO 



l«-Cd CO 

QNO 

o o «- 

as Cd r- 

Cd O Cd 
cj o3 r- 



m a- 
X X 






X ^ 

1- CJ 

o < 

* O Q3 






u 


COCJ 

o < 


CM — 
O O 


OvO 
O Cb 


o 
ao 


o «- 

03 Cd 



ti CJ 
CJ CO 

Id 0- X 

z a. H 

O -J 03 
Q X < 



Minoo<Qii.<-m minoo<uuo —■ »- ■» t— 

ao ao <X> ao ao ao O^o> ^ CT^ <7^ C3A o^ O^ ^ ^ ^ ^ ^ 

OOOOOOOO OOOOOOO OOOO 

0QaQa3a3CQa3a3a3 03030303030303 03030303 



CO 

o 



vO«OvOOh>vO?S)kOyO<tO>-'-Ci]0< 

cnaocnm^ir«rsi<jrir>vocMcooocjcn 

< 0aOUChO>-ninvONO > >CQUQ o 

<<<<<aaiocQOQiaDQsia)ii)cau 
o 000000000000000 

03030303030303030303030303030303 



Q CM O 

0«-C0a0«-0«-*- 
03Cd«-OCd03Cbt>- 

QQ»-r-OQOCd 
0303aO(Ma3a3OJt~- 



t- 
o 

Cd 



Cd 
03 



Cd 

03 



O 

o 
o 

Cd 

as o 

Cd < 

f-i a, 
o 

< to 



X «* 



as 

Cd 

to 



Cd 



CO 



X 
X f- 
CJ 

z 
(-• o 

z 

Cd CO 

as cd 

as z 

o 1-1 

cj J 



CO 
CJ 

Cb 



f\j *- — 



00 03 03 
XXX 

as as as 



x t-< (-• 

Cd z z 
> CJ CJ 

<e x z 
co cj J 
XXX 



CdfMCdir»OaOcnOQ>-Cb^T V 
m h-vO kO(MvO>OfMf\J3 , »lf\ O 

MQQOO\-»CMCOif\DQOC\ICMNN 
» (\J (\J iTivON NavOvO(\l(\J»iriOO 



«-»--3-r-a*a3cd«— m vor-ao<cjtdocM-^-\oao<cjtdo«-cn irivo 

UUUUUUUQQ aQQQQQCdCdtdCdtdCdCdtdCbCbCb CbCb 

OOOOOOOOO OOOOOOOOOOOOOOOOO OO 

030303030303030303 0303030303030303030303030303030303 0303 



Cd 

03 
<C 
(-• 

J 

o 

33 

X 
X 

to 



cj* cj cj * in en 

<mj» r- «- m 33 

00 00000 

O03 03 CO 03 03 O 

^ J O Cd O 

coos in ►-< 

Xf-i o «« < to 

CQZ Cb i-H ou as 

KU JO. CO? r d 

CJX X X X X > 



cj»- 03 r— m •— 00 

CO* vO <M Cb 33 »- 

00 00000 

O03 33 03 33 33 O 

« X 

CO Cd CJ 

X:* f- > X 

<I Cb => < X 

aecj joiomu 
cjx x X X X f- 



loin nvo 00 (M til 
OCb O Q on ■?■ r- 
OO OOOOO 
O03 03 03 00 O td 

:»*- t- f-i «- 

OZ f-i CJ 1-1 «< 

xo ►-• a. * t-. 

oex z a. 3 a. «« 

XCJ H JEO.Q 

cjx x x x J a. 



■? •- (M vo in 00 — 

ejej 00 u. ? o Q 

00 o o o o — 

3333 33 03 03 O Cd 

t-> =» Cd 

Z O Cd 

bd CJ f-i X Cd 

CJ IbZCdZH 

<0 Cb -J as 1-1 ^ 

030 X X X _J O 



r-cnao QKMJ < m 
Qflinso><<o 
00000-0- 

33330333a3Cd33h- 

CJ o 

tO O Cd CO 

XCd — X Cd f- X 

f-Z SU.QCUJK 
03O U JKZ3< 
<Q X X X 1-1 X 3 



Microcomputing, April 1980 73 





calling program. 


width and the product will be then the line height count will be 


paper feed register. The line 




If the character is a control 


strobed into the carriage com- strobed into the paper feed reg- 


count will then be reset, and 




function (less than hexadecimal 


mand register along with the ister. The line count will be in- 


control will be returned to the 




20), it will be checked to deter- 


direction bit. This causes the cremented and reset to zero if it 


calling program. 




mine if it is a carriage return, line 


carriage to back-space the is equal to the page length. Con- 


HRDY is a utility routine 




feed or form feed. If it is not any 


same number of spaces it has trol will then be returned to the 


called by HOUT. HRDY checks 




of these three control charac- 


moved forward on this line. The calling program. If the character 


for a printer check and then 




ters, it will be ignored. If the 


character count is then reset, is a form feed, the number of 


waits for PRINTER READY be- 




character is a carriage return, 


and control is returned to the lines remaining on the page will 


fore returning. If a check occurs, 




then the character count will be 


calling program. be computed, multiplied by the 


an error message will be printed 




multiplied by the character 


If the character is a line feed, line height and strobed into the 


on the control terminal and con- 






O 

u 

X 
o 

x 
O 

Cb 




X 

Cd 

Cb X O O CT>X O 








tt 




OOOOOO 








O 




C X X X X X 








u 




H H 








x 




Z H H H O 








o 


r- 

os 


O 0} Z H O >-* t-t 

O b UHtt.< (O 








Q 


O OO td tO 


cj x z a. 3 ac 








z z 


X t. o to 


Cd*J O »-H — 1 X 0OX 








-C < 


< O «* Cd 


xoo xxxxz> 








O '-'CO 


*J to Q 0C l-< 


Ed< to 








H CO 


X 1 O tO Z Q OC 


H X > 








td >< a f- 


OX4>ti3X < QU30 


c 








X QX Ji 


<a*:>x:cd c_> <om fn 


•StOt-Ob b OCNJ^-lTiCM^T 










«t o. o 


tx3<-_)J *-t «««< O 


CM t) -H 0) d) OJCOU»*(\| 










Q td O CO 


actdizJOacCL, j «* a. CO 


X«*X*J*J*J *J ooooo>- 










z x «* r: 


ac x \ o Q a. t-t i 


XHCflJO O OXXXOt— 








H «* bl O 


aco>-«aco Q m !-• a. as i 


ac th n ra ra 








z z x H 


oocace-t <e h z Cxi J 


Cd Z b -H b b s«:h 








td td hh O a; l. 


i. 3 X 01 td J 9 M Q- JM U 


COHOCr-HrtJ (0 COZ i-H 








Z X J Cb O 0) 


b. -O C. Z S-I30QCO X 


oz ra r: x: zohx 








Cd O -v a, *J 


"SC r-> O H OS OXO OCOOJ 


CdCOO.HU O XtbZtdXH 








a: h co e- c 


CJHZjJZO Z Htd£ 


td X td 3 *J XCb-JXXtO 








O CO O ►-" H -H 


eoajt-HHHtOH-te-i QO co z u -J 


>XZ*JH*J *J OXXX-JX 








Z Id Z «* td t- 


J)I< ill EUl OQCi) Cx]M td 


<C O •-• CO C 3 3 








>-* x •-• 3 o x 


X0 3 0.Xa.XZ Q <S Q XJt. X 

a> 

1-4 *J 


tOU J WHtt. X 










Oao Q ir»ao X> 










H C 


mm r- o> •— 








> 


O <: -w 


«- 








H O H H H O O 


H O to O t. 


OX X X r— 








o o z uzr m «t 


•-H M z z to m <a. * 


H Q 








a,'- OH tt.UZHO O i-h 


:*: «< x »>• x z J ma 


•-•hoh ;*: >o 








x tb z a] xzi-i-J-^-xxCb x x 


XX3HXHXX xx a.a,i t- 


ozo«-o to oz 








-J _1 -IX J JJ3» • -J X « 


U-XtO««tO<M0O ^T» •POXXI • 


«-t-»0r-0 Z «-XZX 








xx xx ti%r%oMi • %•- 


XOX*X<kX3f-« ^k Z«- OZ ■* Jv. O- 

o 


t\J«-«-*»XX4*X «*XtbQZH 

X O JKHtO 
CJ X X X J X 








«* «* ««: <c «* <s x < «* x 


z «*<*<* <x <c<m 

X 
►-•^-"►-•COZSXXXa. H •X<ZXeKUQKCUIdIOIOXVl XO X 










UO.Il]X< < ««33«C-C •*«««*<« DXH 


xxx oxxoxa 








Z Z Z -J H X QDQVKCHHK O O. CO 


ZtOZf-OrtOQCOZ Z<tOQtOtO-JOOQOOtdZZZQe-> OO CJ 


ZZZKQQKQZ >0<UU<Q 








HuaQowm _Jco-J-oOcotocQ u jh 


Xf->X«td-3_J-^-3 «<Ma.ja.(>-itJ«X<XXQXl-tl-t_JX Cl.Cl, Cb 

X 
tJiX 


xxxotbCbOCbX ■»• r— •— m «« 

oooooo 

OX X ao X X 








O O H 


Z HO 


X (->(-> 








mo t-i 


Cd* O CO 


td Z Z > _J O Cd 








o •- x «s 


tt U H a, z 


> x in 








Cb X u. a 3 


X X< -J X (-• 


«*XZ ZHO«C«<H 








J J tb as x 


cj r> on ^- J X 


I/1UJ XZCbt-HXJ 








XXX XX 


X *«z zz x< 


XXX XOJXCOO 

O X X X X z 








■» ^- iT JT Q O 


^r in ao m 


Cd 








O U) O u < •- 


f\l •- •- 


X in •— X r— •— ao on 








o «- o on oooooooNn o «- 


ioooo t-o«-«- ao f\j»- ovo u(MUir>ooomoQ'-ti,^ a- mt> i>- «* u < vo (\i u n o 










oq o ou isnoia^oou ooo 


OOi. r~Xf>-0- O OO Otb 00 rv-»t^-vOvOf\JvOvX>f\Jt\J^-iTir> O OCM (VJ H OOOOOO'- 














x x x x x x r- 










U f-vOU-NO vOO>CQ<NNO Cd Q 


X Q X O QCdOCd vOvOvOOtuvO-»XvOvO<vO»- , -CdCT> C\iQQOO>-3 , CgoniT>fflQOt\Jf\Jt^t>- OO O J 










* X CM* X C\J XXOXcO<CdC\J UvO 


cMvocNjon xcjxt— (^cot^ro3 - ir»c\j<irir>voc\jonoooro jrrvjrvjmvot— h-^vo^o cm cvia' moo mx x o o x 

X to Cd CO 
<OCdO*-»-3-C^< QUaO«-(\Jf ,r >-3-vOaOO><UCdCi,OrO ? invOOO<OtdO N^ vOOO< O Uti. •- 0O* O OfXJQQ Z Z^ H> z 










>o r- «* o Q o (\i moo < Q Cb •- m m moo 








t— t— t—r- t—ao coooooooooooomjn o>^ono>o>o><<< <<< «<<xxxxxxxxxxxxoo oooooooQO.oo.oo.QQQtdtdCd«-«-»-oo x H x Cb o < oc 








oooooo oooooooo ooo 


000000000 0000000000000000 oooooooooooooooooooooo«-»- CO DU JOlO?< 








X X CD CD X X XXXXXXXX 00 X X 


XXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXOOOr-r- <XXXXZ3 










ZATION 
N 


c 










HH O 
-J Cd »-t 




-r-t 








ac bo 


-< CO Z H 
ac <-t x m cj 


*1 

CJ 








to c 


& t>- Cd HZ 


CO 








X M 


an •-< H =3 3 co 


t. 








z to o 


Z Z CO C X 


• r-f 








3 era ^ b<: 


3 M M « < 


■^J 








V" Z be O Q. CO CO 


Z O to O- td 4) X 


CO 








Q\ O C j-> to c << 


XCO Cd C-XJX ozo 


•8 X> 








5* OZ-HOO zz 


z td co x «L.a>tdxoo rax 


co c to 








■ c; vo o t~ *-> co c c co 


OHCd Cd OJjJHQXX HO. rD X — 3 


■iJ O CO 3 b C H 








V. •- H *J L > fl -H tc «< x 


Z«-HZX J H4JCCJ<HH ZCO H O 


c c n ■»-> ••-• z 








"^ to n to js ra 


OtOHQ O Z 03<tdZ CO 30) CdXX 


3 ra to .-» 










ttt) OC *-> O O C_ a. too 


>-HXXQ««XH K M (TJOXXXO 0>t- XCdH 


O -C 4-> b "~x O 










Qj cii *j n s co cd td 


COCdO.<SXXO H X t. <C O XXOOOJ COZ 


O*->t04-> b T3 eo 










q o> > c e n .c a. i. x x 


cc^ qqocoz x ra xxx <^ e*j -eoo 


4-> bo-H (o ra co 4-> 










>*■ r— -h L o a) 
.-** i z t- ra co c to a. jj 
f—- r- < a. 3 c •>-) v r— o o 


tdQHQQ<HXO C CD CJ Cd O X XXXO O 


•H b C "O C CO C fd 










=»ZZXC0 t>-XOXO< XCd OC COCv, jcj <ca>a) Cd Cd 


(0 CO CO O '•-< CO z 








«S<Ot-HHQXQXXX •** HO O XMt- 0C OC Cd 


••J.C.— iCObf C E»-H 










>s (\jac o c eo x x 


UX X9JOO-QHQXO OO tr-t 3 b<: CdtdXO, H OfOflJ O O J 


4) O blfl Cbb CO -J 










T» i oxx*jo<-»cohhh 

-*- vO OUU (0--H C0CZZ 


ooH*JtdCdzr>r3 h « xcdcjooHo z t..e hh q 


bo b3C ra 3 co b 










EOXH(0_JJt-(*JO**H*J +JCO C0T3 H>Cd <<ZH M Ot-O CO CO Z0- 


C" c- b «j ra u l. to 4_> a. o H 










,~ cc j j a) v. -h O O O 

.w X CUtutt, K »-vOH Q.OO 


3XOtdf-ttdCd 4> a>Cd0> 0) td i-HC 0<X XXOCd X Zlfl Cd Cd <X 


tb Cb co sz h ra ^n co ra c td 










XXX06CCOCO»-COCOCOCOCO COX OCO OCOO COCOOCO X t-HO'- X X xo 


J Cb <« bOOt^CJ ObQ.t-1 C3 








-Q _> O o 


CO 










CO tb o o 












Q »-» .- .- 


OO tOtO t-(- X CdJ HO X 


:=» s» 
HO H OH 








Z OOM* o *— o o 

tH •- O <\J .-.-,- o 


H i-l < -H ZZ ZZCd OX ZZ Cd 


z z z z z 








t-4COl-<jJ Cs. h. < x ao OO >XO<HO OOX > 


H OXH^T OHO Z O 








«^_ ac •—•-»• ooo o 
.^ r— t— r— vocooo x 


zac xoxxt-xcbxxxocxoxxxz ««q (njo.Z'-xx xcnjxxx «: Qx 


^tbOtbtd xx— lcMXxrntj^-xi-HXz 








t-toj X<U--<*»-4»-CJ-0-«»--0~J COQC 4»COO<»«- 0-*l>0»- CO 4»U«> J««ti. K CJCJ^J-«»-«t_)ac«»-J»_J 








QC to ^ 


<kX**XX X^Z*:OtMXX<hO<fcOJX 








Q H 

>- oc 


T3 

<<c«c«x«c<<c4<<«: x -x x x «< x «* x <c x <c 

(TJ 


«« «< x *z «««*x <s:cc«s:«s«« 








-»» o oootDOootooo o 

-4. Cb crooooooooo oc 


<«xr3X*Jxx^«««<<«<«««j:««:<«exxxto oxxxxarH«e <s<=>o««:«s«« ojxw oxoxoxc3«< <«*3:<j:-s:«:a:<j: «: <c <c «i <« 








XOOQ rt-J_JQHQHQHQHQH»JJJH OHCOCOZCd JO HHOZQQH HO=>QH OZCd 


ZXZCdX QQtOXHHJX QHQHO 








CdCdtdtdCdtdCdtdCdCd O 


XCbtd— IT3UUJ(OJ(flJ(OJtOJ(OOUUK CdCO-JXOXX-JCOCOCdt-t-J-JCO COCdX-JX CdOX 


OXfJXX J JTOWlflUffl JMJ1/1J 








rj, oceooo o>> m:^ 

Ji' QDHZ1/1HOO tOtO 

.5 xowkieiz <:aE:x: 


a. 

3 Cd _3 










H *J OX 










•— • <X> H <C H H 










^ Xti3OCf-'0CE-<0CZa,t-l««ffl 


Z CO 3 x td Z 


X Cb 








r/\ LOtOaCtoxi-touOuacac 


•-• O CO X O 


J 








■-^ **>a.r«ocojJxt_)o 

-J 


X * x xxx 


33 X 












on* «- in 00 r- 


m a m *• 












•" Cd Cd Cd O Cd Cd 


Cd «* Bd Cd 












•" O «-r«">CbOCb<\iO»-OonoOOOOO OO OOOvOOOCNJ OOvOOCM O Q^ 


<tcrooQ Ovoo^rot\jo< oooocvjo 












O 0O OOf— OCbOOOOCXJOOOOXX XX f\l •— ♦- O O X (M X 00 


0<-0 fMU XOXCMOOXQ^-OOOX 












or— td CbCbvor- vOr-vor~-vOr-vor-CbCbCbcy« tbQt--»— r-Qvor— r— OvOvor-r- mcdcyi »-t— 


•- t~- •- t— vO\OQ«<t— r— CbOvor—vor— vo 












c\jo vOvoto<to<co<oo<eo<vONr-( y i ^,CQ maotvj r\io td< h-ucou < rotm 00 rxjco (Moo t\j t\j CbaoXao<tdr-c\jao<<ao<X 










h-oom^vooooouuu o 


Ofvjroon kOto<oworvj*vooo <ouorovo r-r-<OUO f\)» voco<<Qiii'- mmifivoa><<OUO(M*vfl coXOocM^vaosXOCbr-m 










0«-0(\ioos«-mfyj o 




•^■inininin inininvovovo^o^o >c vo>o r-N 










o* - •-•-oooooo o 


0000 0000000000000000 oooooo 00 0000000 00000 000 


OOOOO oooooooo 00000 










OC-f-t'-OOOOOOO X 


XXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXX XXXXXXXXXXXXX XXXXXXXX X X X X X 






74 Microcomputing, April 1980 




THE PASCAL/MT£w$250.00 



^70 



Send for 
FREE CATALOG! 



j Compiler executes under the CP M 
operating system in as little as 32 
K bytes of RAM 

• Interactive Symbolic Debugger which 
enables the programmer to examine 
variables, set a breakpoint, and trace 
procedure calls interactively at run 
time 

• Compiles at the rate of 600 lines per 
minute on a 2 MHZ 8080 

• Programs Execute up to 10 TIMES 
FASTER than popular interpretive 
Pascals 

• The code generated is 8080 object 
code which is ROMable with a mini- 
mum run time overhead of 1.5K bytes 

• Interrupt procedures allow the pro- 



grammer to write interrupt drivers for 
I O and other real time tasks in Pas- 
cal MT 

• Bit manipulations of variables may be 
performed with the built-in proce- 
dures: SETBIT, CLRBIT, TSTBIT. 
SHL, SHR. SWAP, LO. HI. 

• Assembly language subroutines may 
be called from Pascal MT 

• Business arithmetic version of Pascal 
MT is also available 

• Pascal data structures supported are: 
ENUMERATION AND SUBRANGE 
TYPES. RECORD. ARRAY. REAL. 
INTEGER. CHAR, and BOOLEAN 

• Not implemented are: SETS. GOTO. 
GET. PUT 



BUSINESS CONTROL PROGRAMS 

PS FROM THE ORIGINATOR OF THE TRS-80® PROJECT 



P.O. Box 16020 
Ft. Worth, TX 
76133 
(817)294-2510 




CP/M @ 2 

• Enhanced Upward Compatible 
File System 

• Powerful New Random Access 
Capabilities 



CP M 2.2 for the TRS-80 Model II. 




General Ledger 
Payroll 

Accounts Payable 
Accounts Receivable 



entry is required. Major 



CORPORATION 



an 8" system disk, editor, assem- t mak th programs work 

bier and debugger for the TRS-80 fnr '. K a 

Model II. y 

AS LOW AS $200.00 AS LOW AS $250.00 

CP/M is a registered trademark of Digital Research Corp TRS-80 is a registered trademark of Radio Shack 




RONDURE COMPANY 



^7A 



2522 BUTLER ST 
DALLAS. TEXAS 75235 

214-6304621 



the computer room 



SPECIAL 

Printer for your 
Microcomputer 




GETERMINET 
300 PRINTER 

Pin feed— 9" paper 



• 80 Print positions 

• Receive only 

• ASCII code 

• RS-232 interface 

• 30 CPS 

• Upper & lowercase 

• Shipping wt 75# 
Shipping containers $15.00. 

(used) 
(good working condition) 



Will run on serial RS232 port of 
most micros including TRS-80. 



$450.00 



mwwutmmmm^^w ei»ss m !«M mmmiV^ ///yA 




ASCII Keyboard 

(used) 
with enclosure 

SALE $15.00 



WE HAVE FLAT-PACK 
ACOUSTIC 



Modem 
pickup 




$19 50 




NEW 

POWER 

SUPPLY 

$25.00 

5V at 3 Amp 
12V at 6 Amp 
12V at 3 Amp 



MICRO SWITCH KEYBOARD 

USED BUT LOOKS VERY NICE 




ASCII 



$40.00 

(With Print) 



USED FANS 




ORDERING INFORMATION: 

We ship the same day we receive a certified check or money order. 
Texas residents add 5% sales tax. Please call if you have a question. 
Write for our CATALOG of many parts, terminals, printers, etc. 
All items subject to availability. Your money returned if we are 
out of stock. 



Muffin -8.00 
Sprite -4.00 




USED 

POWER 

SUPPLY 

$15.00 

5V at 12 Amp 
16V at 6 Amp 
6V at 2 Amp 




USED 
OMNITEK 



I ORIG. 
ONLY 
95.00 



SHIPPING INFORMATION: 

Modems: $2.50 each; Key Boards $3.50, Power Supply $5.00. 

Large items & Parts: Specify Freight or Air Freight Collect. 

Foreign Orders: Add appropriate freight or postage. 

We now take Master Charge and Visa orders. Specify full number 

bank number and expiration date. 



v Reader Service — see page 257 



Microcomputing, April 1980 75 





trol will be returned to the 


characters entered are echoed 


set up the I/O vectors within the curs, then routine HCHK will ^ 




monitor. 


to the control terminal and sent 


operating system. Listing 


2 restore the 


FLEX I/O vectors 




HYTEST (Listing 1) echoes 


to the printer. Entering a control 


shows this version of the Diablo before printing the error mes- 




characters entered from the 


X (the value of symbol TERMC) 


driver. If its binary is saved on sage and terminating. 




control terminal on the Diablo 


causes control to be returned to 


the system disk as PRINT.SYS, The FLEX 


2.0 interface was 




printer. It uses the routines 


the monitor. 


then the P command will cause the most complicated because 




HINIT and HOUT previously de- 


The Mini-FLEX interface con- 


it to be loaded and used as the of the requirements to support 




scribed. The actual test routine 


sists of the HINIT and HOUT 


printer driver. Note that if 


a print spooling. Three routines 




starts at label GO. All 


routines with additional code to 


printer malfunction (CHECK) oc- are required 


: the initialization 








FOR CHECK) 
Lng 






oo o id in td m 














CJ O CQ C7* < O 








c 


CJ ** 






ooo OO A 








o 

*4 






uuuuu< 








S 5 


AND CHE 

S3 

t every 




|H 

B 
o 


Ei HH 
ZHUH CO 
OHO.< X 








t_ (*•• o 


CO 


CJ 


x z a. 3 ae 








•H CD O 

TJ 60 Z 

0) fO i) 3C 


CO 
td 


td 
OB O 


o m J ac m< 

XX X X X 3 








•8 -O Q. C O 


w CO 9 9 


a ce 


Cd < 










CO C O CU \ -H E— 


CO » LOO 


z o 


H O. 










th 

stanc 
trobe 

r coui 

d str 
s/lin 
COUNT 
lines 
ear 1 
ND RE 


HEADY 
ADDRE 
heck? 

READ 
READY 

HECK 
g add 
bell 
nd ab 


D 
PLICA 

IA AD 


PAGE 
BELLS 

1 X 

IHARAC 

THIS 


CJ Cx. C7> CM CM td 
CM t— O 3- •» •- 

oo o ooa 

O CJ CJ CJ o < 








60-h to fa a>*> h — i <* 


Cd O OS CJ C 0) re 


Q t-t t- Q. 


OB B. U 


bd Eh CJJ 








C T3 jC CO C td Z O CJ 


Z Xr> O 06 -H B 


t (- z 


Cd Cd td Z 








co co a U 0) ztiiij Cd 


hh OXU Cx.OOSl.OCi. 


J => Cd 


O- X CO H O 


CO z z 
X CJ Eh ae 
CQ Cx. Z td ex. H 

ac ex. _) ac a. co 

CJ X X X J d. 








ar 1 
gure 
rrag 

ear 
turn 

per 

crem 

T LI 
CREM 
ual 

STOR 


CS/L 

IT F 
T PO 
inte 

a 

ECK 
IT F 

INTE 

t St 

nd s 
ve u 


NOT 
D MU 

C CO 
STOR 


o XJ z 
CO CO td CO 

Cd td 0B td 

Z =T > OC z 








JT-HR) h 11 CO c cdzcroa> Cd 


z < cd $- 4) X < X OJ OJ-H 


O O Cd Cd 


M - < O M 










o v- o o t- a. -t ohuzx ae 


— i 3 o a- x cj 3 O.UCOO 


Z Q -* Q cc 

o 

M 


Jr- CO CJ J 


CJ m < CM CO td 

mm t*- on o t— 










> 

H H O O H CO «~ 


■4 


p~ 


o o o o o o 








O H O H H O H 


CJ 


« 


O CJ CJ CJ O Cd 








X Z X Z CJ O Z 


cjzx in «< m _] <: co 


M < 


t~ 


*: o >•- 
CO O o < 

s: •- x x e- 

< CC Cx. O Z < 
EU JXHQ 








KH* CJ Eh o z cj a. «- CJ H 


O.CJZHO O M bd< _JHX 


J M 


« 








X -) CM X X X Cd 9XI-IXZ a. Cx, ZCi) 


CL.ZHJ9XX!!. O.XXX3 Cd<0S 


0U X X o. 


a. t>~ 








cj o «» ■ «ux «*► »_] - j _3 j J ac 


JJJ=>'»»>«»_3 X-CJ-OC OQ< 


M OO zr - »m X 


a. - 








*z»o(Mxx »o*mx xx xx 


XX*Z*OMX *«*•- XOX • * a. 3 


H 4k X «- OX >% 

a 


JN CM •- ^» 














o x x x _J a. 








«C «* «S CO <<<«X<<< << 


4 < CQ <C <£ CD 


X «£■*«< t CQ «C<Q3 
CQ 

H -KXXXXUQXXUldWlOXW 












< cc < < <t a: <t <<<<<ua.[i]z<< 


<33<3=«««s«j:< zjxh HhHinaxxa, 


■ CQ CQ CQ CQ Q 










Ql/IXHH JX OHOE->OZXZ-JH>a: 


Q3Q(0XHHC CFQCO XCOXHCFQCOX 


Z<(OQV]VlJOUQOOIdZZZQH 


cj CJ X X X z 


\o o- o^ cj c**- c*^ 

o ^ t— •- m* 
o o o o o o 








_J -3 O CO CO CJ 33 Jl/lJtO JMUOQUCOO 


_JCO_3"^OCOCOCO Cd-3M fflHCQKU JTl 


< IIO,JB.HUK!0<KCCQiaHHjK 


Cx. Cx. ac ac ae cd 












oc 
t- oa 




o cj u ao cj cj 








o o 

inO 

o — 

Cx. Cx. Cx. 


H 

M 

Ct. Q 31 X 


z 

Cd * 

Cd t- 
ac < J 

xj m ^ > 


LPPCT 
ELLS 

SAVEX 
CHCNT 
LNCNT 


>JO Cd 
O ac in CJ 

rno<<H 

KZlbHO, J 








X XX 


X XXX 


* * X XX 


X OQ XXX 


x cj J a- co o 

Cd CJ X X X X X 
1 








t~- CO a> Cd CX> 


^j ctn f— cj Cx. Cd ro 


CJ 




CO 








< CJ CJ CQ CJ 


33 CJ < «■ 03 C-- O 


*~ 




I- Cx. Cd GO -7 v£> CM 








voo* ot\io< o oao cm o o «- o o-i 


OOOOOOOC\Jt~- 0«— ITiOOO ooo 


OO CNJ *- O vXJ O 


t»-t~^- 


CQ CTnvO <M O CQ 

J o o o o o o 

O CJ CJ CJ CJ CJ CJ 








OUIMOOUQ 3-OOOCJ UO UU 


CJOOCJ^-OOM OOOOOtx. CJCd< 


O O O O Cx. TO 


ooo 








vOQ < Nt>- ti, O vO^vOt-vOU'-iOi.t^O 


.O o -O Q «* r- t— O aia CO QCO CT> CdOCd 


vOvOvOOCx.vO-^OQvOvC^vO' - r ~CdC7^ 


CM f — t — t— t— 


03 

X X 

>h CO Cd 








oo co ao < cd f- (M ao<oo«scQ.3-CQc\j.3-car\j 


a a 'j a to < a (m cjvo c\jvoc\jm cjoar<- 


moo mm^- mc\i< a-ir>vo c\jmmcjm 


■» o o o o 








oo4Q ih'- mio oo < u j] oons 1 ! — cr>^Q 


Cx.C\Jint— «<'_)CdO C\J C\J in t^CTNCOQCdCd'-^ 


NM<ffluauo(\im»»oooc»*<Q 


cdCx.oc\j.7voaocr> 


CO J!<i H- > 








ooooooo ooooooooooo 


NCO 0O0O 0O S 0O ff> (T^CT^CTi CT>CT>Cy>C7^Cy>CTi*!<; 

oooooooo ooo oooooooo 


<<<<<<<CQa3O3QQQQa30Cia3CQ 
OOOOOOOOOOOOOOOO 


CQCQCJCJCJCJCJO 

oooooooo 


JXCb 3< 
td CJ J O CO ^* 
X X X X X X 








CJ CJ CJ CJ CJ CJ CJ U'J'JUUUUUUUU 


CJCJCJCJCJCJU'-J CJ CJ CJ CJOCJCJOOOCJ 


CJOCJCJOCJCJOCJOCJCJOCJCJO 


CJCJCJCJCJCJCJCJ 








la 
4) 

c 
It 

O. 

L 
o 


ady 

FIT HERE 
ATION 


• 












■o 


*-> 0) OI 


z 












i 


•H t. ti »H 


o 












n 


«M » J 


Cd >-» 












o o 


+> z < co 


Z H 












^ ** 


Z *» O (OH 0E 


M O 












<N 1 C 


o* a co h cd 


(H Z 












>< wo 


M C H < O M H 


=> x> 




CO 








H O ^ + Q Z CO 


O Cx. 




ac 








Uj CM ^^ 


^ X CJ Z M M 


ae 




^ 








b0 -H O. CO CO 
r^ 1 c t_ en .c < < 


M Cd •> M H O 


n c- cd 


• 


X 








h*jx >, <acco Cd 


c ae _i ca 


o z 


CJ 








>-L -h *a o x x 


JHU -O CC X Cd CO 0E 


ae l. « cd x O O 


ro ae 










. L iJ n L C tl 


< (0 Cd H H Cd 


Cd co .-> eh o ae ae 


Eh Q. OX 


J *■> 








x: *J L 10 H K < ffl 


t — « I >— • CO S- ZK J 


H *> C CJ < Sh Ih 


z n H 


o c 








Vj o cc .-> .c ro 


f- 1 O (. UCdMQ O 


Z O 3 < Cd Z CO 


O * td ac 


ac 3 








^ O *-> C O U Q. O O 


>h< ii <ooco<oqh ae 


•-• a) o ac x ae o 


O > t. ae td 


Eh O 








».. o *j en -^ co eded 


z^JCd ni ac oa-<x (XD E- 


CC L o < CJ OC 


CC CJ O CO CO 


z o 








Qi o ceL.CQ.t- cc ac 

^ •- v* f. Q. O V 

•K (.rocno.-)j 


t-i -^ CC 3 «< CJ QQOCOZ 


a. eg x ae ac «« 


«< B ■»-> •« O 


o ** 








*i /\ X OHOO < f- CQ O 


jc a> cj cd o ae x 


X ae o 


CJ -<H C~ 








cc O CC (Q CJ CdZCC MK3KO 


Cd OC CO Cx. O _J o 


CJ «t CO rtJ td Cd 


(0 








^ <a; a JU'H «) n oo 


Cd *J Cd <C *J CJ X<OHH Q0L.Q 


ae h ho o 


X ttt. ac ac 


td ■!-> -C 








D o c en ac ae 


t- E-> ncj m H O.UU •QHQb 


O t, •"-! X) ^ cdCdoca. 


Eh CJ C0 CO O O 


J wo 








_ cr> xxoao-H vhhh 


ZQ.Z4) Z H UUZ 5 3 


Eh (Q CL. Cd CJ CJCJfHX} 


Z C iC H Eh 


O bC 








O r— utdH>-Hcaszz 


H BH >«J«J M HKH J Jh*jO*jH< 


OQ CO CO -O Eh > (d < < Z H 


l-l CJ t- O CO CO 


Z C- C- P-* I. ±J 








"X 1 J J 3*^ -* O O O 


CC 3C (d V V CC 3 O CO U CO 0> tt) Cd CC 


CC Cd ^HC XXX O.O.OU 


ae z »o td td 


< X U< di O IV 








-Q (^ Cx.tx.CO«-NO^a.CJCJ 


cu-na. (o ki n Cm a.a.ucoco<-cooocococj 


CJ CC CJ (0 O CO CJ CO CO CJ CO 


a. m o »- oc ac 


X CJ _J Cx. <m bO 








CTJ c\j 
• ■*. | o o 

Q vo o o 


kg 


M 


> 










o " 
1 • id m Cd CJ •— o 


^- CO 


CO Ih Eh X Cd J 


Eh O X 


H 








OHOO ♦ ^-0< X 


X Z Z Cd UK 


Z X Cd 


z 








^ C\J «— o t^- •—•—.- 


UHQ < Cd {- O >-l h.C*.< 


OQ OO CJ CJ > » 0<HO 


cj o cc > 


E- 1 CJ 








— •» OOO O O O 


ozcj •-• cjxjo a.xxr-xc».xacxccxoxxxz <Q c\ja.z»-x 


X X CM X X X ^ 


Q CC <: Cx. CJ Cx. Cd X 

(»u<»jv»:i.x cj 






Qr x <« -* jj voaooo 

7^ Cd «% «*» «* vo oo vO •*► •* •* 


^ h •< a. «< o o x « -•«» -«»■ -cj • 


• cj -••» - -cj J co ae «i>cocj<«» - 


- CJ «•■ CJ - »• CO 






••» -C •** X -»*.ac.**-»<i,.-ro<iiO<li<M^ii»- 


4tm4hooxx *xx 4bXX«iO 


(M« X%*0(M« X 


41 % I * X % X I X 










<<<< <<<<<< 


<C «« «* «t CQ< CQ CQ 


«* CQ «< CQ -*. OQ 


«« •< «S CQ 








OB.uz<ZJ(0ObO3xex<<<<<< 


<«c<<aeacacco ox xxo.Oh<< 


<du<<<<3Jxw 


D ouoa. oa,o < << 








(a, aoaooaooo 


SIKWQOSHXIKOQJJaHQHOHQhQHJJJH OHMWIMJOH 


naza qehEhooqe-" 


OXUXIOXUE Q 








CO CdCdCdCdCdCdCdCdCd 

> 

r- ac «o o •- > > "*::*: 
•i Q3ZVKOO COCO 


OTOtt.JUO.KOlOUJUUJ(flJ(OJWJ(OJlOUUCJK lOW T a, Ufflffl J« 


cotdM.J-Jcococda.jQe 


CdOCQCJCQOCQCQ —3 












td 


ICNTRL 
ICR 








H 




CJ 








■•— >« CT QC X E-« X X < X X 


H 


Eh 








CO iuf-x<xza.H<:a 


z 


x> 


a. td 








•*» tO<QXHH,a.KX 


l-l 


o 


CO cc 








-J **a.3a.UJJI'JU 


X 


X 


X x 


JU -u 










O Q ^r CJ 


00 C* vO CM 


CO vO 


ao 










O — C\j - 


CJ CJ CJ o> 


CJ CJ 


CJ 










o o o o»-< ,r »i*.oc*.c\jo«- 


cj moo o o o o o o oco>o o o 


CM O O v£> O CM O 


Q «* «< O^CJ CJ Q O 










CJ OO CJ OOOOf-OCx.OOOOfNjOOOOCJCJ CJO (MO'-'-O 


O CJ CM O O O CJ 


000*-OCMCd CJ 










Cd vOvOf'OrviCT' Cd [«JCx.Ci.vOt*-\Ot^v£)t»-^Ot , -vOr~Ci.Cx.C«,cy> Ih Q t w »-c^QkOr- 


t-. CJvOvOt^t— mCdCOA 


•- t— •- r- •- t- o so 










f— man * mm t-- cjvovoao^oo^oo^ao^oo^vor^t^-cn c».comoofNj<MCjCd 


< t^- CJ ao cd «< mcx.m 


aOCMaOC\jnOCMC\j Cx. 








Ul mCdvOCO (M U U u 


OOOOCOCT>CJQU»»OOOmiriSCMOQIi.'- 


mir>r-ONCQC»om ^* t~< ooatii •-m 


irit—r~< ejedo cmcmcovo 


t~-r-cTNCQC>cx.»-m ir> 








*— Of— O O* »• OfM 


OCJQQQQQQCdCdOOOOOOOOOO«- 




m m ci o~> en m zt &■ ^t ^ ^ 


^^^^^^irin in 








ooooooooo 


CJCJOCJOCJCJOCJOOOOOOOOOOOOOOOOOOOO OOOOOOOOO 


ooooooooooo 


oooooooo o 








«<««UJOOOTOOO 


<<<<<<<<<<UCJUUCJUUCJCJUUUUUCJUUUCJ CJCJOCJCJOCJOO 


CJCJCJCJCJCJOCJCJCJCJ 


OOOCJCJCJCJCJ CJ 






76 Microcomputing, April 1980 




• 









An Introduction to Small Business 

Software for the PET 

An Overview of an Inventory and 
Mailing List Maintenance System. 



It's about time! You've been seeing ads 
for small business software in just about 
every computer magazine published. With 
prices in the range of $25 to thousands of 
dollars how does one decide just which 
system is the best to use. At best, a difficult 
choice — at worst, can bring on sleepless 
nights. 

Now after long hours of thorough 
research and many months of program- 
ming, DR. DALEY's Software has come up 
with the first installment of a complete 
small business software system. However, it 
has some major disadvantages that you 
should consider before spending any of 
your hard earned cash — but more on that 
later. 

DESIGN PHILOSOPHY 

The first program is an inventory 
maintenance system. This is followed by a 
mailing list program. One of the first things 
learned in the research on an inventory pro- 
gram is that, despite the textbooks, virtually 
every small business operation has different 
requirements for its inventory information. 
This, of course, means that every business 
would either have to modify the packaged 
programs that it purchased, or hire its own 
consultant to write a custom program. It 
seems to us that either approach is un- 
satisfactory. The first would require con- 
siderable time and expertise, while the latter 
would be very expensive. 

Another option is to write prepackaged 
software which each individual user can 
configure to his own needs. This would 
allow each business to customize its own 
computer maintained inventory files to, as 
closely as is possible, parallel the current in- 
ventory operation. 

The approach selected for the design of 
the inventory system was to write a program 
which would allow the user to design, 
within reasonable limits, the configuration 
of the computer files and all operations on 
these files. This means that the user can 
computerize the business operations with 
less of the anguish that frequently 
accompanies this conversion. 

After the design approach is selected, the 
task of coding the program is begun. The 
main thought in the coding process is to 
make the operation as easy and flexible as 
possible. Give the user the greatest con- 
ceivable number of useful operations and 
support these with various hard copy 
reports. Finally, be sure that the capacity of 
the system is sufficient to allow most any 
business to make use of it. 

In summary, the operations of the inven- 
tory system will allow the user flexibility to 
design and maintain useful files which look 
like the files he already uses in his business. 
It will also allow reasonably large capacity 
with each of the 2010 records on a diskette 
having a total of 79 USABLE characters. 



IMPLEMENTATION 

The total operation of the system is 
"menu" driven with a number of "plain 
English" menu options. These options in- 
clude adding records, editing them and sav- 
ing them to the files. Also one can see, or 
edit individual records once they are placed 
on the disk. In addition one can zero a par- 
ticular field on the disk for all records and 
calculate the value of the inventory for the 
entire inventory or for virtually any con- 
ceivable subset of the file. Finally one can 
obtain a listing of the entire file or almost 
any possible subset. For convenience a disk 
maintenance program is included which will 
allow you to copy files and to validate the 
integrity of the disk surface. 

The one feature which sets this inventory 
system apart is the "Group search 
function" option. This option will allow 
the user to search through the files for vir- 
tually any set of the files that he might wish 
to find. The operation will allow the user to 
specify up to three fields within each record 
to be used for the search keys. Each search 
key uses a pattern matching search. That is, 
one must have an exact match for locations 
specified in the search key. However, the 
pattern must also match. Thus one can 
search through the file for a specific pattern 
within each of up to three fields for the 
record. One can specify patterns as follows: 

**P*9Z 
this matches with $0P-9Z 
and 0/P29Z 
and 16P:9Z 
Thus one can select virtually any subset of 
the files by the appropriate selection of the 
search keys. 

This does not really cover the entire 
operations on the files, but space simply 
does not allow the complete description of 
the system. 

DISADVANTAGES 

We warned you about this. This could 
easily discourage all but the most deter- 
mined of you. Please consider these care- 
fully before purchasing this product. Here 
they are: 

1 . You will have to do your own work in 
setting up the files. The programmer has 
not done this thinking for you. If you do 



Charge to 

your 

MC/VISA 




not spend some time thinking about this, 
you will find that some of the operations 
described above will not really be of much 
use to you. 

2. The system is only available in the 
Commodore model 2040 disk format. If 
you don't own this powerful computer, 
then you won't be able to use this inventory 
system. If you have some other brand of 
computer please turn the page, otherwise 
read on. 

3. The printer output is designed around 
the features of the CBM model 2022 
printer. If you choose to use another 
printer, then you are on your own in modi- 
fying the printer output routines. The pro- 
grammer made this somewhat easier in that 
the printer routines are all written as 
subroutines, thus changes in one location 
can cover most of the modifications 
necessary. 

4. You probably will have to purchase 
this program by mail directly from the 
author. Most computer stores have not, as 
yet, responded to our calls for dealers. 

5. At the present time this program is not 
interactive with any computer accounting 
system. This will make the cost control with 
the inventory only somewhat easier than 
doing this by hand. This should be 
remedied by midsummer of 1980. 

ORDERING 

Those of you who will accept these disad- 
vantages and work around them will want 
to order a copy for your business. This can 
be done by either persuading your dealer to 
order it for you or calling us directly at the 
number given below. The price is $99.95 
plus 4 percent tax in the state of Michigan. 

MAILING LIST 

No we didn't forget this, but ran out of 
room. However, this program is much like 
the inventory system. One can have a total 
of 1340 names on a diskette with multiple 
diskettes in a file. The files are kept in se- 
quence using any of the fields as a sort key. 
There is a practical limit with a 32K PET of 
about 125 diskettes. The user can design the 
appearance of the printer output. Almost 
any subset of the file can be printed. The 
price here is $99.95. 



VISA 



DR. DALEY's Software 
425 Grove Ave., Berrien Springs, MI 49103 

Phone (616) 471-5514 
Sun.-Thurs. noon to 9 p.m., Eastern Time 



»>34 



>* Reader Service — see page 257 



Microcomputing, April 1980 77 





Diablo printer (bottom view). 



Diablo printer (top view). 



routine, the character output 
routine and a status routine, 
which returns a flag to indicate 
if the printer is ready. 

Space is available in FLEX 2.0 
for the routines, but it is not 
large enough for all the code 
necessary. Listing 3 shows the 
final result. All code that didn't 
fit in the reserved area was 
located starting at address 
C000. JMP instructions were 
placed in the areas reserved for 
the initialization and output 
routines to transfer control of 
the actual routines. 

Note that if the printer drops 
READY, the check routine will 
just keep returning a not READY 
status. If the printer is running in 
the print spooling mode, the 
main task will continue to run. If 
the printer gets a CHECK condi- 



tion after the ready routine has 
returned a READY status, then 
six bell characters will be sent to 
the control terminal and every- 
thing will be aborted by a return 
to the FLEX warm-start address. 

Conclusion 

So far, this is all that I have im- 
plemented, but I plan to include 
bidirectional printing, graphics 
and justification. Bidirectional 
printing saves the carriage re- 
turn time, thus making the effec- 
tive print speed greater. 

In order to implement bidirec- 
tional printing, you must have a 
buffer big enough to save a com- 
plete line. After printing one line 
from left to right, you save the 
next line in the buffer. When you 
have all of that line, you figure 
its length, position the carriage 



and start printing it backward. 

Once bidirectional printing is 
accomplished, adding justifica- 
tion should be easy. It could be 
implemented by either inserting 
extra spaces between words be- 
fore printing the line or by add- 
ing spaces between the letters. 
This is possible because the car- 
riage can be moved in 1/60 inch 
increments. 

Graphics is a half-baked idea. 
The print mechanism is capable 
of spacing 1/60 inch in the 
horizontal direction and 1/48 
inch in the vertical direction. Un- 
til I decide what I want the 
graphics to do, it will remain a 
fun idea in my head.B 

References 

"Model 1200 HyType I Printer 
Product Description," Diablo 



Systems Incorporated, Hayward 
CA, 1975. 

"Model 1200 HyType I Printer 
Maintenance Manual," Diablo 
Systems, Hayward CA, 1974. 
"M6800 Systems Reference and 
Data Sheets," Motorola Semi- 
conductor Products, Phoenix 
AZ, 1975. 

"Mini-FLEX Ver. 1.0 Advanced 
Programmer Guide," South- 
west Technical Products Cor- 
poration, San Antonio TX, 1978. 
"SWTBUG 6800 ROM Monitor 
Version 1.0 Users Guide," 
Southwest Technical Products 
Corporation, San Antonio TX, 
1977. 

"FLEX Programmer's Manual," 
Technical Systems Consul- 
tants, Inc., West Lafayette IN, 
1978. 



FOR THE VERY BEST IN 



TRS 80 COMPATIBLE SOFTWARE 



Tiny' Pascal FOR TRS-80 

Now you loo can nave Pascal' The famous Chung/Yuen nny Pascal has been specially 
designed to< the TRS 80' The lull power and elegance ol tiny Pascal is al your command Pro 
giams wniten m liny Pascal fun al least 4 limes laslei than (he same program m BASIC Tiny 
Pascal is also a great way to learn Pascal programming & fun too 

Best oi all you only need a I6K Level it TRS 80' No disk is required The liny Pascal operating 
system is sell contained and very easy to use 

Tmy Pascal is a subset ol standard Pascal & includes RECURSIVE PROCEDURE'FUNC 
TION IF THEN ELSE REPEAT/UNTIL PEEK » POKE WHILE DO CASE MORE' iPlus lull 
graphics lor your TRS£0| 

You can save and load programs to and from tape in both source and compiled form 

You get all this and more, plus a user s manual lor $40 00 

DISK VERSION NOW AVAILABLE S4S 00 

Energy Miser 

Energy Miser is a complete heatmgrcooiing analysis program tor your home oltice or 
business' With Energy Miser you can calculate heat loss because ot poor insulation leaky 
doors and windows poor planning and more With Energy Miser you can predict the annual sav 
ings on your utility bills tor various improvements or modifications, including use of solar 
power better insulation opening and closing drapery etc 

But there is even more Energy Miser can also calculate your Return on Investment That is 
you can tind your break point tor converting to solar tor insulating better etc Energy Miser even 
takes into consideration the Energy Ta« Credit' Energy Miser is a program designed to save 
your money' 

Energy Miser is a proven program written by a professional and includes a complete user s 
manual tor SM SO (Minimum System t6K Level II No Disk Required! 

Anglophone 

At last you can take complete advantage ol your TRS-80 voice synthesiser Forget about 
cumbersome phonetic codes With Anglophone you can simply use ordinary English Com 
pietely interlaces with BASIC or iusi about any other programming language Anglophone ap 
plies sophisticated pronunciation rules to transtorm normal English spelling into speech using 
the TRS-80 Voice Synthesi/er Minimum hardware Level M I6K Voice Synthesizer Comes com 
piele with user s manual and test program MS 00 

Talking Terminal 

The Talking Terminal program turns a TRS 80 into a talking computer terminal The Talking 
Terminal program receives input from a remote computer and converts it to spoken words Its 
many user options include Instant Replay speiie.1 speech silent or pronounced punctuation 
and more Minimum hardware Level II 16K Voice Synthesizer RS 232c board and e»pansion 
interlace S14S00 



(217)344-7596 



^116 



fwauon 



p All orders prepaid or C O D Illinois residents add 5° o sales tax 

P.O. Box 1628. Champaign, IL 61 




— Professional — 

Real Estate Programs 

available on cassette or diskette 

for Apple & TRS-80 II 

Property Management System 

• Rental Income Tracking 

• Complete Expense Analysis 

System v> Manual $225.00 
Manual $15.00 
Program Modules: 

1) Home Purchase Analysis 

2) Income Property Cashflow Leverage 

3) Construction Cost/ Profit 

4) Tax Deferred Exchange 

5) APR Loan Analysis 

Price Per Module $30.00 

Add $5.00 for Programs 

on Diskette 

At Computer Stores 
everywhere or call 

L ealty | |ompany (213) 372-9419 

for COD ^117 
2045 Manhattan Ave., Hermosa Beach, CA 90254 




TI5-ZBD APL 



Stand alone APL for Z80 occupy 
ing 28k (includes OS & DOS) 

File and system functions avail 
able within user funchions 

3D Matrix, inner and outer 
products 

Catenate, scan, compress, reduce 
and r otate along specified axis. 

* Use APL character set or ASCII 
substitutes 

U.S. $700.00 including manual 
U.S. $ 25.00 manual only 



TELECOMPUTE INTEGRATED SYSTEMS INC 
251 SPADINA AVE.. 
TORONTO, ONTARIO CANADA M5T 2E2 
»X 1 18 PHONE: 416 363 9295 



78 Microcomputing, April 1980 




DOMINOES 



$ 6.95 



• • RPN »l CUl»'0« •• 



ft.r 

N 



RPN MATHPACK 



$19.95 




SPACE WARS 



$ 9.95 




FORECAST 



$ 9.95 




DEPTH CHARGE 



$ 9.95 





- 




- 




' ' - 




- 















for the PET 



HV - r 

1 . « * < 


P 

! 
1 
t 

• * 



















| 


1 
















- 


■ 


■ 


■ 








• ■ 







OTHELLO 



$ 9.95 




SUPER NIM 



$ 6.95 




GRAND PRIX 



$ 6.95 




$ 6.95 




BASKETBALL 



$ 9.95 



All orders include 3% postage and handling with a minimum of 
$1 .00. California residents include 6% Sales Tax. 



VISA 



MASTERCHARGE 



HOME ACCOUNTING 



$ 9.95 




SHOOTING GALLERY $ 9.95 



PET IS A TRADEMARK OF 
COMMODORE BUSINESS MACHINES, INC. 



PROGRAMMA 
INTERNATIONAL, Inc. 

3400 Wilshire Blvd. 
Los Angeles, CA 90010 

(213) 384-0579 
384-1116 
384-1117 

Dealer Inquiries Invited 



i^11 




LETTER SQUARES 



$ 6.95 




DIR/REF 



$ 6.95 




E.S.P. 



$ 9.95 




BLOCKADE 



$ 9.95 



<;t«*f. I 74 



HHEl 



ICKP0' 



: 



[v Bf rum ro hh.l 'xc M««Dtt 



SLOT MACHINE 



$ 6.95 




BATTLE SHIP 



$ 9.95 



Z-A-P 



• •• 





/ — \ 









ct 

i 

Q) 

T 
CD 

"0 

-i 


(Q 

Q) 

3 



a 
c 
n 

ct 

en 



ZAP 



$ 6.95 



^Reader Service — see page 257 



Microcomputing, April 1980 79 



Dial-up Directory 



In this installment, our intrepid author interviews the maintainers of the Chicago CBBS. 



Frank J. Derjler. Jr. 
PO Box 17283 
Montgomery AL 36117 

The people who bring you Com- 
puter Bulletin Board Services are 
a diverse lot. Their motivations range 
from purely mercenary to ultimately 
humanitarian. Some feel a strong re- 
sponsibility for the material that is 
disseminated over their systems. 
Others believe in a "free press" and al- 



low an uncensored flow of data to 
pass through their disks. The CBBS 
concept seems to be a spin-off of the 
commercial computer mail schemes, 
but it is much different in implemen- 
tation. This month we will talk about 
these ideas and others with the two 
men who can truly be called the fa- 
thers of CBBS, Ward Christensen and 
Randv Suess. 

w 

I talked to Ward and Randy during 
a trip to Chicago. I went to Randy's 




Handy Suess. the serious craftsman who is the hardware guru behind the Chicago CBBS. His soft- 
uare swami (\\ ard C'hristensen) was prcsmt as only a voice during the interview. 

80 Microcomputing, April 1980 



home, which also houses the Chicago 
CBBS. We edged our way into Ran- 
dy's basement, and while the systems 
disks clicked and whirled, Ward's dis- 
embodied voice joined us over a 
speakerphone from his home south of 

the city. 

Microcomputing: Your own article 
in the November 1978 Byte gave an 
excellent technical description of the 
Chicago-style CBBS. What about the 
personal side? What were your goals 
and motivations in establishing the 
first of what has grown to be a series 
of systems? 

Ward: My motivation arrived on 
the morning of January 16, 1978, co- 
incidentally with the great Chicago 
snowstorm. I got up to find that my 
alley was impassable and started to 
think about more sedentary things. 

Randy: We had previously both de- 
veloped remote terminal operation 
for our systems so that we could use 
them when we were awav from 
home. We started leaving messages 
for each other, and the idea grew. 

Ward: Also, we had a regu\ar 
physical bulletin board for our com- 
puter club, and computerizing it was 
an obvious move. 

Microcomputing: Were you moti- 
vated by the mailbox services avail- 
able on the ARPA net, PLATO or 
other commercial systems? 

Ward: Honestly, I didn't know 
they existed at the time. I understand 
that we have reinvented the wheel by 
using some similar control codes, but I 
didn't know about them then. We 
started out with five functions. We 
made new version changes almost 



weekly in the beginning, but the sys- 
tem has stayed pretty simple. 

Randy: We used our own equip- 
ment, too. Eventually though, we 
had to dedicate a system so that we 
could provide full-time service. Now 
several manufacturers have donated 
equipment for use and evaluation. 
We have used every one of the S-100 
modem boards available. 

Microcomputing: Any comments 
about modem boards? 

Randy: All of the manufacturers 
have been great. D.C. Hayes has been 
responsive to comments and recently 
helped the Dallas CBBS out with a 
problem. We are now running the 
Potomac Micro-Magic and are very 
happy with it. 

Microcomputing: Is your user pop- 
ulation still growing? 

Ward: We started out using a Tele- 
type for logging, and Randy used to 
send me hundreds of feet of paper at a 
time. Now we log on a separate disk. 
We have had over 11,000 users and 
are getting ten to 15 new folks calling 
in a day. 

Microcomputing: Well, I can testi- 
fy that you have the busiest phone 
number of any system. 

Randy: The average caller stays on 
about 20 minutes, but expert users 
can get in and out in about five 
minutes. Our peak traffic loads are 
from 9 PM until early morning. We 
placed the system in a central Chicago 
location to cut down on the toll costs 
for our users, but it doesn't seem to 
matter. We get calls from across the 
country. 

Microcomputing: What is your 
longest-distance user? 

Randy: You have called from Ha- 
waii, Frank, but we have had people 
log in from Australia. We have some 
European users, too. 

Microcomputing: Well, a call to a 
busy CBBS is a quick way for people 
out of the country to get a feel for the 
latest microcomputing news and de- 
velopments. With all of those diverse 
users, do you often have to play the 
role of policeman and censor the 
material? 

Ward: Surprisingly, not often. It is 
easy to do, but we don't delete things 
very often. Trash on a system is self- 
perpetuating. If you catch it early, it 
doesnt grow. As you may have noted 
if you read the system sign-on, we try 
to keep the notices to computer- relat- 
ed subjects, so in that way we can ex- 
ercise some discretion. 

Randy: Cars for sale and computer 



The following list provides the location, phone number and other information about 
bulletin systems around the country. All have program exchange capability. I have personally 
checked into all of these systems; that is my only guarantee. I verified them from my list of over 
110 "reported" systems. 



LOCATION 

California 

Signal Hill 

Massachusetts 

Wellesley 

Michigan 

Farmington Hills 
Southfield 

Minnesota 

Minneapolis 

Texas 

Dallas 



PHONE NO. 



COMMENTS 



213-424-3506 6 PM-9 am and weekends. ABBS software for sale. 



617-431-1699 Not 24 hr. Forum-80. 



313-477-4471 
313-569-2063 



Not 24 hr. ABBS. 
Detroit Apple Club. 



612-929-8966 ABBS. 



214-288-4859 



FORUM-80. 

Individual Listing 

The following individuals have indicated a desire to exchange data calls for the purposes of 
chatting or swapping programs. Please call only during appropriate hours. 

Leonard Garcia (214-522- 1006) is the author of Telestar, a North Star terminal program. 
He has an extensive communications capability and will take data calls on Tuesdays and 
Thursdays and weekends from 7 PM to 10:30 PM Central time. 

Tim Lovatt (206-482-5134) is interested in Apple program swaps. 

Bill Crawford (615-877-7603) uses a TRS-80 with the ST-80D software. He is interested in 
computer clubs and ham radio. Call 6-9 I'M Eastern time. 

Jim Craft (703-386-3503) has a TRS-80 and is interested in ham radio software. 

Chuck Dedman (216-282-4248) is interested in starting a bulletin board system in Ohio. 

Donald Warren (404-834-4001) is available to chat after 6 PM Eastern time. 



dating don't really meet our defini- 
tion of computer- related. 

Microcomputing: How about some 
systems such as Boston, which has 
game players, or Beaverton, which 
has movie reviews? 

Randy: That's great for them. They 
should get into chess or cars or any- 
thing else they want. We do under- 
stand that some people have gotten 
pretty good computer-related jobs 
through our system, and we are hap- 
py about that. We just want to keep 
the Chicago CBBS computer-related, 
so if we have to pack a disk, then car 
ads are the first to go. 

Ward: We feel we have a respon- 
sibility as the first and probably the 
busiest system operating. 

Microcomputing: Were you really 
the first? 

Ward: The Kansas City Electronic 
Message System may have started at 
about the same time — I'm not really 
sure who got on first — but we con- 
tinued to function. 

Microcomputing: What other 
CBBSs around the country now use 
your software? 

Ward: Boston, Atlanta, Dallas, 
Pasadena and Beaverton are operat- 



ing. We have sold other copies, too. 

Microcomputing: Are you really in 
the sales business? 

Ward: Absolutely not! We had 
thought about giving the software 
away free, and then we thought 
about selling it for $25. But either 
way, we were afraid people would 
not value it and we would have no 
control over our creation. We settled 
on $50 as a fair price. 

Randy: We have thousands and 
thousands of our own dollars in it, 
and it would take a lot of 50-dollar 
checks to turn a profit. 

Microcomputing: What would it 
cost to start a CBBS right now? 

Randy: You could easily do it for 
$2000. You do need a lot of disk space 
though. The Kansas City TRS-80 fo- 
rum (816-861-7040) has some infor- 
mation on using a TRS-80 as a CBBS, 
I think, but their system is not derived 
from ours. 

Ward: TRS-80 users have trouble 
with our system because they don't 
have the control codes that make the 
use of our system so easy. 

Randy: TRS-80 users keep asking 
why we don't change our system for 
them. We recommend thev ask the 



Microcomputing, April 1980 81 



, GET Paid 

for using your 
Computer ^ 

FUN' Easv (30 X> 

RUSH COUPON FOR ^ 
FREE FACTS 

GB^ SPARE TIME 





Send today to DAR-M3 
3310 Fulton Ave., Sacramento CA 95821 »x 136 





I ! ' 



New Communications/Control CPU Card 

•CPUZ-80 1K RAM 

16 bit interval timer and interrupt 
EPROIvT 2708 standard (2716 optional) 

•Serial Communications RS 232 interface, 
UART Complete MODEM capability, 
programmable baud rates, etc. 

•Parallel 1/0-16 bits in (TTL), 16 bits Out (TTL) 

•Power-on and external reset 

'EPROM not included 

$195 assembled, tested, with warranty and docu- 
mentation. 

. ... Vantage Data Products 
Immediate delivery from stock! ■ 

All orders shipped prepaid ^135 |50 West 200 South 

MC, VISA, phone orders welcome Provo.Utah 84601 

Utah residents add 4 V« % sales tax (801) 377 6687 



TRS 80 GLEVEL H 

and Disk c Frograms 

MULTIPLE REGRESSION 2.0— A disk based package of 
chained programs that permits model estimation using 
thousands of observations, user specified transforma- 
tions (write them in BASIC during execution). X-Y plots, 
formatted for screen or printer ■♦■ all features of Multi- 
ple Regression 1.0 $45 00 

LEVEL II I6K PROGRAMS 

Multiple Regression 10 $29.95 

Linear Programming $29.95 

0- 1 Programming $29.95 

Transportation Algorithm $29 95 

Heuristic Line Balancing $29.95 

Stat. Pack — medium, mode, mean (avg.. harmonic, 
geometric), variance, histograms. Tests (T.X ,F.) one 
variable regression, one and two-way ANOVA $9.95 

Differential equations — 6 methods $29.95 

Queuing Statistics $ 14.95 

LOWERCASE MOD— Includes excellent documentation 
■f all parts (nothing else to buy), compatible with Elec- 
tric Pencil $14.95 

Aniliblf in OiU rid 15 
S C residents tit 4*. Mitt III 

I OittlM! »f<«fl *4d S5 I* tkl(tM{ 

uont 

y sterns 




p.o. box 628 

Charleston sc 

29402 




The busiest CBBS in the country. Notice the extensive shielding and air conditioning needed for such 
a high-technology installation. 



manufacturer why standard ASCII 
control codes were not included in 
their product. 

Ward: They always want us to fix 
the bars they get on the screen. The 
bars represent parity errors and their 
manual tells them how to get rid of 
them, but they still keep asking. 

Microcomputing: Are we entering 
an era such as we saw in amateur 
radio when the home-brew tinkerers 
resented the operators of ready-made 
"appliances"? 

Randy: Sure, but we certainly do 
get tired of answering the same non- 
problems. 

Microcomputing: How about the 
future? Telenet has announced some 
super-low night rates for data trans- 
mission. Do you see any linking of sys- 
tems for transfer of general-interest 
messages? 

Randy: That would get us into 
long-distance calling. We deliberate- 
ly use a dial-in-onlv line that costs 
three dollars a month. Message trans- 
fers would require a lot of time and 
software. 

Ward: We intend that this system 
remain free of cost to the user. Na- 
tionwide netting might become com- 
plicated and expensive. Also, we find 
that individuals already transfer in- 
teresting information from system to 
system, or they may at least leave ref- 
erences to messages of interest on 
other systems. The same thing is true 
of becoming multi-user. We are fre- 
quently asked why we don't provide 
more lines and go multi-user. The best 
answer we can give is that we are only 
in this for the fun of it. Big changes 



will come slowly. * 

Microcomputing: What little 
things are you looking at? 

Ward: Oh, a lot of housekeeping 
things. We need to keep our message 
numbers straight even after we pack a 
disk. Message number 110 should al- 
ways remain number 110 and not 
suddenly become 29. Also, supporting 
110 baud may be a time-wasting ser- 
vice. We also are considering a func- 
tion that would allow swapping com- 
plete programs. 

Microcomputing: Wouldn't pro- 
gram swapping be more easily done 
by direct person-to-person data calls, 
perhaps arranged on the CBBS? 

Ward: Sure, and it would be easier 
on our disk space too. 

Microcomputing: Any final com- 
ments? 

Randy: This is just our hobby, but 
we do feel some responsibility to our 
users. We will keep on trying to en- 
hance the system and respond to 
needs for new functions. 

Ward: Amen, and tell your readers 
to conserve disk space. 

Comments? 

If you are a bulletin-service owner 
or user and have comments or items to 
discuss, let me know. Also let me 
know if you are interested in receiving 
direct data calls and briefly describe 
your interests, equipment capabilities 
and available times. We will make 
you part of the Dial-up Directory. 
Either drop me a line (PO Box 17283, 
Montgomery AL 36117) or leave a 
message for me on the Atlanta system 
(404-939-1520). ■ 



82 Microcomputing, April 1980 



MEMOREX 

DISKETTES 
& CARTRIDGES 

for your computer or word processor 

BUY THE BEST FOR LESS. 
Lowest prices. WE WILL NOT 
BE UNDERSOLD!! Buy any 

quantity. Call free (800) 235- 
4137 for prices and information. 



Teratek's 




PACIFIC ^120 
EXCHANGES 

100 Foothill Blvd. 
San Luis Obispo, CA 
93401. (In Cal. call 
(805) 543-1037.) 



T3T3T Q^k PARALLEL 1/0 
±± J.-OIJ FOR TIIE TRS-801 

The PPI-80 to a complete parallel I/O Interlace designed •peciflcaly for the 
TRS-80, consisting of 3 complete 8 bit 1/0 ports Including such features as 

* switch selectable address decoding 

* complete on board regulated power supply 

* TTL compatible 1/0 lines conveniently available through 1 6 pin sockets 

* +5 volts and ground at each socket 

* 3 software selectable modes of operation 

* handshaking 

* plugs into keyboard or expansion interface 

* on board kluge area for experimenting 

* provisions for interfacing Sears-BSR-RS home controller 

Possible applications include: 

* bidirectional communication between microcomputers 

* parallel printer interface 

* wireless home control via BSR home controller 

* direct control of lights, appliances, and motors 

* interfaces to many popular boards including A/D-D/A converter 

and an EPROM Programmer 

PPI-80 is available now and can be purchased in several forms 

Completely assembled and tested $1 19 95 

Complete kit with all parts 89 95 

Bare board drilled and etched with assembly manual 25 95 

Accessories 

8 channel A/D - 2 channel D/A by Optimal Technology $115 00 

EPROM Programmer Model EP-2A-79 by Optimal Technology . 155.00 

To order, send payment plus $2 00 shipping and handlinq to 
QUANT SYSTEMS 
P.O. BOX 628 
CHARLESTON, S.C 29402 



^98 



uont 
ys^ems 



S C residents add 4\ sales lai 
Overseas orders add 15 lor shipping 



p.o. box 628 

Charleston sc 

29402 



POSTMASTER 



Tomorrow's 
mail system. 

Today. 

One package does it ALL 

Postmaster offers the most powerful and flexible 

mail-management system available. 



Batch Entry: Entering names 
and addresses to a mailing 
list is simple. Repeated 
elements of a record need 
only be entered once. 

Powerful Record Extraction: 

Used in conjunction with the 
Optional Reference Field, 

this feature allows simple 
creation of user specified 
"target-files." 

Dedicated Record Editor: List, 
modify or delete records. 
Allows intact or extracted i 

backup of original file. 

Automatic "ID" Field 
Insertion: (optional) Key in a 
name, and a unique 10 char- ' 
acter record identifier will be 
entered automatically to the i 
Reference area. I 

Envelopes: Postmaster pre- ( 
pares single or continuous i 

envelopes. I 

Mailing Labels: Standard or 
user-specified formats up to 
five across are supported by 
Postmaster. User may spe- y 

cify any number of labels 
per name. 

Form Letters: Prepare and ^ 

edit form letters in a variety ( 
of formats, on either single 
or continuous forms. 
Optional capability of , 

allowing text or salutation 
"Inserts" for some or all I 

letters in any print run. 

Prices reflect distribution on 8" single density diskettes 
It a format Is requested which requires additional diskettes 
a surcharge of $8 per additional diskette will be added 



Dedicated Record Sorting: 

Sorted files are re-written to 
disk. The sort may be in 
either ascending or descend- 
ing order. Uses the FAST 
Shell-Metzner sorting 
algorithm. 

Attractive Reports: Neat, 
paginated reports on either 
80 or 132 column paper. The 
80 column option allows 
your CRT to provide an 
attractive report display. 

Clear, Complete Documenta- 
tion: The manual vvill explain 
in simple English how to get 
started right away. Sample 
data and form-letter files are 
included on the disk to allow 
new users to experiment 
(learn) quickly. 

Quality That's Affordable and 
Available: The Postmaster 
programs are available in a 
variety of 5" and 8" disk for- 
mats (40k of RAM, CP/M and 
CBASIC2 are required). 
Among the formats sup 
ported are TRS-80, North 
Star, Heath H8 and H89, 
standard 8" IBM, 
Vector MZ and other 
CP/M derivatives capable 
of running CBASIC. 

It's terrific! 

We use it ourselves! 



lifeboat Associates 

Till? 

1 rlJu 

SOFTWARE 

.SUPER- 
MARKET 



COMPLETE 
PACKAGE: 

$ 150. 

MANUAL 
ALONE: 



(Credited toward 
subsequent purchase) 

*CP/M is a trademark 
of Digital Research 



LIFEBOAT ASSOCIATES 

2248 Broadway, New York, N.Y. 10024 (212) 580-0082 



Telex: 220501 



^ Reader Service — see page 257 



« i . 



Microcomputing, April 1980 83 



DOC 



A Multipurpose 
Utility Package 



Your North Star system gets a dose of the right medicine when DOC comes to call. 



Charles Alliston 
K-C Word Processing 
263 Blueberry Lane 
West Lafayette IN 47906 



DOC (Documentation, Opti- 
mization and Confiden- 
tiality), a utility software system 
for North Star users from Mini 
Business Systems, PO Box 
15587, Salt Lake City UT 84115, 
may have just the prescription 
for that ailing program in need 
of some attention to improve its 
performance. The system is a 
multipurpose programming aid 
providing documentation, com- 
paction, improved efficiency 
and confidentiality in an easy- 
to-use, self-prompting se- 
quence. 



The value of each capability is 
proportional to the complexity 
and length of the program. For 
example, the cross-reference 
listing can be of special assis- 
tance when a program has 
become difficult to follow 
through several modifications, 
or if the user is attempting to 
analyze a program with which 
he is not familiar. 

A run will provide an 
alphabetized listing of all 
variables and the line(s) in which 
each is referenced. This can, for 
example, be particularly useful 
when adding code, and the pro- 
grammer needs to use a variable 
not already in use. In addition, 
all GOTO or GOSUB statements 
are similarly documented. 

Implementation 

The software is provided on a 
minifloppy and consists of three 



Program listing. 

[StoAX "VOC" SzA&ion) 



single-density programs in 
BASIC that have themselves 
been processed by DOC to pro- 
vide confidentiality and optimi- 
zation. In addition, there are 
three data files that contain the 
list of statements and variables 
used in the source program, as 
well as a list of arguments that 
reflect the options selected by 
the user. 

It is necessary that both the 
program and data files be on 
drive one of the disk system. The 
"source" program may be 
located on another drive, as can 
the "target" file, which will con- 
tain the optimized program 
upon completion of the run. 
However, both must be set to 
"type 3" data files prior to run- 
ning the program. 

The documentation consists 
of 20 pages of suggestions and 
easily followed instructions for 



BYE 

+ TY SOURCE 3 

+ TY TARGET 3 

+ GO BASIC 

READY 

LOAD BTPDO 

READY 

RUN 

************************************************************* 
* D C - DOCUMENTATION, OPTIMIZATION, AND CONCATENATION * 



implementation. I encountered 
no difficulties using a North Star 
Horizon II and Release 5 Double- 
Density BASIC. Only small pro- 
grams can be processed with 
24K of memory because a total 
of only 170 combinations of ref- 
erences to variables, GOTO or 
GOSUB statements can be doc- 
umented. If 32K is available (not 
counting memory below DOS), 
the capacity will increase to 700 
and become 1200 with 40K of 
memory. 

Operation 

The Program listing shows a 
sample run of DOC using a triv- 
ial program with the printer as 
the input and output device. 
User responses are underlined. 
Only one program (BTPDO) need 
be loaded and run because it 
chains to the related programs. 
Following the sign-on message, 
the user responds to prompts 
and selects the desired options. 

Documentation of a program 
is assisted by providing (1) a pro- 
gram listing on the chosen de- 
vice with a user-supplied 
heading (see Program listing) 
and (2) cross-reference tables 
containing ordered listings of 
variables and GOTO- and 
GOSUB-type statements com- 
bined in one listing. This capa- 
bility alone is a great asset for 
modifying current programs or 



84 Microcomputing, April 1980 



understanding unfamiliar ones. 
This portion of the package is 
comparable to CBASIC's Cross- 
Reference Lister XREF or RSTS' 
CREF. 

Programs may be optimized 
by concatenation of multiple 
statements into one line, dele- 
tion of REMARK statements 
and unnecessary blanks at the 
user's option. If a REMARK 
statement is referenced (see 
original line 40), it is not deleted 
(line 40, optimized version). The 
length of the optimized line is 
user controlled (maximum = 
255 characters). 

Although long line length may 
not be correctly listed on your 
output device, the program will 
operate, and efficiency in exe- 
cution of GOTO-type state- 
ments is gained by reducing the 
total number of lines in the pro- 
gram. The sample program was 
optimized to 90 characters to 
facilitate listing in this article. 

Provisions are made for 
avoiding concatenation when 
desired. The reduction in size 
will vary with programming 
methods. Since REMARKS were 
extensively used in the sample 
program, the reduction in size is 
not typical of most programs. If 
you optimize MAILER from 
North Star Software Exchange 
Six, for example, the reduction 
will be from 6250 bytes to 4381 
bytes. Such compaction is, of 
course, a significant space 
saver. 

In addition, \t contributes to 
the fourth feature of DOC— con- 
fidentiality. Deletion of blanks 
makes pirating more difficult. 
However, a greater degree of 
protection is provided by the 
fact that when lines greater than 
132 characters have been gen- 
erated, the LIST and EDIT com- 
mands do not work properly, 
thus making a listing much 
more difficult to obtain. 

With a Horizon ll/ Soroc 120 / 
Diablo 1620 system, 99 seconds 
were required (from final 
RETURN to completion) for a 
run of the sample program, and 
731 seconds for the MAILER 
program. Table 1 summarizes 
times required for the various 
phases of DOC for both pro- 
grams. 

While variables and GOTO- 
type statements are being 



* COPYRIGHT 1978 BY MINI BUSINESS SYSTEMS * 

* THIS PROGRAM MAY NOT BE COPIED IN ANY FORM WITHOUT PRIOR * 

* APPROVAL OF MINI BUSINESS SYSTEMS * 
************************************************************* 

THIS PROGRAM LISTS AND MAPS A BASIC PROGRAM FROM DISK 

IF YOU DESIRE, IT ALSO COMPACTS & OPTIMIZES YOUR PROGRAM 

IF YOU OPTIMIZE YOUR PROGRAM, THEN LISTING & EDITING IT MAY 

BE IMPOSSIBLE IF YOU SELECT A LINE LENGTH GREATER THAN YOUR 

TERMINAL SUPPORTS 

THE PROGRAM FILE MUST BE TEMPORARILY SET TO TYPE 3 

HOW MANY GOTO'S DO YOU ESTIMATE YOUR PROGRAM HAS ? 2J2 

HOW MANY SEPARATE OCCURENCES OF VARIABLES DO YOU ESTIMATE ? 60 

DO YOU WISH A CROSS REFERENCE LISTING ? YES 



SOURCE FILE NAME (MUST TEMPORARILY BE SET TO TYPE 3) 

LISTING TITLE? Demonstration Program 

DATE? June 25, 1979 

FORM LENGTH (LINES 

OUTPUT DEVICE # IS 

ENTER 1 FOR SINGLE 

DO YOU WISH 

WHAT IS THE 

DO YOU WISH 

TARGET FILE 

PUT PAPER AT 



SOURCE 



PER PAGE) 25 

? 

SPACE, 2 FOR DOUBLE, ETC. ? 1 
TO OPTIMIZE THIS PROGRAM ? Y 
MAXIMUM LINE LENGTH YOU DESIRE (MAX=255) 
TO DELETE REM STATEMENTS ? Y 
NAME (TEMPORARILY TYPE 3)? TARGET 
HEAD 



? 90 



OF FORM, AND PRESS RETURN TO CONTINUE 



Demonstration Program 



June 25, 1979 



PAGE 1 



10 

20 

30 

40 

50 

60 

70 

80 

90 

100 

110 

120 

130 

140 

150 

160 



REM *************************** 

REM 

GOTO 70 \ 

REM 

L = LOG(N) \ 

RETURN \ 

INPUT "Your Name, Please? " , N$ \ 

PRINT "Thank You, " , N$ \ 

INPUT "Please Give Me a Number: ",N \ 
\ PRINT "OK, " , N$, \ 
" The Square Root Of " , N, " Is 

40 \ 
"And the LOG is: " , L \ 
\ INPUT"Use Another Number? ", 
\ IF Q$ = "Y" THEN GOTO 90 \ 



DOC DEMO ******************************* 

REM GO AROUND SUBROUTINE 
INCLUDE A REFERENCED REMARK LINE 
REM USE LOG FUNCTION 
OF SUBROUTINE 
USER'S NAME 



FROM USER 



PRINT 
PRINT 
GOSUB 
PRINT 
PRINT 
PRINT 
END 



REM END 
REM GET 

REM RESPOND TO USER 
REM OBTAIN A NUMBER 
REM BEGIN OUTPUT 
" , SQRT(N) \ REM PRINT SQUARE ROOT 

REM USE A GOSUB STATEMENT 
REM PRINT LOG OF THE NUMBER 
Q$ \ REM ASK USER TO CONTINUE 

REM USE A GOTO STATEMENT 



PLEASE WAIT - SORTING VARIABLES 
Demonstration Program 
VARIABLE USED IN LINE 



June 25, 1979 



VARIABLE MAP 



L 


50 


130 




N 


50 


90 


110 


N$ 


70 


80 


100 


Q$ 


140 


150 





110 



PLEASE WAIT - SORTING GOTO'S 
Demonstration Program 
GOTO FROM 



June 25, 1979 



GOTO MAP 



40 


120 


70 


30 


90 


150 



PLEASE WAIT - OPTIMIZATION PHASE 
INPUT FILE WAS 892 BYTES LONG. 
OUTPUT FILE IS 306 BYTES LONG. 
OPTIMIZED PROGRAM IS IN FILE TARGET 

[End "Voc" SzaUovi: Optimized Vfioanxun Ll6tzd uuXh UonXh StaA "LIST" Command) 
READY 
BYE 

+TY TARGET 2 
+GO BASIC 
READY 

LOAD TARGET 
READY 
LIST 



10GOTO70 

40REM 

50L=LOG (N)\RETURN 

70INPUT"Your Name, Please? " ,N$\PRINT"Thank You, ",N$ 

90INPUT"Please Give Me a Number: " ,N\PRINT\PRINT"OK, ",N$, 

110PRINT" The Square Root Of " ,N," Is: " ,SQRT(N) 

120GOSUB40\PRINT"And the LOG is: " , L\PRINT\INPUT"Use Another 

150PRINT\IFQ$="Y"THENGOTO90\END 

READY 



INCLUDE A REFERENCED REMARK LINE 



Number? ",Q$ 



Microcomputing, April 1980 85 



Original length (bytes) 
Optimized length (bytes) 

Original no. lines 
Optimized no. lines 

No. variables 

No. references to variables 

No. GOTO or GOSUB 

No. references to GOTO, GOSUB 



Time (sec.) required to: 
List program** 
Sort variables 
Print variables map** 
Sort GOTO, GOSUB 
Print GOTO, GOSUB map* * 
Optimize program 



TOTAL TIME (seconds) 



Program 


Name 


MAILER* 


DOCDEMO 


6250 


892 


4381 


306 


244 


16 


48 


8 


33 


4 


339 


11 


37 


3 


76 


3 


262 


33 


140 


19 


61 


4 


28 


5 


21 


3 


219 


35 



731 



99 



* From North Star Software Exchange 6. 

* 'Using Diablo 1620 operating at 1200 baud setting. 



Table 1. Summary of selected parameters for two programs. 



sorted, a "PLEASE WAIT" (see Intervals when the printer is in- 
Program listing) message is dis- active. The disk drive(s) also 
played on the monitor during operates periodically to further 



reassure the operator that all is 
well. 

You can accommodate future 
versions of North Star BASIC by 
including a feature to easily 
incorporate any unknown 
BASIC instruction into DOC's 
repertoire. The distribution disk 
is fully compatible with North 
Star Release 4 BASIC. 

Also included with DOC is a 
well-documented program 
called GOTOSUB, which pro- 
vides a more flexible GOTO N 
statement than ON N GO TO X1 , 
X2, X3. Its use, along with ad- 
ditional hints on programming 
for maximum efficiency, should 
result in more efficient pro- 
grams for the average user. 

Finally, there is a "freebie" in 
the form of a Least Squares 
Curve Fitting Program intended 
as the source program for a 
sample run. Mini Business 
Systems included this program 
from the North Star User's 
Group Library. 

It is surprisingly difficult to 
itemize undesirable features of 
DOC. In the interest of objec- 



tivity, I could be picky and com- 
ment on the inconvenience of 
having to set the source and tar- 
get programs as data files (but 
then, that does provide a 
measure of protection!). It 
would be nice if the GOTO 
and GOSUB statements were 
separated. The choice of 
BTPDO as the name of the pro- 
gram to be loaded is not a very 
logical name, and somehow 
seems difficult for this absent- 
minded user to remember be- 
tween sessions. (Recent infor- 
mation from MBS indicates that 
BTPDO stands for Basic Text 
Program Development and Op- 
timization. DOC II revises the 
name and changes each of the 
items mentioned above as unde- 
sirable features. The current 
price of DOC is $60, a change 
from $29 when it was originally 
issued.) 

In summary, the flexibility 
and multiple capabilities should 
make DOC a worthwhile invest- 
ment for the North Star user who 
modifies existing software or 
develops new software. ■ 



TRS-80 



F(AST) F(OURIER) T(RANSFORM) 
DIGITAL FILTER SIMULATION 
LINEAR AND EXPONENTIAL 
CURVE FIT 

DISK OR CASSETTE DATA FILES 
INTERACTIVE GRAPHICS 



Having this set of interactive programs in your hands is a learning 
experience in digital signal processing. 

Learn by doing. Documentation includes multiple examples. Balance 
your checkbook with a digital filter (can you believe it?). Plot daily stock 
market values and their computed trend lines. Find the frequency 
response of a digital filter. Illustrate nyquist sampling theorem. Perform 
spectral analysis (FFT) on any waveform. 



TRS-80 



IDEAL FOR YOUR PHILATELIC 

INVENTORY 

FOR MEDIUM TO LARGE 

COLLECTIONS 

MULTIPLE PARAMETER SORTING 

VERSATILE PRINTING CAPABILITY 

OPTIMIZED FOR FAST INITIAL 

ENTRY 



One thousand stamps per Data disk with Multi-disk processing for the large 

collection. 

Special attention given to make data entry and corrections fast and easy. Keeps your 

information current and accurate. 

Provides a variety of pre-designed and user-selected reports to CRT or printer. 

Reports are sorted on any combination of stamp characteristics. 

Requires minimum Dual disk 32K system and 72+ column printer. 



ZKLTA 



P.O. BOX 1181 
GOLETA, CA 
93017 



FFT-80 DISK 
FFT-80 CASSETTE 
STAMPS-80 DISK 



$30.00 
$25.00 
$35.00 



* WP 6502 • 



Pro Word Processing for 
OSI — ATARI — PET — APPLE 






Text insertion of up to 100 text blocks for simple 
form letter preparation. 

Both global editing, featuring echo-checking and 
cursor controlled screen editing. 

Intelligent tabbing featuring space-over or dot- 
over. 

One version supports disk and/or tape. 

All in assembler; runs on even a 4K machine. 

Has exclusive "AP" option: every page can start 
with a new paragraph. 

And much more. 



OSI Video (C1/C2/C4) $75 OSI 65U.&.D *IQQ 

ATARI TBA APPLE IV and II TBA 

PET (new) TBA Complete Operations Manual $2 



Specify Tape 8" or 5" NY: Add 8<7o— C.O.D. Orders Accepted 




Dwo Quong Fok Lok Sow 

37 1 Broome St. 

NY, NY 10013 

212-431-3296 



^87 




86 Microcomputing, April 1980 



REVERSE VIDEO 

FOR 

OHIO SCIENTIFIC 

JOYSTICKS 

Two full eight-directional |oysticks including fire 
button, for all systems including new C4 and C8 

"Please specify system $24.95 

Completely Assembled and Tested 
Includes Sample Tank Game 

REVERSE VIDEO 

Software controlled — reverses video display on 
screen by poking a value to a memory position 
(Some solder;ng required ) 

**C1 and Superboard $8.95 

Prices include shipping 
Send $1 .00 for complete software catalog 

(FREE with JOYSTICKS) ^ 193 
AURORA SOFTWARE ASSOCIATES 

353 S 100 E #6. Spnngville UT 84663 



TRS-80 NEEDS 
FILLED 

Disk drives with f\ S and case etc 

MPI 40 track (102. 400 byte) $319 Pertec 40 track 
(102. 400 byte side) use both sides $349 Micropenis 77 
track (197. I 20 byte) $495 4 drive cable $34 
I0verbdisks-5in (a $27 8 in (a $39 hard case $3 & $5 
Base 2 printer (GO line min 72. 80. 96. I 20or I 32 char 
line bi-direct dot matrix impact 96 char ASCII. I 5 baud 
rates. Centronics parallel. RS232. 20ma& IEEE488. load 
your char set) $499 2I< buffer, graphics. & tractor op 
tion avail 

Centronics 779 trctr (a $950 & 730 (a $750 cable @ 
$34 
Harris Selectric (word processing-typewriter & printer) 

$890 

UPS (Uninterruptible Power Supply) prevent power drop. 

surge or out? From $195 

Atari & Radio Shack model 2 hardware software dis 

counted 

Free flyer with hardware & software at low prices (Radio 

Shack also) 

rv\A residents add S°o tax-F OB Tewksbury— we pay 

postage cont USA M C. Visa or check accepted 
Centronics & TRS-80 are reg. trademarks of 

»x 140 Centronics & Tandy Corp. respectively 

OMNITEK SYSTEMS 



24 Marcia Jean Dr , Dept M 
Tewksbury MA 01876 



Tel. 617-851-3156 



NOTICE 

NEW PRODUCT WITH $30 REBATE 

DifCCi from factor) the world*! fines! iiisium all wood CF-S0 series furni 
lure for the built m TRS K0. we are proud to announce a new low price 
CF-90 series unit, made from formica, for onls $129 95 further all 
orders received prior to \pril 15. 1 980 will receive an uiiIm-Iu-n ahle S.U) 
rebate Thais naht tor $99 95 you will receive a custom corner desk con- 
sole that provides total built-in CSfMbHit) of TRS -10 ke\ board, interface, 
monitor, and cassette Absolute*) no cables visible lo l>e eligible for re 
bate, all orders must be bv i heck or monev \o (Op's or charve cards 



SPECIAL NOTE: 




Our high qualm . rral wood furniture 
is now available thru VISA, or Mastrr 
Charge, or our new low price series 
without rebate. 



ORDER NOW 

—24 HOUR 



r»M 408-946-1265 



^192 




^A115 



AVE 



AUDIO-VIDEO SYSTEMS 

2485 Aulumnval Ave. 
San Jose, CA 95132 




incorporation 

40-PIN EDGE CONNECTORS 

(wirewrop style) 
For Your TRS 80 or Surxrbrain. 

SJ.95— Nickel plated phosphor hntn/c 

contacts. 

$7.95— (mid plated contacts. 

OR- 



Tr> our 3D40 edflc card ior >our TRS 80. The 
JD40 is a precision double sided P.C. hoard 
nith 40 pin connector in tront. Hired to 3 16-pin 
dip sockets in back. Use the MM0 nith dip rib 
bon cables and solderiess breadb<»ards to make 
TRS-80 interlacing experiments a snap! $15.95 

ALSO — Coming soon for your TRS-dO 

THE SCHEDULER 

Vn inexpensive s>stem of hardware and sotrnare 
that provides a real lime clock and wireless 
remote control of 256 external devices for vour 
TRS-80. 

RO.Dox566 - 1 ' 5 , A 
Wesffield, MA. /* 
01065 




Professional file access for 
the TRS-80* microcomputer! 

Introducing INSEQ-80™ (indexed 
sequential access method— ISAM) 

Finally a professional method of disk 
access like those available for big 
computers. Access any record in the 
file based on a field defined as a key 
(e.g. part number in an inventory file) 
or read the file in ascending key order. 
Access by the field defined as a key 
is through an index maintained by 
INSEQ-80.™ Average access time is 
2 seconds. 

INSEQ-80™ contains 4 machine 
language programs that can be called 
from your BASIC program via GSR 
functions, plus a reorganization utility 
to consolidate files. Includes complete 
users manual with fully documented 
example program and test files. Will 
run under TRSDOS, NEWDOS, and 
VTOS 3.0. $49.95. 

»x114 

ComputerCity 

A division of CPU Industries, Inc. 

175 Main Street, Dept. K-4, Charlestown, MA 

02129 

To order call Toll Free 1-800-343-6522, 
Massachusetts residents call 617/242-3350. 

VISA & Master Charge accepted. 

TRS-80 is a trademark of the Radio Shack division of 
Tandy Corporation. 



TM 



P&T CP/M®2 unleashes the POWER 
of your TRS-80 MODEL II 

Pickles & Trout has adapted CP/M 2, one of the world's most 
popular operating systems, to the TRS-80 Model II and the 
result is spectacular: 



596K bytes of usable stor- 
age at double density 
Runs both single and double 
density disks with automatic 
density select 
Single drive backup 
Multi-drive software can run 
on a 1 drive system 
Operates with 1, 2, 3, or 4 
drives 

Full function CRT control 
Type-ahead buffer for key- 
board input 



• Full access to both serial 
ports and parallel printer 
port 

• Fully software program- 
mable serial ports 

•Loads an 18K Basic in 2.5 
seconds 

• Full compatibility with exist- 
ing CP/M software and ap- 
plication packages 

• Full set of 7 CP/M manuals 
plus our own for the TRS-80 
Model II 







Introductory price: $1 75 

Prepaid. COD. Mastercharge or Visa orders accepted. 
Shipping extra. California residents add 6% sales tax 



master charge 



^Snfif^ PICKLES & TROUT 

1 I\UU 1 PO BOX 1206 GOI FTA CA Q.'«il7 IH(K\ Ok7.q^ 



^153 



PO BOX 120b. GOLETA. CA 93017. (805) 967-9563 



CP/M is a trademark of Digital Research Inc. 



TRS-S0 is a trademark of Tandy Corp 




^Reader Service — see page 257 



Microcomputing, April 1980 87 



SCREEN 



Two alternatives: modify an existing data-base management system to store and retrieve 
data, or write one for your own system. The author chose the latter; here are the results. 



Forest E. Myers 
5114Garnett St. 
Shawnee KS 66203 



How many times have you 
sat down at the keyboard 
of your microcomputer to enter 
a program to store and retrieve 
data? I've done it numerous 
times to meet a wide variety of 
needs. In most cases, I struc- 
tured programs in the same 
way: each program allowed the 
creation of a data file, correc- 
tion, addition and deletion of 
records to a previously created 
data file and listing of data in 
the file. 

I've repeated this process for 
our household accounting sys- 
tem, coupon files for my wife's 
myriad product coupons, for 
mailing lists, for my brother-in- 
law's realtor-reminder report, for 
my class attendance and test 
score files. I've become adept at 
cranking out these small data 
entry, update, storage and re- 
trieval programs. However, with 
each one I did, the more I dread- 
ed the prospects of doing 
another. Finally, I came to the 
conclusion that there must be a 
better way. Of course, there is a 
better way. There are numerous 
data base management pack- 
ages available for microcomput- 
ers to take care of my needs. Un- 
fortunately for me, no one ever 
bothered to write one for my par- 
ticular system. 

As a result, I had two options: 
I could buy, beg, borrow or steal 
a data base management sys- 



tem written for some other 
brand of microcomputer and 
modify it to run on my system, or 
I could sit down and write a 
small data base management 
program for my system. 

After some deliberations, I de- 
cided on the latter alternative. 
Several factors prompted my de- 
cision. First, it was less expen- 
sive (basically my time). Second, 
it seemed that any software 
taken from another system 
might require considerable 
modification to run on my sys- 
tem. 

This article outlines the sys- 
tem requirements to implement 
two programs that make up 
DATBAS, a data base manage- 
ment system. Additionally, it 
presents the first of the two 
DATBAS programs— SCREEN. 
The remaining program, FILEIT, 
is the subject of a follow-up arti- 
cle in next month's issue. 

System Requirements 

In order to set the stage for 
the discussion to follow and to 
help you understand the reason 
for some of the coding used in 
SCREEN, I'll briefly describe the 
computer system and the BA- 
SIC interpreter under which it 
was written. It should be em- 
phasized at the outset that your 



system does not have to have all 
the features mentioned to im- 
plement DATBAS. 

DATBAS was written on a mi- 
crocomputer with 50K RAM, 
CRT, standard 8 inch floppy-disk 
drives and TTY-43. The 50K 
RAM, after allowance for the 
disk operating system and 
BASIC interpreter, translates in- 
to approximately 28K of user 
memory. If your system has less 
available user memory, it simply 
means that you must cut back 
on the size of arrays used. 

The CRT displays 64 charac- 
ters per line and 16 lines per CRT 
screen. If your display is 80 x 24, 
then you can get more informa- 
tion displayed on a given data 
entry screen. The floppy-disk 
storage device is not necessary. 
Only the ability to store data on 
some mass storage device is re- 
quired. The TTY-43 is used both 
as an input and hard-copy out- 
put device. It prints 132 charac- 
ters per print line. If your printer 
has a shorter print line, it makes 
no difference. Even if you don't 
have a hard-copy device, you 
can still use DATBAS for CRT 
output. 

DATBAS programs are writ- 
ten in Business Basic, an inter- 
preter sold by MicroWorks, Inc., 
of Cincinnati OH. The BASIC 



NAME 



ADDRESS 



SEX 



AGE 



MARITAL 
STATUS 



n 



CHILDREN 



Fig. 1. 



supports two commands used 
extensively in the DATBAS pro- 
grams: CURSOR, which allows 
placement of the cursor any- 
where on the CRT screen, and 
INPUT1, which is similar to the 
INPUT command that is used so 
often in BASIC, but it does not 
generate a carriage-return/line- 
feed after the user's input. Most 
BASICS support these com- 
mands in some form or another. 

Input/output to mass storage 
devices is handled by strings. 
As a consequence, numeric in- 
formation is read from the 
storage device via a string vari- 
able and, if required, converted 
to numeric information before 
use in arithmetic operations. 
This conversion process is ac- 
complished through \he CON- 
VERT command, which is simi- 
lar in its effects to the STR$ and 
VAL$ commands in other BA- 
SICS. 

Additionally, Business Basic 
supports addressing individual 
elements in a string. Therefore, 
the code A$(1 ,3) addresses array 
elements 1 through 3 in string 
A$. The LEFTS, MID$ and 
RIGHTS string functions accom- 
plish the same things in other 
BASICS. 

Definitions 

A "data base" or "data file" is 
a collection of records relating 
to a particular subject. Its pur- 
pose is to provide organization 
to a body of facts about the sub- 
ject. The basic building block of 
a data base is the "record." 

A "record" contains informa- 
tion or known facts about some- 



88 Microcomputing, April 1980 



one or something included in 
the data base. Just as "records" 
represent the basic building 
blocks of a data base, the "data 
field" represents the basic 
building block of the "record." 

Fig. 1 shows a pictorial sum- 
mary of a sample data base that 
contains personnel information. 
The data base consists of five 
records. One record is devoted 
to each individual employee. 
Within each record are six data 
fields. These data fields are 
NAME, ADDRESS, SEX, AGE, 
MARITAL STATUS and CHIL- 
DREN. In the data base pre- 
sented, actual information per- 
taining to the employee is en- 
tered for each data field. There- 
fore, a person's name is actually 
kept in the space designated 
NAME. 

The Program 

Having laid the groundwork, I 
will now discuss the program 
SCREEN. Remarks will center 
primarily on operational as- 
pects of the program rather than 
on program code (REMark state- 
ments placed in the program are 
intended to serve this purpose). 
The SCREEN program is used 
to create a "data entry screen," 
whose purpose is to allow the 
user to specify a record layout 
or format for data base records 
(that is, it allows the user to 
allocate record space for each 
data field). To accomplish this 



task, SCREEN divides the CRT 
display into labels and data 
fields. Labels are specified by 
the user and are used to identify 
information the user intends to 
be included in the record. 

In the personnel file example, 
user-specified labels are: 
NAME, ADDRESS, SEX, AGE, 
MARITAL STATUS and CHIL- 
DREN. It should be noted that la- 
bels serve only as a prompting 
device at data entry time and are 
not stored as part of each record 
in the data base. To do so would 
unnecessarily waste storage 
space. 

Data fields are used to hold 
the actual information or data 
entered by the user. The length 
of each data field is specified by 
the user. DATBAS programs as- 
sume fixed-length data fields, 
which means that the length of a 
given data field is assumed to 
be the same for all records. 
Therefore, if the user specifies 
the data field associated with 
the label NAME to be 20 charac- 
ters in length, it is assumed to 
be 20 characters in length for all 
records in the data base. 

As a result, you must be care- 
ful to ensure that the data field 
specified is large enough to hold 
the biggest entry into that field 
for any record in the data base. 
To specify 20 characters for 
NAME and then attempt to enter 
30 characters will result in the 
last 10 characters being lost. 



SCREEN program. 



10 

20 

30 

40 

30 

60 

70 

80 

90 

100 

110 

120 

130 

140 

ISO 

140 

170 

110 

1?0 

200 

210 

220 

230 

240 

230 

240 

270 

210 

290 

300 

310 

320 

330 

340 

350 



REN 
REN 

REN 

REN 

REN 

REN 

REN 

REN 

REN 
REN 
REN 
REN 
REN 
REN 
REN 
REN 
REN 
REN 
REN 
REN 
REN 
REN 
REN 



At 



INPUT/OUTPUT STRING FOR DISK DRIVES — SERVES 

ALSO TO NULL Dl AFTER USER LAIEL INPUTS 

HOLDS FILE NANE 

UTILITY STRING FOR USER RESPONSES 

USED TO HOLD USER LADEL INPUTS 

HOLDS ALL LADEL INPUTS 

C0LUNN ADDRESS FOR CURSOR POSITIONING ON CRT 

HOLDS LENGTH OF EACH DATA FIELD 

R0U ADDRESS FOR CURSOR POSITIONING ON CRT 

MOLDS LENGTH OF INDIVIDUAL LA1EL FIELDS 

HOLDS NUNERIC FIELD DESIGNATOR 

INITIALLY USED TO HOLD 1/0 DEVICE NUNDER 

LATER USED TO HOLD TOTAL LENGTH OF RECORD 

HOLDS CURRENT LENGTH OF SCREEN LINE. 

THAT IS, SUN OF LADEL AND DATA FILEDS ♦ 4 

BEGINNING POSITION OF LABEL IN Et 

HOLDS NUNDER OF LABELS TO BE ENTERED 

ENBIN6 POSITION OF LABEL IN El 

HOLDS REMAINING DATA SPACE IN RECORD 

HOLDS NUNDER OF LADEL8 ACTUALLY INPUTED 

HOLDS NUNDER OF RECORDS PER 256 DYTE BLOCK 

HOLDS LINE POSITION DATA ENTRY SCREEN TO DEGIN 

HOLDS NUNDER OF REMAINING LINES ON CRT 

DIN AK254) t DK10),CK10),BK256>,EK512) t C(30>,F<30) 

DIN L(30),N(30>,R<30> 

•-" i FOR I»1 TO 7 i •" " i NEXT I 

I" DATA ENTRY SCREEN PROGRAM " 

• VERSION 1.01 " 

•" 04/10/79 " 

REN DASIC REQUIRES THAT ALL STRINGS BE INITIALIZED DEF0RE 

REN FIRST USE. 

AI-" " i FOR 1-1 TO I t AI-AKAI i NEXT I 

DI'AI i BI-AK1.10; I CI-BI i EI-At+DI 

FOR 1-1 TO 5 I •" " I NEXT I 

INPUT "Enttr input/output dtvict nuttbar (0 or 1) ",D 



Bl 
CI 

Df 
El 

CO 
FO 
R<> 
L<> 
NO 
D 

6 

J 
L 
I 



z 

B1 

LI 
L2 



340 

370 

380 

390 

400 

410 

420 

430 

440 

430 

440 

470 

410 

490 

500 

510 

520 

530 

540 

530 

540 

570 

580 

590 

600 

610 

620 

630 

640 

630 

640 

670 

680 

690 

700 

710 

720 

730 

740 

750 

740 

770 

780 

790 

800 

810 

820 

830 

840 

830 

840 

870 

880 

890 

900 

910 

920 

930 

940 

950 

940 

970 

980 

990 

1000 

1010 

1020 

1030 

1040 

1030 

1040 

1070 

1080 

1090 

1100 

1110 

1120 

1130 

1140 

1150 

1140 

1170 

1180 

1190 

1200 

1210 

1220 

1230 

1240 

1250 

1240 

1270 

1280 

1290 

1300 

1310 

1320 

1330 

1340 

1350 

1340 

1370 

1380 

1390 

1400 

1410 

1420 

1430 

1440 

1450 

1440 

1470 

1480 

1490 

1500 

1510 



•;X3i;o;- byttf 
••;X2l;L2;' 



*•' 



IF D<0 OR D>1 THEN B'Enttr or 1 " i GOTO 350 
INPUT "Enttr input tcrttn filt nana " f DI 

IF LEN(BI)<>4 THEN 8"4 characters nuat bt onttrod " t GOTO 370 
BI»DK".SE"*CHRK0> 
OPEN (0,E,DI,1,D,3) 

IF E>1 THEN ("Open trror "ft t GOTO 350 
INPUT "Enttr nunbar of fiald label* M ,L 

IF L<1 OR L>30 THEN 8"Labtl nunbar *uat ba 1 thru 30 " i GOTO 420 
INPUT "Entar tcraan lina labels ara to begin (0-14) ",L1 
IF LK1 OR L1>14 THEN l"line nunbar incorract " t GOTO 440 
R»L1 t C ( 1 ) =0 i C>0 i D-0 i J»1 

FOR 1-1 TO 30 » H(I>«0 » NEXT I i REN THIS ZEROES NUNERIC FIELD DESIGNATOR 
Z-0 

FOR I>1 TO L 
0=254-1 

•"Label ";Z2I;I;" Data space left it 
L2-14-R 

«"** Nunbar of tcraan linat renaming it 
INPUT "Entar tcraan labal ",D! 
L(I)>LEN<DI) 

INPUT "Entar data fiald langth " f F(D 
6«LU)*F<I>*4 

IF 6>43 THEN l M Line too long ";G I DI-AI i GOTO 540 
INPUT "Nunaric data fiald (Y/N) ",CI 
IF CI-"Y" OR Cl«"y" THEN N(I)»1 
C<I)>C 
K«J+L(I)-1 
EKJ,K)-Dt 
DI-AI 
J=»k>1 
C-C+G 

IF C>63 THEN R=R+1 

IF R>14 THEN N"Screan full, last antry ignored " i EXIT 760 
IF C>63 THEN C( I ) = i C-6 
D«D*F(I> 

IF D>254 THEN ■"Data tpaca full, latt antry ignored " 
IF D>254 THEN D«D-F(I) : EXIT 740 
Z«Z*1 
RO)«R 
NEXT I 
11*1 

DI-AI : REN NULL Dl, USE IT TO NULL Al LATER 
REN DETERNINE H0U MANY RECORDS CAN BE PUT IN 256 BYTE BLOCK 
B1 = INT ( 256/D ) 
•"Blocking factor it ";B1 
■"Data input tcrttn Mill look at follows " 
FOR 1*1 TO 500 : 8 i NEXT I 

REN CLEAR SCREEN UITH CONTROL L. SH0U UHAT INPUT SCREEN 
REN UILL LOOK LIKE UHEN PR0GRAN FILEIT IS USED. 
■"" : REN CONTROL L CLEARS SCREEN AND HONES CURSOR 
J-1 
FOR I»1 TO Z 

CURSOR R(I) f C(I) 

K«JHU)-1 

REN DISPLAY ON CRT USER LABELS 

»EKJ,K); 

J«K*1 

■ " "; 

FOR H-1 TO F(I) 

REN SH0U NUNBER OF SPACES ALLOCATED FOR EACH DATA FIELD 

• "*"; 

NEXT N 
NEXT I 
REN STORE AUAY ALL THE INFORMATION ENTERED 
REN RECORD ZERO LENGTHS OF INDIVIDUAL LABELS AND DATA 



FIELDS. FIELDS ARE ASSURED TO DE 2 IN 
LENGTH. LABELS LEN6THS IN P0S 1-120. 
DATA FIELD LEN6THS IN P0S 121-240. 
NUNBER OF LABELS ENTERED POS 241-242. 
BEGINNING LINE FOR CRT DISPLAY POS 243-244 
BL0CKIN6 FACTOR POS 245-246 
TOTAL LEN6TH OF DATA RECORD POS 247-249 



REN 
REN 
REN 
REN 
REN 
REN 
REN 
FOR 1-1 TO Z 

CONVERT L(I) TO C$(»») 

AI(I»2-1 f I»2)»CI 

CONVERT F(I) TO CK8N) 

AK119»I»2,120+I»2)«CI 

NEXT I 
CONVERT Z TO CKNN) 
A!(241,242)-CI 
CONVERT LI TO CKNN) 
AK243,244)»CI 
CONVERT Dl TO CK8N) 
AM245,244>-C! 
CONVERT D TO CKNNN) 
AK247,249)»CI 
PUT (0,E,AI,0) 

REN Dl IS N0U USED TO NULL Al 
AI>DI 

REN STORE ALL LABELS IN RECORDS 1 AND 2. 
FOR 1*1 TO 2 

AIM, 254) -El (I •254-255, 1*256) 

PUT <0,E,AI,I) 

NEXT I 
AI-DI 

REN STORE R0U AND COLUMN ADDRESSES FOR CURSOR POSITIONING 
REN THEY ARE STORED IN RECORD 3. ROUS ARE STORED IN 
REN POS 1-120 (ASSURED TO DE 2 DIGITS EACH). COLUNNS ARE 
REN STORED IN POS 121-240 (ASSUNED TO BE 2 DIGITS EACH). 
FOR 1-1 TO L 

CONVERT R(I) TO CK88) 

AKI*2-1,I*2)»CI 

CONVERT C(I) TO CKNN) 

AK119*I*2,120*I*2)-CI 

NEXT I 
PUT (0,E,AI,3) 
AI-DI 
FOR 1-1 TO L 

CONVERT N(I) TO CK8) 

AKI,I)-CI 

NEXT I 
PUT (0,E,AI,4) s REH THIS STORES NUNERIC FIELD DESIGNATORS 
CLOSE <0,E) 
CURSOR 15,0 
•"End of processing" 
END 



Microcomputing, April 1980 89 



Enter input/output device nunber (0 or 1) 

Enter input screen file nane PERSON 

Enter number of field labels 6 

Enter screen line labels are to begin (0-14) 

Label 1 Data space left is 256 bytes 

*» Nunber of screen lines renaming is 14 ** 

Enter screen label NAME 

Enter data field length 20 

Nuneric data field (Y/N) N 

Label 2 Data space left is 236 bytes 

»♦ Nunber of screen lines retaining is 14 ** 

Enter screen label ADDRESS 

Enter data field length 30 

Nuneric data field (Y/N) N 

Label 3 Data space left is 206 bytes 

** Nunber of screen lines retaining is 13 ** 

Enter screen label SEX 

Enter data field length 1 

Nuneric data field (Y/N) N 

Label 4 Data space left is 205 bytes 

*» Nunber of screen lines regaining is 13 ** 

Enter screen label AGE 

Enter data field length 2 

Nuneric data field (Y/N) Y 

Label 5 Data space left is 203 bytes 

** Nunber of screen lines renaining is 13 ** 

Enter screen label MARITAL STATUS 

Enter data field length 1 

Nuneric data field (Y/N) N 

Label 6 Data space left is 202 bytes 

** Nunber of screen lines retaining is 12 ** 

Enter screen label CHILDREN 

Enter data field length 2 

Nuneric data field (Y/N) Y 

Sample run. 



To demonstrate SCREEN'S 
use, a data entry screen will be 
created from the sample 
personnel file previously 
described. Although not much 
preparatory work is required for 
the present application, in 
other applications, some initial 
time spent in developing label 
names and data field lengths 
may save much more time later. 

You will see in next month's 
follow-up article on FILEIT that 
label names are used quite ex- 
tensively. Therefore, developing 
concise, meaningful labels at 



the outset will carry with it its 
own rewards in the manipula- 
tion of the data base. Making 
sure of data field lengths will 
avoid the disaster of having to 
reformat or, worse yet, reenter 
all records because a data field 
specified was too small to hold 



the information to be entered. 

Normally, to effectively use 
SCREEN, initial preparation re- 
quires setting down the labels to 
be given data fields. The labels 
used in this case are those previ- 
ously defined: NAME, AD- 
DRESS, SEX, AGE, MARITAL 
STATUS and CHILDREN. After 
identifying labels have been de- 
veloped, the amount of record 
space devoted to each data field 
must be determined. In this case 
NAME is assumed to be no long- 
er than 20 characters; AD- 
DRESS, 30 characters; SEX, one 
character; AGE, two characters; 
MARITAL STATUS, one charac- 
ter; and CHILDREN, two charac- 
ters. 

The dialogue between the 
user and the computer is shown 
in the sample run. The process 
shown is representative of steps 
taken to input labels and to de- 
fine data fields in a record. Since 
the process is relatively to the 
point, no further discussion on 
the procedure is necessary. 
However, a summary statement 
of some of SCREEN'S limita- 
tions are in order: 
• CRT lines that are available 
for user display purposes 



NAME xxxxxxxxxxxxxxxxxxxx 
ADDRESS xxxxxxxxxxxxxxxxxxx 
MARITAL STATUS x CHILDREN 



xxxxxxxxxxx SEX x AGE xx 
xx 



Fig. 2. 



are lines (0-14). Line 15 of 
the CRT is used for 
messages to the user. 

• Number of label and data 
fields is limited to 30. 

• A label and its associated 
data fields cannot be longer 
than 63. 

A sample of SCREEN'S out- 
put is shown in Fig. 2. The small 
x's following each label repre- 
sent the amount of space the 
user has allotted to each data 
field. These x's will also be used 
in the FILEIT program to remind 
the user of the data field's 
length. 

Before closing, I should men- 
tion one final aspect of SCREEN 
that relates to the blocking of 
records.* SCREEN automatical- 
ly calculates the number of rec- 
ords that can be grouped to- 
gether to fill a 256 byte block. 

As a result, if the user's rec- 
ords are only 64 bytes in length, 
SCREEN will generate a block- 
ing factor of four. That means 
four records will be input or out- 
put to the mass storage device 
with each read or write. The 
blocking factor will be used by 
the FILEIT program as part of 
the data base creation and 
maintenance process. ■ 



*See "Data-File Creation Pro- 
gram," Microcomputing, July 
1979, p. 44. 






cio SHORT 

CASSETTES 



A] 



DATA MBk I I M 


P mi 


NKnoacn nt+im— s. 


*«.Cal MMt 


-. m • 





50 FT. 



Qty. Price 

1 $1.00 

10 $0.75 

50 $0.65 



Premium tape and cassettes acclaimed 
by thousands of repeat order microcom- 
puter users. Price includes labels, cas- 
sette box and shipping in U.S.A. VISA 
and M/C orders accepted. California 
residents add sales tax. Phone (415) 
968-1604. 



MICROSETTE CO. 

475 Ellis Street 
Mt. View, CA 94043 



^123 



CASSETTE 
DUPLICATION 



TRS-80 (I & II), PET, APPLE, KIM, ATARI 

Quality software duplication is more 
than copying cassettes. Microsette du- 
plication uses a proprietary high speed 
duplicator designed specifically for 
computer program duplication. The fin- 
ished products are of consistent quality, 
guaranteed to load. Minimum order is 
100 with discounts for higher quanti- 
ties. Call (415) 968-1604 for details. 




MICROSETTE CO. 

475 Ellis Street 
Mt. View, CA 94043 



^124 



TRS-80 

SAVE fl BUMDLE 

When you buy your 
TRS 80™ equipment! 

Isc our (oil free number to 

check our price before you buy 

a TRS-flO™ . . . anywhere! 

full RadtoShack warranty 



\*fif:]\ — 



SALES COMPANY 

PO BOX 8098 PENSACOLA, FL 32505 

FLORIDA 904/438 6507 

nationwide 1 800 874 1551 






90 Microcomputing, April 1980 




Complete f inancials 

from the complete 

computer company. 



From the STRUCTURED SYSTEMS GROUP: the 
following programs from require CP/M™ and 
CBASIC. Select a specific area to computerize 
while building a totally interactive system written 
in compiled Basic. 

GENERAL LEDGER — Interactive and flexible sys- 
tem providing proof and report outputs. 

ACCOUNTS RECEIVABLE — Open item System 
with output for internal aged reports and cus- 
tomer-oriented statement and billing purposes. 

ACCOUNTS PAYABLE — This System provides 
complete information necessary for management 
information in the form of Aged Trial Balance, 
Cash Flow Analysis, Pre-check Reports and the 
Check Register. 

INVENTORY — The System provides businesses 
with up-to-date and accurate information on the 
quantity value, and activity of their inventory 
items. 

CP/M VERSION 2.0 — Complete with assembler, 
text editor, debugger and various utilities plus full 
documentation . 

CBASIC-2 — Disk Extended BASIC Non-Interactive 
BASIC with pseudo-code compiler and runtime 
interpreter. 



From DIMENSION DELTA — Fill your specific 
needs by selecting any combination of the five 
packages available or select a fully integrated sys- 
tem consisting of all five. Accounts Receivable, 
Accounts Payable and Payroll automatically pro- 
vide input to the General Ledger. In addition, each 
of the five packages is capable of operating inde- 
pendently. Flexible design accommodates most 
companies without expensive custom modifica- 
tions. 

GENERAL LEDGER —Timely, accurate and well 
organized financial information keeps the user in 
full control of his business. 

ACCOUNTS RECEIVABLE — Converting excess 
receivables to cash while maintaining good cus- 
tomer relations is the goal of this system. 

ACCOUNTS PAYABLE — The System forecasts 
cash requirements based on discount dates or due 
dates and ages past due receivables. 

PAYROLL — Departmental totals each pay period 
and monthly summaries of earnings and deduc- 
tions help management control personnel costs. 

INVENTORY — The System maintains detailed 
information on each inventory item including the 
part number, description, unit of measure, vendor 
and reorder data, item activity, and complete 
information on current item costs, pricing, and 
sales. 



To order by phone or for local dealer information call: 713/661-2005 
Texas residents add 6% sales tax • MasterCharge • Visa 

HOUSTON MICROCOMPUTER TECHNOLOGIES, INC 

Home and Business Computer Specialists 
5313 BISSONNET • BELLAIRE • TEXAS -77401 • 713/661-2005 



^33 



Fast Apple Peripherals 



How to interface high-speed serial printers to the Apple II microcomputer. 




Bruce S. Chamberlain 
917 Del mas Ave. 
San Jose CA 95125 



Modified Communications Interface Card with all adapters in- 
stalled. 




The three adapters. 



When I got my Apple II, 
I wanted to use it for word 
processing, among other things, 
so I needed a printer. I picked 
the Heathkit H14 printer 
because it printed upper and 
lowercase letters, was fast and 
inexpensive ($645, kit). There 
was one catch. It had an RS-232 
interface and needed hand- 
shaking to run at 4800 baud full 
speed. 

Handshaking allows the Ap- 
ple and the printer to send con- 
trol signals to each other. Unfor- 
tunately, Apple does not make a 
serial card with handshaking. 
All is not lost, however. With 
slight modification, you can add 
handshaking to Apple's Com- 
munication Card or High-Speed 
Serial Interface Card. 

Board Modification 

Since I wanted handshaking 
to be in hardware, I used the Ap- 
ple Communications Interface 
Card. The communications card 
has a UART, the 6850 ACIA, 
which controls the transmission 
of characters. To modify the 
communications card, you con- 
nect the clear-to-send line of the 
6850 (pin 24) to the busy signal 
of the printer. 

The clear-to-send line is ac- 



tive low, and the printer busy 
signal is active high. By active, I 
mean true, i.e., if the signal is 
high, the printer is busy and it is 
not clear to send. All that is 
needed to connect them to- 
gether is a non-inverting buffer 
to handle the differing voltage 
levels. Since I was receiving 
nothing from the printer, I used 
the receive buffer. 

However, the 2N3904 tran- 
sistor, which forms the receive 
buffer, inverted the signal, so I 
changed it to a 2N3906 with its 
collector to ground (Fig. 1). 
Thus, when the printer busy 
signal goes high, signaling that 
the printer buffer is full, the tran- 
sistor is turned off, and the 
clear-to-send pin goes high 
stopping output of characters to 
the printer. The printer has a 256 
character buffer, which stores 
the characters it receives until 
they can be printed. 

By using two adapters, I did 
not have to cut any traces on the 
card. The first adapter is a 24-pin 
socket and a 24-pin platform 

soldered together with pin 2 of 
the platform connected to pin 24 
of the socket, and pin 2 of the 
socket connected to pin 24 of 
the platform. All the other pins 
are soldered to the correspond- 
ing number, for example, plat- 
form pin 1 to socket pin 1 and 
platform pin 3 to socket pin 3 
(Fig. 2). 

The second adapter is a male 
25-pin "D" connector connected 
to a female 25-pin "D" connector 
with pins 7 connected to each 



92 Microcomputing, April 1980 



other, pin 2 of the male con- 
nector to pin 3 of the female con- 
nector and pin 3 of the male con- 
nector to pin 4 of the female con- 
nector (Fig. 3). 

This gave me handshaking 
but with only a transmission 
rate of 300 baud, which is the 
stock transmission rate of the 
communications card. Fig. 4 
shows how to rewire the 
counters to get a transmission 
rate of 4800 baud. Use another 
adapter consisting of two 16-pin 
platforms and a 16-pin socket. 
Solder the socket on one of the 
platforms with pins 5, 6 and 8 to 
pin 8 of the platform. Wires from 
pins 15 and 11 are soldered to 
pins 15 and 11, respectively, of 
the second platform. 

All other pins of the socket 
are soldered to their respective 
platform pins. Place the platform 
and socket assembly in socket 
A2 of the communications card 
and the platform in socket A1. 
Replace the 74C161 in A2 and 
save the other 74C161 for some 
other project. This gives a trans- 
mission rate of 4800 baud. 

After plugging the modified 
board into my Apple I/O slot #2 
and attaching the printer, I tried 
it out. It worked the first time. 

Software Modification 

With the help of Danny 
Lambert, who sold me the Text 
Editor for my Apple, I modified 
the Text Editor to work with the 
communications card. It had 
been written to work with the 
Parallel Printer Card. Now I have 
a word-processing system. It 
has spoiled me. 

(Note: The communications 
card does not output a line feed 
after each carriage return. The 
H14 printer has an automatic 
line-feed option, which can be 
selected by flipping a switch in 
the phnter. Without this switch 
it would print on the same line 
over and over again. Fortunate- 
ly, the Text Editor supplies all of 
the control characters for print- 
ing. Listing a program works 
fine, but any program that uses 
the tab feature in the output will 
not work. The communications 
card has no tab-handling 
routine.) 

Apple's Communications 
Interface Card Manual has a ma- 
chine-language print routine 




written by Wendell Sanders. 
After typing it into the Apple and 
correcting two spots where I 
had typed "B" instead of "8," it 
ran fine. Now I had line feeds 
and TABS, but I wanted to list 
my programs the same way the 
word processor outputs text— a 



My Apple II system. 

page at a time, with my choice of 
how many lines per page. 

Studying the listing for the 
print routine, I tried to figure out 
how it worked. I understood very 
little. Most of the lines referred 
to various locations the Apple 
monitor uses to store informa- 









♦ 5V 


6850 
ACIA 


CTS 


24 




. R8 
! 3K 


Bl 






$ 



2N3906 



R9 
3K 

■wv- 



■<Z3 PIN 4 



I 



CRI 
IN4I48 



Fig. 1. Transistor modification. 



2 
3 
4 
5 
6 
7 
8 
9 

IO 

I I 



24 PIN PLATFORM 


24 
23 


\" 




"^ \ 








22 


^\\~ 


1 24 

2 23 




21 




3 22 

4 24 PIN 2I 




20 




5 SOCKET 20 

6 19 




19 




7 18 
6 17 








16 


— ^^^z 


9 16 

10 15 




17 


^ — /*^s — 


II 14 






' s^//~ 


12 13 




16 


~// 






15 


/ x^ - 


14 


s v_ 


13 



tion to run the system. 

Finally, I zeroed in on two 
lines near the end, labeled "20 
msec delay after line feed." I did 
not need this since I had hand- 
shaking that stopped the output 
when the print buffer was al- 
most full. This was the ideal lo- 
cation to count the number of 
lines and output a form feed 
when it had counted a certain 
number of lines. I removed these 
two lines and inserted a jump to 
a subroutine, which counted 
lines and output a form feed 
after 24 lines had been printed. 

I ran it, and it worked fine. I 
could now tear apart the sheets 
without having the top half of a 
line on one sheet and the bot- 
tom half of the line on the other 
sheet. But I still could not punch 
them and put them in a ring 
binder, because I had no left 
margin. I added a small loop to 



MALE 

25 PIN 

"D" CONNECTOR 



FEMALE 
25 PIN 



7 7 



APPLE 



PRINTER 



Fig. 2. Pin configurations. 



Fig. 3. Computer to printer pin- 
outs. 

Microcomputing, April 1980 93 




■H 



A B C 

1 88888888: :88888888: '88888' 



•EypffiErffi'yM 



mm 



88888888^88888888^88888888: ;88888888^88888888; :888888^ 
2 88888888^ 1 88888888: :88888888: : 88888888^88888888 ^8888 - 



888888881 i 88888888: t88888888:\ 88888888: :88888888:, 88888888 
3 88888888: : 88888888, .88888888, .88888888 88888888 : ;8888 



88888888^:88888888: i 88888888::88888888^88888888 
188888888L .88888888: : 88888888^"' 




88888888: ; 88888888^:8888888* 

eoooocooooooooooooooooooooooooocoooujj 
00000000 ^ r-v-*««vw«*nf-v oooooooooooooooocto 



:; mmm 



oocooooo 



?sx*a ooriputof int. 



oooooooooooooooooo 



IIIIIIIIIIIIH 




Component side of 256 byte RAM card. 



Wire-wrap side of 256 byte RAM card. 



the subroutine that output ten 
blanks before each line was 
printed. I used the program to 
output a disassembler listing of 
itself. This time I could tear 
apart the pages of the listing, 
punch them and put them in a 
ring binder. 



When I tried to load a program 
from the disk, so I could print a 
listing of it, I discovered that the 
DOS (disk operating system) 
had disappeared. John Crossly 
and Randy Peterson, the two 
men who man Apple's hot line, 
(408) 996-9868, told me that I 



A2 



Al 



16 PIN PLATFORM 




1 


16 


2 


15 


3 


14 


4 


13 


5 


12 


6 


II 


7 


10 


8 


9 




16 PIN PLATFORM 



Fig. 4. Rewiring the counters for speed. 



15 
14 
13 
12 
II 
10 



DO 
<ZM9 




I/O SELECT 
Ol 



R/W 
<CD'8 



Fig. 5. Building a RAM board. 



could only use 300 to 3CF hex 
for the program, as Applesoft 
and DOS used 3D0 to 3FF hex 
for storage of pointers. This fact 
is not mentioned in the Apple 
manuals that I have. 

I shortened the program as 
much as I could but could not 
get it short enough. I did get it 
short enough so it did not 
destroy the DOS pointers, but 
not enough to save the Apple- 
Soft ones. I could load programs 
but could not list the Applesoft 
ones. 

I decided to try and remove 
the part that gives me TABS, 
since I did not need them for 
listing. After some trial and er- 
ror, I was able to shorten the pro- 
gram to CF bytes. Now I could 
print listings of assembly lan- 
guage, Integer BASIC and 
Applesoft programs, which 
could be torn apart, punched 
and put in a ring binder. 

All of this assembly-language 
rewriting was a chore. Looking 
for an easier way to write 
assembly language, I got a disk- 
based Editor/Assembler. This 
made assembly-language pro- 
gramming a breeze. There was 
one catch. It would not print out 
listings; the print routine would 
not work with it. 

To run the print routine, it was 
necessary to start it from out- 
side the Assembler/Editor, since 
the Assembler/Editor has no 
command to start a program. 
Then when I ran the Assem- 
bler/Editor, it changed the out- 
put pointers the print routine 
had set. To run the Assem- 
bler/Editor, you had to shut off 
the printer. 

S could get a listing by using 
PR#2, which is a valid command 



in the Assembler/Editor. But 
since the communications card 
did not provide TABS, the listing 
was hard to read. 

Communications Card Driver 

All of this experimenting was 
teaching me more about how 
the Apple works. I decided to try 
and write a complete program 
that would replace the firmware 
on the communications card. 

First, so I could call the pro- 
gram with a PR# command, I 
built a 256 byte RAM board. 
Since the Apple does address 
decoding for 256 bytes of mem- 
ory at each peripheral I/O slot, I 
just put two 2112 RAM chips on 
a hobby card. The 2112 is a 256 
by 4 static RAM IC. Two of them 
give 256 bytes of RAM. I did not 
need to use any buffers. I merely 
attached the address and data 
pins of the ICs to the appro- 
priate hobby-card pins. 

The chip select pin (CS) was 
hooked to I/O select, which goes 
low when CNXX is addressed, 
"N" being the slot number. The 
read/write pins of the RAM were 
attached to the hobby card 
read/write pin (Fig. 5). Putting 
the card in slot #4 and using the 
programmers aid ROM, I ran the 
test to check memory at loca- 
tions C400 to C4FF and found 
no errors. 

Using the Assembler/Editor to 
write the program and assem- 
bling it in my custom RAM 
space, I finally came up with a 
version that worked with the 
Assembler/Editor. See Listing 1. 

The comments in the listing 
explain how it works. The middle 
part, lines 59 to 97, are from 
Wendell Sanders' print routine 
shown in Apple's Communica- 



94 Microcomputing, April 1980 










f 



* & jf 












if ^ 



tf 



* Personal Checks 
' Payables Checks 

* Payroll Checks 

* Combination Checks 

* Statements 

* Invoices 

* Small Minimum Orders 

* Fast Delivery 

Checks 



Go 



^58 



^ T c? 



* Registered Trademark of Tandy Corp. 



** Registered Trademark of Retail Sciences, Inc. 



8384 Hercules St., La Mesa, CA 92041, (714) 460-4975 



DATANETICS 
KEYBOARD " 





Has 75 keys / 
including up- %& 
per- lower 

case letters, standard numbers and symbols, pius 
separate ten key numerical set. ASCII encoded using 
7400. 7404, 2/7408, 7410, 7432, 2/7493, NE556. 
and EA20106. +5 and -12 VDC required. Keyboard 
assembled. Metal enclosure unassembled with beige 
top, unpainted sides, brackets, rubber feet, 5' cable 
with PCB connector, and 16-pin dip plug. Pinout info. 

included. 20x7Vax2V*", 10 lbs. sh., NEW. $89.95 
IC'S — guaranteed no rejects; qty. limited. 



C8008-1 CPU $10.95 

8080A CPU 6.95 

P8085CPU 16.95 

8205 decoder 2.75 

8212 8-bit I/O 2.50 
2102 RAM $1.40 4/$4. 
2111 RAM 
2114 RAM 



3.60 4/S13 
5.95 4/521. 



2716EPR0M5v $27.00 
MC14411 b-gen. 9.95 
3341 FIFO $5.95 4/521. 

AY5-1013UART 4.50 
2N3055 NPN trans. .60 
TIP2955 PNP .80 

MPSA14NPNdarl. 5/51. 
2N6346unijunc .90 

2708 EPROM erased-tested. 56.50 4/522. 

ROTRON SPRITE FAN, 3 1/8x3 i/8x 

1-5/8. 115VAC,#SU2A3. NEW $12.95 

$5.00 Minimum Order — Prices FOB. Lima. 0. 
Allow for shipping — We accept VISA or Mastercharge 

Ask for our 36 page FREE CATALOG. • Oept. K 
Electronic Surplus Since 1947 Phone 419/227-6573 



1016 E. EUREKA • Box 1105 • LIMA, OHIO • 45802 



introducing... 



MAYDAY 



TM 




The Uninterruptable Power Supply that.... 

• Prevents loss of memory when power "blackouts" occur. 

• Prevents loss of memory or disk I/O errors when "brownouts" occur. 

• Provides time to continue operating complete system with disk drives 

to finish operations or store information. 

• Will handle most mini/micro computers with power consumption up to 

250 watts. 

• Designed and developed using complete TRS-80 System. 

Protect your Time and Investment 

For price list and detailed specifications, contact your nearest Sun-Technology 
distributor or call direct to: 

w 



tfun - tyecAncwffl , ^nc. 



^152 



Box 210 



New Durham, New Hampshire 03855 (603) 859-7110 

(Manufacturing high technology products since 1970) 



LLI 

< 




O 

CO 

Q. 

CD 



FOR OHIO 
SCIENTIFIC USERS 

BPSORT 



MACHINE CODE for high-speed 
sorting 

BASIC language program for 
establishing sort parameters 

Files of any length can be 
sorted 

Floppies and hard disks are 
supported 

Up to five keys can be specified 

Ascending and descend- 
ing keys are processed 
simultaneously 

Header records can be skipped if 
present 

Reouires OS-65U 






BPSORT $124.00 

EASY TO USE AND EXTREMELY 
FAST. A FILE OF TWENTY- 
THOUSAND BYTES CAN BE 
SORTED IN LESS THAN 10 
SECONDS. 

Order C.O.D. Master Charge or 
Visa from 

BPS 

322 West 57th Street 
New York, NY 10019 
Telephone: 212-765-0815 




^168 



^Reader Service — see page 257 



Microcomputing, April 1980 95 





tions Interface Card Manual. hot line. 


but what if you bought one? 


would be extremely difficult, 




Comments on this part of the 1 prefer the communications 


Even an experienced program- 


since 1 have no source listing. 




program can be found in the card with hardware hand- 


mer would need time to figure 


In conclusion, 1 am happy 




listing of the routine in Apple's shaking. Programs that output 


out the program so the hand- 


with my system. 1 have a ver- 




manual. print, which usually contain for- 


shaking software could be add- 


satile word-processing system, 




matting commands, will work 


ed. Therefore, 1 recommend us- 


which only costs $4000. In addi- ^H 




Wrap-up W j tn t ne communications card 


ing the communications card. 


tion, 1 have all the other features 




Apple's High-Speed Serial In- without modification. If you use 


1 now have a new Text Editor, 


the Apple II offers. While this 




terface Card can be modified for the serial card, you will have to 


which 1 used to write this article. 


modification has proven satis- 




handshaking. Just change two add the handshaking software 


It works fine with my setup. If 1 


factory to me, 1 must warn you 




wires and use a short program to each program. 


had the serial card setup, 1 


that any modification to Apple's 




to detect when the printer is This wouldn't be too much 


would have had to modify the 


products voids the accompany- 




busy. For details, call Apple's trouble if you wrote the program, 


program for handshaking. This 


ing warranties. ■ 






Listing 1. Communications Card Driver. 


C44D: 3D 25 C4 SO 
C450: A9 SR 81 

C452: 20 6E C4 82 


STR COLCNT 
LDR #*3R 
JSR DOCHRR 








000: l 4 *** r I****************** + + + + + + +. 


C455: 83 * 










OO0O: 2 * * 


C455: 84 * JUMP TO SUBROUTINE RFTER ERCH LINE 








803G* 3 + : COMMUNICATIONS CARD * 


C455: 35 * 










0000S 4 • ■*■■ 


C435: 20 7B C4 36 


JSR LINE 








0000: 5 • DRIUER * 


C453: R3 00 37 FINISH 


LDR a to 








0000: 6 • +: 


C45R: 35 24 88 


STR CH 








0000: 7 • BRUCE S. CHRNBERLRIN * 


C45C: RD 25 C4 89 F INI SHI 


LDR COLCNT 








0000: 3 * * 


C45F: FO 09 90 


BEQ SETCH 








0000: 9 ***** • * 4 i + t *** ff+ft-tt + *+++++ff 


C461: ED 24 C4 91 


SBC CWIDTH 








C-400: 10 0RG *C400 


C464: E3 F7 92 


SBC #*F7 








C400: 1 1 OBJ £6008 


C466: 90 04 93 


BCC RETURN 








C400: 12 CH EQU *24 


C468: 63 IF 34 


ADC tt-T IF 








C40u: 13 STATUS EQU tCOFE 


C46A1 85 24 95 SETCH 


STR CH 








C400J 14 STRT EQU $7F8 


C46C: 63 96 RETURN 


PLR 








C400: 15 DRTR EQU *COFF 


C46D: 60 97 


RTS 








C4O0: 16 MARGIN EQU *OA 

C40Q: 17 LINE1 EQU *l9 


C46E: 98 * 










C46E: 99 * CHARA 


ITER OUTPUT ROUTINE 








C400: 13 i 


:0UT1 EQU *FDF0 


C46E: 1O0 • 










C400: 19 : 


K 


C46E: 43 101 DOCHRR 


PHR 








C400: 2u 


» ZERO COUNTERS 


C46F: RD FE CO 102 SEROUT 


LDA STATUS 








C400: 21 : 


» 


C472: 29 02 103 


AND i*2 








C400: A9 00 22 LDR #£00 


C474: 104 * 










C402J 3D 26 C4 23 STR LINECO 


C474: 105 * WAITS 


FOR CLEAR-TO-SEND 








C405: 80 27 C4 24 STR MARCO 


C474: 106 * 










C403: 3D 25 C4 25 STR COLCNT 


C474: FO F9 107 


BEQ SEROUT 








C40E'.: 26 * 


C476: 68 108 


PLR 








C40B: 27 * INITIRLIZE RCIR 


C477: 109 • 










C40B: 23 * 


C477: 110 * OUTPUTS CHARAC1 








C40B: R9 03 29 LDR M$Z 


C477: 111 * 










C40D: 3D FE CC 30 STR STATUS 


C477: 3D FF CO 112 


STR DRTR 


1 






C410: R9 11 31 LDR #$11 


C47R: 60 113 


RTS 








C412: 3D FE CO 32 STR STATUS 


C47B: 114 * 




1 






C415: 33 ■ 


♦•: 


C47B: 115 * LINE 


COUNT ROUTINE 








C415: 34 ■ 


* SET COLUMN WIDTH 


C47B: 116 r 










C415: 35 i 


T 


C47B: EE 26 C 4 117 LINE 


INC LINECO 








C415: R9 23 36 LDR #*28 


C47E: 43 118 


PHR 








C417: 3D 24 C4 37 STR CWIDTH 


C47F: OS 119 


PHP 








C41R: 38 : 


I 


C480: AD 26- C4 120 


LDR LINECO 








C41R: 39 


* SET OUTPUT POINTER 


C433: 121 +■ 










C41R: 40 


* 


C483: 122 * CHECK 


S FOR 24 LINES 








C41R: A9 28 41 LDR #TTOUT 


C433: 123 * 










C41C: 35 36 42 STR $36 


C4S3: €■? 18 124 


CMP #LINE1 








C41E: A9 C4 43 LDR #TT0UT'256 


C485: 123 * 










C420: 3D F3 07 44 STR STRT 


C485: 126 * BRRNC 


H IF NOT 24 LINES 








C423: 45 


f 


C435: 127 * 










C423: 46 


* RETURN TO CALLER 


C485: DO OR 128 


BNE NOFORM 








C423: 47 < 


t 


C487: 129 * 










C423: 60 43 RTS1 RTS 


C437: 130 * RESET 


S LINE COUNTER 








C424: 43 • 


C437: 131 * 










C424: 50 * COUNTERS 6 COLUMN WIDTH 


C437: R9 00 132 


LDR #*oe 








C424: 51 • 


C489: 3D 26 C4 133 


STR LINECO 








C424: FF 52 CWIDTH DFB $FF 


C48C: 134 * 










C425: FF ZZ COLCNT DFB *FF 


C43C: 135 * OUTPUTS FORM ID 








C426* FF 54 LINECO DFB *FF 


C43C: 136 * 










C427: FF 55 MARCO DFB *FF 


C43C: R9 8C 137 


LDR #*8C 








C428: 56 : 


l 


C43E: 20 3E C4 138 


JSR DOCHRR 








C423: 57 


* CHARACTER ENTRV POINT 


C491: 139 * 










C423: 53 


+ 


C491: 140 * Id SPACE MARGIN ROUTINE 








C42S: 43 59 TTOUT PHR 


C491: 141 * 










C429: 43 30 PHR 


C491: R9 RO 142 NOFORM 


LDR #*R0 








C42A: RD 25 C4 61 TT0UT2 LDA COLCNT 


C493: 20 6E C4 143 


JSR DOCHRR 








C42D: C5 24 62 CMP CH 


C496: EE 27 C4 144 


INC MARCO 








C42F: 68 63 PLR 


" J 9: RD 27 C4 145 


LDR MARCO 








C430: BO 03 64 BCS TEST 


C49C: 146 i 










C432: 43 65 PHR 


C49C: 147 • CHECf 


. FOP 10 SPACES 








C433: A9 A0 66 LDR **R0 


C49C:: 143 • 










C435: 2C 23 C4 37 TEST BIT RTS1 


C49C ' C9 OR 149 


CMP #MARGIN 








C438: FO 03 63 BEQ PR I NT IT 


C49E: 150 * 










C43A: EE 25 C4 69 INC COLCNT 


C49E: 151 + BRRNC 


H IF NOT 10 SPACES 








C43D: 08 70 PR I NT IT PHP 


C49E: 152 * 










C43E: 20 3E C4 71 JSR DOCHRR 


C49E: DO Fl 153 


BNE NOFORM 








C441: 23 72 PLP 


C4A0: 154 » 










C442: 68 73 PLR 


C4A0: 155 t RESET 


S MARGIN COUNTER 








C443: 43 74 PHR 


C4A0: 156 * 










C444: 90 E4 75 BCC TT0UT2 


C4A0: fi'? 00 157 


LDR #$00 








C446I E6 24 76 INC CH 


C4A2: 3D 27 C4 153 


STR MARCO 








C448: 43 0D 77 EOR #*0D 


C4A5: 23 159 


PLP 








C44R: OR 73 RSL R 


C4A6: 33 160 


PLR 








C44B: DO 06 73 BNE FINISH 


C4A7: 60 161 


RTS 






96 Microcomputing, April 1980 



$<59.95 

OSBORNE 

BUSINESS 

SOFTWARE 



General Ledger 


— $ 59.95 


Accounts Payable G 
Accounts Receivable 


it M 


Payroll & Job Cost 


H M 


All Three — Complete 


— $159.95 



format- 8 single density CP/M diskette 

requires CP/M & CBASIC - 2 

manuals - $20. each 



VAN DATA 



^ 113 



17541 stone avenue n. • seaf tie. Washington 96100 

(206) 542-8370 



For Business Systems Software 

Programmers Only!! 

Machine Language 

ISAM 

FOR 

TRS-80* Models I and II 

ACCESS TIME Vi SECOND!! 

This machine language ISAM ROUTINE provides file access 
sophistication required to implement complex business soft- 
ware, and is completely compatible with TRS-80* BASIC. 

Specifications: based on 1000 record file, key length of 6, 
data length of 64 

Access time of Vi second 

Best add/delete time of 1 second 

Average add/delete time of 2 seconds 

Worst case add/delete time of 5 seconds 

Keys up to 25 characters 

Data up to 255 

Provides next highest key upon each file access. 

Preset range of allowable key values, set upon file creation 

up to 4 files held open concurrently. 

No special utilities needed to "Reclaim" used record space. 

Model I Routine occupies 5 K of user space (loads at top of 

user memory) 

Model II Routine occupies 6 K of user space (loads at top of 

user memory) 

EOF, file full, empty, key not found, INVALID key value 

and all TRS IK)S* error codes supported. 

TRS-80 Model I (32 K + 48 K only) $160.00 
TRS-80 Model II (64 K only) $170.00 

Includes: All necessary documentation, file creation pro- 
gram, file inspection program, machine language ISAM 
routine and loader. 

SYSTEMS SPECIALISTS 
415 MILLBURY STREET 
WORCESTER, MA 01607 
►"171 (617)755-8134 

•TRS-80 and TRSDOS are trademarks of Tandy 
Corporation, which has no relation to RCR Inc. . 




HOME CONTROL SYSTEM 




Remote control through your existing house wiring Control 
lights and appliances with your BASIC programs Schedule 
the coffee pot. TV. radio, wake-up lighting, bathroom 
heater, porch lights, etc. with the ease of a carefully 
thought out scheduler program Our ultrasonic transmitter 
connects with your AUX plug, and allows your computer 
to control the increasingly popular, high quality. BSR X-10 
control system, made by BSR (USA) LTD. Our system 
contains everything your computer needs to control up 
to 16 of the switch models listed below. Try the system 
for 14 days and. if not completely satisfied, return it 
undamaged for a prompt refund 

HC-PTR2 System includes the BSR Ultrasonic Command 
Console, our transmitter, relocatable machine language 
handler. BASIC demo program, and user manual. Also 
the Timing and Schedule program, which gives a screen 
display of day. date, and time in large characters and 
a system for easily setting up and updating a large 
schedule of repeating ana special switching events. 
Provisions are included for fast save and reload of 
the schedule 





Requires 16K Level II S149.00 

BSR Appliance Module. Lamp Module, or Wall 
Switch each $14 95 

Buzzer Alarm — for a programmable alarm 
clock' Plugs into Appliance Module, operates 
on house current $14.95 

All software is on cassette Deduct S30 if you already nave 
the Ultrasonic Command Console If the transmitter 
malfunctions within 90 days of purchase, mail it to us and 
we will repair it free of charge, unless abuse is apparent 
Thereafter an S8 flat fee must be included The fee may be 
changed without notice BSR equipment is provided with a 
one year limited warranty by BSR (USA) LTD 

Arizona residents add 5% for tax 

Foreign orders add 10%. 



SEND CHECK OR MONEY ORDER TO: 

SOFTRONICS COMPUTER SERVICES 

P.O. BOX 1465 • MESA, ARIZONA 85201 ^ 60 

*TRS-80 is a trademark of Tandy Corporation 




HOME FINANCE PROGRAM, The most 
complete and concise home budgeting 
program for the Apple II. Simply laid out 
and easy to use. 

• 1 75 entries/twelve catagories per 
month or year. 

• Month-to-date, year-to-date 
summaries. 

• Classifies tax deductible 
expenditures. 

• Balances and reconciles checkbook, 
etc. 

A household necessity! Includes 30 page 
manual. PRICE; $39.95 

OMNIBUS BANKING & FINANCIAL PAK. A 
program designed to aid businesses and 
consumers In long or short range finan- 
cial planning. 

• Examines investments, savings and 
annuities,- mortgages and loans,- 
depreciation and amortization 
schedules and much more. 

A must for the capital conscious person! 
PRICE: $59.95 

APPLE II TEXT PROCESSING SYSTEM, A true 
text editor and assembler. Create and 
edit integer, Applesoft* and Assembly 
language programs! 

• Cumbersome line numbers are no 
longer needed. 

• Basic programs can be converted 
into text files, edited, then converted 
back. 

• Uses all 56 standard 6502 opcode 
mnemonics, plus 6 additional pseudo 
opcodes. 

Includes 43 page manual. 
PRICE: $55.QO 

GAME DISK 

TRY YOUR LUCK! Slots, roulette, craps and 
blackjack. (All odds listed). 

DIET, Individually charts a total weight loss 
program and schedule. 

BIORHYTHM, Separate critical day listing 
with graph. 

LONGEVITY, Based on medical statistics. 
How long will you live? Uncanny! 

Requires Applesoft. PRICE: $39.95 



*Apple II and Applesoft are trademarks 
of Apple Computers Inc 



A MC/VISA 



^61 



ninital 267 ° Cherry Lane 

my IICII ^ Walnut Creek, CA 94596 

iViarketing (415) 938-2880 

^— Dealer inquires welcomed — — — — 



^Reader Service — see page 257 



Microcomputing, April 1980 97 



$10 Classy Chassis 



A metal frame for your micro can be 

Make your own 



one of its most expensive components, 
and save a bundle. 




John Gledhill 

678 Washington Ave., #4 

Yuba City CA 95991 



Face it. Computers built on 
wooden blocks are shabby; 
and commercial cabinets are ex- 
pensive, even though they are 
rarely just the right size. Here's a 
chassis that's ideal for that 
home-brew computer or periph- 
eral you've been thinking about. 
It's basically a box framework 
made of 1 x 1/16 inch aluminum 
angle and pop rivets, available 
at any hardware store. Tools re- 
quired are hacksaw (or coping 
saw), Vs inch drill and pop rivet- 



er. The aluminum is easy to cut 
and drill, and assembly is sim- 
ple. The finished product is a 
strong, lightweight, profession- 
al-quality chassis that does jus- 
tice to the time and effort need- 
ed to build a computer. 

Eight identical corners make 
up the box, as shown in the 
photographs. Twenty-four pop 
rivets and ten feet or more 
(depending on dimensions) of 
aluminum angle are all you'll 
need. It will cost about $10. ■ 





My chassis is 16 x 6x 7 inches. It has some extra members for mounting 22-fjin dual-edge connectors and a power supply. Make sure to 
provide" room for future expansion! # ** ,. 






«~ 



98 Microcomputing, April 1980 



URGENT 

Deadline May 7, 1980 

MAIL NOW 



NO POSTAGE 

NECESSARY 

IF MAILED 

IN THE 

UNITED STATES 



BUSINESS REPLY MAIL 

FIRST CLASS PERMIT NO. 105 TITUSVILLE, FLORIDA 32780 




POSTAGE WILL BE PAID BY ADDRESSEE 





camPUTBR shiawsR 

P.O. Box F15 
Titusville, Florida 32780 




LIST OF CATEGORIES 

COMPUTERS 

133 Borroughs Systems 

Data General Systems 

Data General Software Peripheral 

Datapomt Systems 

Datapoint Software, Peripheral 

DEC Systems For Sale 

DEC Systems Wanted 

DEC Software, peripheral 

IBM Systems For Sale 

IBM Systems Wanted 

IBM Software Peripheral 

NCR Systems 

NCR Software peripheral 

Mies (Hardware & Software) 
MICRO COMPUTERS 
106 Apple Computers For Sale 

Apple Computers Wanted 

Apple. Software Peripheral 

Northstar Computers 

Northstar Software Peripheral 

Ohio Scientific 

Ohio Scientific Software Peripheral 

PET Computers 

PET Software Peripheral 

TRS 80 Computers For Sale 

TRS 80 Computers Wanted 

TRS-80 Software Peripheral 

Misc Microcomputers 

Misc Micro. Software & Peripheral 

S 100 Compatible Peripheral 
PERIPHERAL & MISC EOUIPMENT 
170 Card Readers 

Disk Drives 

Printers 

Punched Card Equipment 

Tape Drives 

CTR s 

Terminals 

Memory 

Modems 

Mies Eauipmenl 

Misc Large Systems 

Misc Software 

Misc Accessories & Supplies 

EMPLOYMENT 

19b Help Wanted 

198 Positions Wanted 

199 Olher 



136 
138 
142 
144 
148 
149 
150 
154 
155 
156 
160 
162 
166 



107 
108 
112 
114 
117 
119 
122 
124 
101 
102 
103 
126 
128 
130 



172 
174 
176 
178 
180 
182 
184 
186 
188 
190 
192 
194 



FREE AD -FREE ISSUE 

You may run your first classified ad FREE under NO obligation and receive a 
FREE issue too. Later you'll receive an invoice for a half price, $5 subscription, 
12 issues/year. If you are not 100% satisfied with COMPUTER SHOPPER just 
write cancel on the invoice and the issues will stop coming, BUT you still keep 
that first issue as a free gift. 

Print clearly or type your ad in the space below. 

If you need additional space use a separate piece of paper and enclose it with 

this card in an envelope. 

If you don't have an ad to send at this time, write in space below: SEND FREE 
AD CERTIFICATE. (Which you may use anytime during your subscription) 



Category* 
Address 



Your Name 



LIST OF CATEGORIES 

COMPUTERS 

133 Borroughs Systems 

Data General Systems 

Data General. Software Peripheral 

Datapomt Systems 

Datapomt Software. Peripheral 

DEC Systems For Sale 

DEC Systems Wanted 

DEC Software peripheral 

IBM Systems For Sale 

IBM Systems Wanted 

IBM Software Peripheral 

NCR Systems 

NCR Software peripheral 

Mies (Hardware & Software) 
MICRO COMPUTERS 
106 Apple Computers For Sale 

Apple Computers Wanted 

Apple. Software. Peripheral 

Northstar Computers 

Northstar. Software. Peripheral 

Ohio Scientific 

Ohio Scientific Software Peripheral 

PET Computers 

PET Software. Peripheral 

TRS 80 Computers For Sale 

TRS-80 Computers Wanted 

TRS-80. Software Peripheral 

Misc Microcomputers 

Misc Micro. Software & Peripheral 

S-100 Compatiple Peripheral 
PERIPHERAL & MISC EQUIPMENT 
1 70 Card Readers 

Disk Drives 

Printers 

Punched Card Equipment 

Tape Drives 

CTRs 

Terminals 

Memory 

Modems 

Mies Equipment 

Misc Large Systems 

Misc Software 

Misc Accessories & Supplies 

EMPLOYMENT 

196 Help Wanted 

198 Positions Wanted 

199 Other 



136 
138 
142 
144 
148 
149 
150 
154 
155 
156 
160 
162 
166 



107 
108 
112 
114 
117 
119 
122 
124 
101 
102 
103 
126 
128 
130 



172 
174 
176 
178 
180 
182 
184 
186 
188 
190 
192 
194 



FREE AD -FREE ISSUE 

You may run your first classified ad FREE under NO obligation and receive a 
FREE issue too. Later you'll receive an invoice for a half price, $5 subscription, 
12 issues/year. If you are not 100% satisfied with COMPUTER SHOPPER just 
write cancel on the invoice and the issues will stop coming, BUT you still keep 
that first issue as a free gift. 

Print clearly or type your ad in the space below. 

If you need additional space use a separate piece of paper and enclose it with 
this card in an envelope. 

If you don't have an ad to send at this time, write in space below: SEND FREE 
AD CERTIFICATE. (Which you may use anytime during your subscription) 



Category # 
Address 



Your Name 



URGENT 

Deadline May 7, 1980 

MAIL NOW 



NO POSTAGE 

NECESSARY 

IF MAILED 

IN THE 

UNITED STATES 



BUSINESS REPLY MAIL 

FIRST CLASS PERMIT NO. 105 TITUSVILLE, FLORIDA 32780 



POSTAGE WILL BE PAID BY ADDRESSEE 





COm&UTSR SHaPPSR 

P.O. Box F15 
Titusville, Florida 32780 




Attention 



BARGAIN HUNTERS 

Receive Hundreds of Classified Ads 
Like These Every Month 



HARD DISK DRIVE Diablo Mod 31 

1.2 MByte std. density. Includes , 

power supp. and cable, rack mount 1 

slides, amd manual. Excellent 

condition. $450 J>*'~~^- t ~-^601 

WS^^J^^^ +cc CPS Serial n3 

- d .^^ctracter. *ze*W« 



I 



7/^6 M U: ,nt l rdata ^'"-Elmer) 
7/16 Mini with 32KB core f,Zi 

HS n taoe 50A H PWR WEclX 

(TTV) "andts-S'S ' d ^ 2 



Selectable cn **r\ ha tacters-u»« 

and ° oub,e W naoer - sarne 
tunoard P«-n £**j data 

niechan^rrw»s_^^^ 

SVStfr 7liEATHKIT H-11/DEC LSI-11 
system, 32K Byte storage, reader 1 
punch, video terminal, complete 
software. Cost $4500 assembled, 
$3500 kit. Like new. Sell for $2250. 
305-962-6677. 2058 Griffin Rd., Ft. 
Lauderdale, FL 33312. 



and muc'h'Tw fBa'rf 5 manUa,S 
etc.,). $800 .12?*'I°P* n > OS^ 



COMPUTER AUTOMATION ALPHA) 

16- 16 k-word core memory, RTCJ 
PF-R Modified Mod. ASR-33 TTY| 
Manuals, utilities, assemblers an. 
many option boards - 16 bit I/O 
Driver, 16 bit I/O, Asynch modem 
contr. 64 bit output, 10 bit A/D - 
D/A Fairly complete documen- 
tation. Up and running in Fortran. 
Not much more than TTY at $1000. 
Herb Sauer, 303-494-8724. 



FOR SALE: Heath H9 video ter- 
minal, excellent condition, $175 or 
best offer. You ship. [214] 962-4484 

memory board without memorv 
hips and Phi deck controlled boa* 
J»t^J«embledor not working) _ 

2040n r , 200l -16NCo^ Pf,Ced to 



COMPUTER SHOPPER, the new buy, sell, and trade 
publication, is ready to help you with the latest infor- 
mation on personal, small business and large-system 
computers, accessories and software. 

Each ad-packed issue is full of the bargains you are 
looking for. Included are ads from individuals 
throughout the United States who are selling their 
good, pre-owned equipment just so they can trade-up 
to new equipment coming on the market. 

But, COMPUTER SHOPPER'S bargains won't be 
yours unless you subscribe. This useful, money- 
saving publication can become your way to com- 
municate with other buyers, sellers, and traders all over the nation. 

Whether you are a hobbyist or a part-time user, COMPUTER 
SHOPPER will put you in touch with the nationwide computer 
marketplace in time for you to take advantage of bargain oppor- 
tunities. 

Have something to sell? A COMPUTER SHOPPER subscriber 
probably wants to buy it. 

Looking for a part, component or even a complete system? A 
COMPUTER SHOPPER subscriber probably wants to sell it. 

COMPUTER SHOPPER is THE marketplace for anything in com- 
puters and is read by thousands of people who are ready to buy. 

COMPUTER SHOPPER offers a unique format in which classified 
ads are categorized for fast location of specific items. Combining 
this with low individual ad rates — 10 cents a word — 




makes it the ideal place for buyers and sellers to com- 
municate. And, its mix of individual, broker, and 
manufacturer ads enable subscribers to find what 
they want at the best price possible. 

COMPUTER SHOPPER will work for you in other 
ways, too. If you are just thinking about getting into 
computers, it can help you learn product availability 
and prices before you make a decision. And, through 
the timely ads, COMPUTER SHOPPER will keep you 
abreast of changes in the market which could create 
bargain opportunities for you. 

But COMPUTER SHOPPER cannot work for you 
unless you subscribe. Complete the subscription card today and 
put COMPUTER SHOPPER on your monthly reading list. 

Want to look us over first? We'll give you your first issue FREE 
and then bill you for the next 12. If you are not convinced COM- 
PUTER SHOPPER suits your needs, just write "cancel" on the in- 
voice and return it. 

And, to let COMPUTER SHOPPER start working for you right now, 
we'll also give you a FREE classified ad to sell your pre-owned 
equipment or to find equipment you want. 

The FREE ad is yours whether you decide to subscribe or not 
with no obligation what-so-ever. 

Don't miss another timely issue of COMPUTER SHOPPER. Send 
in the postpaid card today (give the other card to a friend) and let 
COMPUTER SHOPPER start working for you. 




The Nationwide Marketplace for Computer Equipment 

OOmPUTSR SHOPPBR 

P.O. Box F5 • Titusville, Florida 32780 
Telephone 305-269-3211 



»^36 



^ Reader Service — see page 257 



Microcomputing, April 1980 99 



TRS-80 Serial I/O 

for Less 



The expensive expansion interface is not needed with Electronic Systems' I/O board. 




The Electronic Systems TRS-80 serial I/O board can be used to run 
printers, input terminal data or convert your TRS-80 to a micro-time- 
share business. 



10 
20 
30 

■to 

'::,0 
60 
/0 
80 
V0 
I 
110 
120 
130 
1^0 
ISO 
160 
1/0 
180 
190 
200 
210 



THE TOP' 

IF YOU" 
RESET YOUR COMPUTER" 
SIZE BELOW.": PRINT 



CLSJREM ELECTRONIC SYSTEMS PRINTER DRIVER 
PRINT "28 BYTE LPRINT PROGRAM POR SERIAL I/O BOARD- 
PRINT" VERSION 1.0 19/9 STEPHEN GIBSON" 
PRINT "THIS PROGRAM PLACES A SHORT DRIVER ROUTINE AT 
PRINT "Of YOUR MEMORY. YOU MUST RESERVE SPACE POR IT 
PRINT '"HAVE NOT ALREADY DONE SO. SIMPLY 
PRINT "AND ENTER THE APPROPRIATE MEMORY 
PRINT "<»K ■ 20450" S PRINT 'iAK - 32/38" 
PRINT "32K ■ 49122" SPRINT*48K - 65506" 

PRINT: INPUT "HAVE YOU ENTERED ONE OP THE ABOVE SIZES Y/N"JA* 

IP A*="N" THEN PRINT"*** RESET AND DO SO NOW ***":END 

INPUT "WHAT SIZE ABOVE DID YOU ENTER "»M 

M= M+l :H=INT(M/256> :L=M~256*H 

POKE 16<»22»L: POKE 16<»23»H: POKE 1 6553 » 255 

IP M: 32/6/ THEN M=M-65536 

FOR S = TO 27 J READ G : POKE M+S»G tNEXT 

INPUT "DO YOU WANT LINE FEEDS AFTER CARRAGE RETURNS Y/N" »A* 

IF A*="Y" THEN 190 ELSE POKE M+2«»201 

PRINT " DONE • " : END 

DATA 121»25^»13f^0»3»254»32»216f58»232f55»230»36»254F36 

DATA 32r2 i »/rl21»50»232r55»254rl3fl92»l 4 l»10»24r236 



Listing 1. A simple printer routine. 



Stephen Gibson 

PO Box 38386 

Los Angeles CA 90038 



Finding serial I/O for a Radio 
Shack TRS-80 has, until 
recently, been quite a hassle. 
While it has been relatively easy 
to obtain a serial-output device 
for printers, the availability of an 
inexpensive input/output device 
has been sorely lacking. True, 
Radio Shack does sell an RS-232 
serial I/O board for which you 
can pay nearly $100 and simply 
drop it into their $299 expansion 
interface. Simple? . . . yes. 
Now along comes Electronic 
Systems, PO Box 21638, San 
Jose CA 95151, that innovative 
and intrepid group of young lads 
whose ads you might have seen 
hawking nifty tape interfaces, 
modems, memory, TVTs and the 
like, all at reasonable prices . . . 
largely because you must as- 
semble these units yourself. But 
recognizing the true appliance 
nature of the TRS-80 (nary a wire 



to solder), they've filled the 
TRS-80 serial I/O void and done 
all the soldering to boot. Their 
unit is available assembled and 
ready to plug in. 

A kit version is offered. But 
unlike the universal serial I/O 
board the lads sell from their 
catalog, this new TRS-80 serial 
I/O has RS-232 capability, which 
is darned near a must if you in- 
tend to plug in a modem or ter- 
minal. 

More important, you don't 
need an expansion interface to 
use it! Just plug it into the 40-pin 
connector on the back. Expan- 
sion-interface users can still 
plug in by using the convenient 
extension connector on the 
board. This neat feature, de- 
signed by Bob Kushner, makes 
this board compatible with any 
TRS-80 installation. 

Circuit Description 

Complete address-decoding 
circuitry in Fig. 1 allows you to 
decide if you want conventional 
port I/O to the computer or mem- 
ory-mapped I/O, a feature Z-80 
programmers find useful. Two 
stable on-board clocks provide 
you with baud rates ranging 
from 110 to 2400 baud, which 
may be overkill, inasmuch as the 
top end for most phone-line 



100 Microcomputing, April 1980 



modem communications is 
about 300 baud. 

You might argue that the 
baud rate selection doesn't go 
high enough for a computer-to- 
computer linkup; but if you think 
about it for a moment, the better 
way to go would be to use a par- 
allel port I/O, rather than serial 
I/O. Eight bits at a time could be 
sent to your external device 
rather than waiting for the UART 
to clock them out one at a time. 
Parallel is indeed best for 
speedy I/O, but only if you have 
an external device capable of 
going that fast. Try to find a $400 
printer that goes 19.2 kilobaud. 

Varied Flexibility 

Nifty options abound on this 
board. Besides the usual UART 
stop bit, data bit and parity se- 
lection, you can tie two more 
status bits up to the board in ad- 
dition to a DTR (data terminal 
ready) line. All options are DIP- 
switch selectable, but not soft- 
ware selectable, which has its 
good and bad points. 

First, fewer parts are needed, 
so reliability and cost are im- 
proved ($79.95, assembled). Sec- 
ond, the amount of driver soft- 
ware is drastically reduced. 
Consider the size of the short 
printer-driver routine in Listing 
1. A software-selectable I/O 
scheme would require consider- 
able introductory statements, 
with perhaps an ongoing lookup 
routine to remind your board 



how it is to behave. 

On the minus side, you can't 
input data at one baud rate and 
output it at another. Nor can you 
change baud rates without flip- 
ping a switch. Big deal. I would 
never have the occasion to do 
either. Flipping a DIP switch to 
change baud rates is not too 
much bother. How often would 
you be doing it? 

Software Makes It Happen 

You can easily use this board 
to convert your TRS-80 to a 
stand-alone terminal. I wrote a 
simple program (Listing 2) to do 
it all. Just plug in a modem and 
viola* . . . you're a terminal! How 
about connecting your comput- 
er to another via phone lines us- 
ing modems so you can trade 
programs or data? 

Running the program in List- 
ing 3 will allow you to get bytes 
of data or whole programs from 
an external computer. In fact, 
the external computer can even 
run programs on your machine 
with all the control options. To 
return control back to you, sim- 
ply tap the BREAK key. Using 
the extra status bits to detect a 
ringing pulse on the line, to- 
gether with an enlarged version 
of this program, could instantly 
put you in the micro-time-share 
business for a mere $79.95. If 
you are enterprising, this board 
is more than a conventional 
good buy . . . it's a dream come 
true! ■ 



10 

20 

30 

"»() 

50 

60 

70 

80 

90 

100 

110 

120 

130 

1-fO 

130 

160 

1/0 

180 

190 

20 

210 



CLS: REM ELECTRONIC SYSTEMS 16K TERM PROGRAM 

PRINT" TERMINAL PROGRAM EOR SERIAL I/O BOARD" 

PRINT "VERSION 1.0 1979 STEPHEN GIBSON" 

POKE 16553,2515 SPRINT 

PRINT "THIS PROGRAM POKES A MACHINE LANGOAGE TERMINAL PROGRAM" 

PRINT "INTO YOUR MEMORY STARTING AT 320 DECIMAL. THE PROGRAM' 

PRINT "RUNS DUPLEX AND IGNORES LINE l-EEDS. SET YOUR MODEM TO" 

PRINT "HALF -DUPLEX TO SEE: WHAT YOU TYPE ON THE CRT. YOU MUST" 



PRINT "RUN YOOR MODEM FULL-DUPLEX TO TALK TO TIME SHARE*' 
FOR S - 320 TO 320-48: READ CS PUKE BrC .'NEXT 
PRINT: PRINT "ARE YOO RUNNING : " 
PRINT "1 - ROM BASIC" 
PRINT "2 - DISK BASIC" 
INPUT "WHICH" JA 
IF A = 2 THEN 1/0 

POKE 16526,0 .* POKE 16527,125 :X ■ OSR(0) 
DEEUSR I -AH7D0S : X - USR 1(0) 

DATA 49r0»128» 1,232,55,23/, 120, 205, 16,1. • 
DA T A 33 , I 25 , 2't , 248 ,10, 230 ,8,200, 23/ , 120 , 230 , 12/ 
DAT A 254 . .1 , -40 , 244 , 205 , 51 , , 2* , 239 , 205 , 4 J , 
DA T A :l B3 . 2 i) , 255 » 1. » 230 , 36 , 25-4 , 36 , 32 , 249 .241 .,'•-' 1 



Listing 2. TRS-80 terminal program. Use the TRS-80 as a stand- 
alone terminal. 



10 

20 

30 

<40 

50 

60 

/0 

80 

90 

100 

I I 

120 

130 

1*40 

150 

160 

1/0 

180 

1.90 

200 

210 

220 

230 

2-40 

260 

280 

290 

30 

310 

32 

330 

3'H) 

350 

3<!>0 

3/0 



ELECTRONIC SYSTEMS BASIC SERIAL I/O DRIVER 

CLS : 'REV 1.2 19/9 STEPHEN GIBSON 

PRINT " THIS PROGRAM WILL ALLOW YOU TO LOAD A BASIC 



PROGRAM ' 

electron:! 



PRINT "FROM ANOTHER COMPUTER OR TERMINAL USING THE 

PRINT "SYSTEMS TRS 80 SERIAL I/O BOARD. ": PRINT 

PRINT "THE PROGRAM IS PLACED AT (HI IOC OF YOUR MFMORY. YOU 

PRINT "RESERVE SPACE FOR I I WHEN YOO POWER- 1)1 . BREAK' FROM 

PRINT "PROGRAM, RESET AND ENTER THE APPROPRIATE MFMORY SI/I " 

PRINT "BELOW FOR YOUR SfSTEM. THEN RELOAD AND CONTINUE T HF. PROGRAM** 

PRINT : PRINT" -4K m 20-121 " J PRINT " 1 AN - 32/11" 

PRINT "32K ■ -49095" : PRINT "48K ■ 65-4/9" 



C* 

MOST" 
I HIS " 



OR PRESS 'ENTER' TO CONTINUE 



M 



>6 * Fl 



PRINT : INPUT " EITHER ' BREAK 

INPUT "NEW MEMORY BIZE"!M 

M ■ M ♦ I. : H - INKM/256) : L 

II M 32/6/ THEN M - M - 65536 

FOR J ■ TO 5-4 

READ Y 

POKE M+J.Y 

NE X T 

MD-M+ I 6 

CLS : PRINT "IS THIS PROGRAM RUNNING UNDER...." 

PRIN I " J > DISK BASIC (2.1 DOS ) * 

PRINT "2) ROM BASIC" 

PRINT J INPUTA: PRINT "PtJSH 'BREAK' TO RESTORE CONTROt 

DEFUSR1 - M 

X-USR 1 < MD ) : GOT O 30 

H*M+ 1 6 : POME 1 6526 » I.. : POKE 1 652 TtHX X- USR < h > 

END 

DATA 2 05 , 1 2/ , 1 , 3-1 , 2 2 , 61 , J. 9/ , 1 

DATA 2-48 , 55 , 23/ ,120,1 93 ,0,0,201 

DATA 19/,1,. r58.127.56fSe.6-4 

DATA 56 , 280 , *) , 32 , 16 , 1. 1 238 ,8,-40 

DA T A 8 , 23/ , 120 , 230 , 12/ 1 .-54 . I , « 

DATA 233,193,183,201,3 «J,:i4 

DATA 22,64, 195.25.26 



:A* 



II A~2THEN 290 



Listing 3. You can input programs or run your TRS-80 from afar 
with this program. You can also expand it to turn your TRS-80 into 
a call-up computer just like the big time-share outfits. 



We buy 
Computer 
programs 

for resale 

Outright purchase or 
licensing agreement 

Computer Software 



»^119 



PO Box 473 
v Brookline Village, MA 02147 




209.00 
477.00 



rnrr i U P t0 S170 m merchandise 

ril tt ! with purchase of PET-CBM item ! ! ! 



PET 16K Large Keyboard $ 995 
PET 32 K Large Keyboard $1295 
PET 8K Large Keyboard (New) $ 795 
PET 2040 Dual Disk (343K) $1295 
PET 2023 Printer (pres feed) $ 849 
PET 2022 Printer jtrac feed) $ 995 

KIM-1 $159 [Add $30 fir Power Supply) 

AXIOM EX-801 Printer-PET 

21 14 L 450 ns 5.35 24/4.95 100/4.45 

2716 EPROM |5 Volt) 39.00 

6550 RAM (for 8K Pet) 12.70 

PET 4 Voice Music System (KL-4M) 29.50 

All Books and Software 15% OFF 

Leedex Video 100 12 Monitor 1 19.00 



ATARI — INTRODUCTORY SPECIAL 

ATARI 400 Atari 800 and all Atari Modules 20% OFF. 



Heath WH-19 Terminal (fact, asm.) 770.00 

Programmers Toolkit - PET ROM Utilities 44.90 

PET Word Processor - Machine Language 24.00 



3M Scotch' 8 Disks 
3M Scotch 5 Disks 
Verbatim 5 Disks . . 
Disk Storage Pages 



10/31.00 



10/31.50 
10/26 50 
10/ 395 



Cassettes (all tapes guaranteed) Premium quality, high output low 
noise in 5 screw housing with labels AGFA PE 61 1 
C-10 10/5 95 50/25 00 100/48 00 

C-30 10/7 00 50/30 00 100/57 00 .^ 

Add $ 1 per order for UPS shipping 
Ask for 6502. TRS-80. and S-1 00 Product List. 



A B Computers 



115 E Stump Road 
Montgomeryville. PA 18936 
(215) 699-8386 



SURPLUS ELECTRONICS 



ASCII 



ASCII 



IBM SELECTRIC 

BASED I/O TERMINAL 

WITH ASCII CONVERSION 

INSTALLED $645.00 

• Tape Drives • Cable 

• Cassette Drives • Wire 

• Power Supplies 12V15A, 12V25A, 
5V35A Others, • Displays 

• Cabinets • XFMRS • Heat 
Sinks • Printers • Components 
Many other items. SEND $1.00 FOR 

CATALOG. REFUNDABLE FIRST ORDER 
WORLDWIDE ELECT. INC. 
130 Northeastern Blvd. 
Nashua, NH 03060 *^ 122 
Phone orders accepted using 
VISA or Master Charge 
call 603-889-7661 



^Reader Service — see page 257 



Microcomputing, April 1980 101 



Fred LaPointe 
119 S. Chestnut St. 
Lansdale PA 19446 



The Man from 





.U 



My name is 

of little 
consequence. 



My job is an 
important 
one . . . 
my story 
exciting. So 
hear my tale 
of intrigue 
and suspense. 
I acted out 
a bit part 
in a power 
play that 
threatened to 
destroy the 
world, but 
Uttle did 1 
know that it 
would be . . . 



The Most Significant Bit' 





nock, knock. I 
pounded at 
the door, impa- 
tiently holding my 
request for information high, waiting to be 
acknowledged. The door slowly opened to grant 
me access. There I was, staring at the stately 
butler, obviously some lackey peripheral for the 
rich ol' geezer who bought this fabulous joint 
from the fortune he made in munitions. 

"Yes?" 

"I want to see your boss." 

"I'm sorry, sir, but the master is occupied at 
the moment." 

So he's trying to give me that "old master's 
busy" routine, huh. I pulled out my badge to 
give him an idea of what a top priority I had in 
his snobbish resolution scheme. 

"Very well ... if you'll walk this way." 

I trailed him like a voltage follower into an 
anteroom and had a seat by the office door. I 

102 Microcomputing, April 1980 




hated spending wait states in queues, and I con- 
sidered generating an interrupt by busting the 
door down. From inside the office came three 
muffled voices — three angry voices! I heard 
heated conversation that erupted into angry yell- 
ing. I couldn't decode the words but it sounded 
like someone just blew his stack! Suddenly, the 
door swung open and out came a woman full of 
rage — and beauty! 
Wow! She filled the 
number six on her foot- 
ball jersey like a hex god- 
dess, and she had a figure 
like the octal base. What 
an architecture! 

"... and I hope I 
never see you again!" she 
yelled, flailing her pompon, stomping out of the 
office. I hardly wished the same of her, I 
thought, as I sauntered into the rich ol' geezer's 
office. 

"You! Why are you pestering me again?!" 
From behind the enormous desk the rich ol' 
geezer looked menacingly at me with his small 
shift- register eyes. 

"Just came to satisfy my curiosity," I said, 
lighting a cigarette. 

"Your curiosity! Why— why— Why you in- 
souciant wastrel!" 

The rich ol' geezer was using the pompous 
high-level language again, but I played his game 
to give him the idea that he was dealing with 
low-level logic. 

"Did you come here just to raise my blood 
pressure? Now leave at once!" 

"First, tell me what the initials J. K. mean to 
you," I said, pointing my cigarette like a logic 
probe. 

"J. K. . . . how did you get ... ' The rich 
ol' geezer's eyes opened wide in amazement, 
then cold fear. He started going into convulsions 
and stuttered like a processor doing too much 
time-sharing. 

"They . . . must . . . know . . . ' 
The rich ol' geezer's emf must have been drop- 
ping fast as he clutched the pacemaker at his 
chest. Slumping to the desk he started writing on 
a sheet of paper. The writing ended in a serial 
stream of cryptic scrawls as he crashed with a 
thud to the desk. Poor guy — there was no way to 
bring him back on line. Was it a power failure 
with no backup batteries or had someone 
deliberately crashed his system? Behind me I 
heard the door opening. 




What do I do now? Run or stay and be pinned 
with a murder rap? A sticky situation. I in- 
cremented my program counter and fetched my 
next instruction. Of course! I had to find out who 
the killer was. 

So I stuffed the paper into my hat, hoping that 
it would give me a clue. Then I bounded out the 
open window into the garden below. Strange! 
Looked like someone had fallen into this garden 
before me. Well, I had to go somewhere and do 
some deep processing. I hopped onto a bus to get 
to a restaurant on the other side of town. 

"Don't anybody 
move! This is holdup!" 

Just my luck. I don't 
need any distractions 
and some young punk — 
a young masked inter- 
rupt holding up the 
bus — waves a heater at 
the bus driver. 

"Better stop, punk. 
Get out while you're 
alive!" I yelled from the 
empty aisle. I caught his 
attention. "Punk, in this 
world there are ones and 
zeros, and you're just a 
zero! 

"Don't push me, 




Pop!" He waved his gun in my direction. 

"And don't razz me, punk, or I'll blow you to 
bits!" 

Shots were fired at a synchronous rate, but he 
was falling; my response time was quicker. 

"A man's got to know his limitations," I 
frowned, blowing the smoke off my magnum. 

Several nanoseconds later I was on the other 
side of town for lunch at "The Menu." As I 
walked in, the hat girl checked my parity and I 
flipped here an even two bits. I sat at a table 
with my back to the wall and pondered the past 
events. Just as I was about to complete a bite 
transfer of my kraut dog it hit me like an MOS 
circuit in a thunderstorm! 

"That hat-check girl was the same babe at the 
poor rich ol' geezer's place. And I left her my hat 
that had the paper stuffed inside!" 

Cursing my bubble memory, I scrambled 
back to the checkroom. There she sat casting 
alluring glances ... a different outfit, but none 
of those keys were debounced! 

"So, you didn't want to leave Meg all by her 
lonesome," she drawled, putting her arms 
around my neck to break down my resistance. 

"What's that behind your back, babe?" 

Instead of supplying the data she tempted me 
with a lewd interface design, but I pushed her 
aside retaining my high impedance and morals. 
This girl wasn't the least bit inhibited! 

"Now give me that hat!" 




Pow! 

O-o-oh! My 
head. I slowly re- 
gained conscious- 
ness. I felt like I'd been hit with a line driver. I 
didn't see that hardware she was packing in her 
purse. I'd been too gentle with her— another soft 
error on my part. Where was I? Some dingy 
basement in a random-seedy part of town. 

"Josh, he's awake. You want me hit him 

again?!" 

Hoovering over me was a large-scale thug 
who seemed to have as much intelligence as an 
erased EPROM. 

"Me crush him like the Indian!" he said pick- 
ing up a nearby filing cabinet. 

Holy semiconductor! This must be the same 
massive compiler that executed Obj Ekprog 
Ram, our Indian agent! 

"No, Lenny," said a voice which I took to be 
that of Josh. "Let me ask him a few questions 
first. Just who are you?" 

"I'm Davey Jones, leader of the Monkees." 

"Cut the comedy. You're an agent of C.P.U." 

"Negative!" 

"Then let me refresh your memory!" 

The sinister Josh leveled a dagger at my skull, 
threatening direct memory access. It was now or 



never! With fury I exploded into Josh's soft gut 
and desperately jumped to another location as 
the Compiler tried deleting me with a file. Len- 
ny bounded at me with his huge fists, but I flip- 
flopped him with a karate move. Now safely 
grounded, I rammed a downer down his throat 
that would temporarily turn his mind into an 
empty scratchpad. I walked over to Josh, who 
still lay disabled. 

"Now, mister, the tables are inverted. You're 
gonna answer some of my questions!" I said 
asserting myself. "Just who are you?" 

"Josh Klodnicki," he wheezed. 

An LED flashed in my head. Of course! This 
was the infamous J. K. who had been black- 
mailing the rich ol' geezer for the combination to 
the vault, which held an illegal micro- atomic 
bomb built from a hobbyist's magazine. This 
was the third voice in the office. It was all begin- 
ning to add up in the accumulator! He sees the 
good guys closing in so he rubs out the rich ol' 
geezer so nobody gets the bomb. Then he jumps 
out the window for his getaway. Except the pro- 
gram doesn't run the way he writes it. It never 
does. Before the rich ol' geezer crashes in his 
chips he writes an important note. 

"The hat!" I exclaimed. But lost in thought I 
had given J. K. a chance to go for his piece. I 
went for my gun in the twinkling of a seven- 
segment display and cocked the Schmitt trigger. 

"Looks like a stand-off, J. K. Give up and I'll 
see that you don't get the electric chair." 

"Some bargain from a C.P.U. agent. It's 
either you or me!" 

"Very well," I grimaced, "It's a duel, J. K." 




Suddenly shots fired, but from neither of our 
guns! J. K. groaned. I was only clipped, but 




J. K. was terminated. I heard the clatter of high 
heels up the steps and then the slam of a car door. 
I rushed outside as a sports car peeled away. 

Of course! The babe! The woman was dou- 
ble-crossing everybody. She was the rich ol' 
geezer's mistress as well as J. K.'s blackmailing 
lady. She wasn't content with a nibble anymore 
but wanted the whole sector! I had to retrieve 
that paper. I had to follow that car! 

My luck was getting better. I hopped on a 650 
Harley-Davidson parked outside and revved 'er 
up. I hoped the owner wouldn't mind my cycle 
stealing. I kept her car in sight and kept my dis- 
tance. Like a phase-locked loop I tracked her to 
an abandoned bank building. She entered by 
way of a back door, and I softly single-stepped 
behind her. She was frantically working on the 
vault combination lock as I entered. 

"Fifty-five," she whispered to herself. Click, 
click, click. "Fourty-four." Click, click. She 
grasped the vault lever and pulled, but it 



wouldn't budge, still latched as tight as a D-flop. 
"I've met a lot of characters in my field, but 
you take the cake, sister!" 

She wheeled around in surprise and disgust. 
"You fool. We could both make a million!" 
I pondered Meg's meg. 
"We'll make a deal!" she cried. 
She wore a tight miniskirt, and she started 
raising her address line. She hoped to bend my 
will like a floppy diskette. 

"That won't work, babe!" I said, vowing not 
to scan her attractive display. "You see, I like my 
work. It may not pay well, but it's a real charac- 
ter generator. Now give me that paper!" 

She motioned the surrender of the paper. Sud- 
denly a deadly purse sailed through the air 
aimed at my head. This babe's iron was. still hot! 
I fired and blew it away like a random logic de- 
sign. She froze in fear. 

"It's the end of your routine, kiddo. It was 
quite an operation you were running. You excite 
the rich ol' geezer beyond his potential. Then 
you give him weak batteries. You double-cross 
your boss and wipe him out! Now you've got the 
paper with the combination on it. Except the 
program doesn't run the way you write it. It 
never does!" 

"What are you talking about?" 
"The paper, sweetheart. The paper doesn't 
have the combination on it. It's about as useful as 
write-only memory!" 
"But the numbers!" 

"Yes, the numbers: 52-4F-53-45-42-55-44. 
Weren't you ever curious about the 4F?" 
"4F? I thought it was a 41." 
"No, babe, and you were never gonna get that 
vault open. You see, the rich ol' geezer had a cou- 
ple of secrets. And aside from the bomb one of 
his best kept secrets was that he was an avid mi- 
crocomputer hobbyist. 

"Microcomputer?? What the — " 
"There isn't a combination on that paper. 
There's only ASCII text." 

"ASCII text?! What the hell are you talking 
about?" 

"Translate it in jail you byte- neophyte!" 
"You, you ..." 

"Can it in a hermetic package, sweetheart. 
I'm taking you to the big house." 

So that's my story. The bomb was disarmed 
and taken care of. Now I'm sitting in my dark 
apartment chugging a beer and watching the 
tube over a CRT dinner. Once again the world is 
safe for humanity and some future catastrophe. 
And you can thank me, the man from C.P.U. 
Ain't that right, Fifo? 
"Woof, woof!" ■ 




Microcomputing, April 1980 103 



/T 



i 



5-10 times faster... 
and more! 

Meet Pascal/Z,™ the fast, flexible compiler with . 
higher speed, greater efficiency and improved debugging: 

■ True Z-80 native code Pascal compiler — 5 10X faster 
than competing P-code implementations — no interpreter 
required. 

■ The only multi-tasking Pascal — produces ROMable 
re-entrant code. 

■ Optimized for fastest execution — recognizes and 
exploits special cases. 

■ Easily transportable — all hooks to your system made 
through support library. 

■ Includes standard floating point package. Single 
copy on CP/M-compatible disk includes compiler, 
companion macro-assembler & source of the library, $395. 
OEM licenses available. Write or call for more information. 



Ithaca Intersystems lnc,1650 Hanshaw Road/PO Box 91, 
Ithaca, NY14850/607-257-0190/TWX: 510255 4346 

©1979 Ithaca Intersystems Inc 



NEW 

INCREDIBLE Computer 

only $24.95 



nent Program 




1 



MONTY™ 
Challenges 



POLY 



MONTY™ is full of susses. Entertains as he plays— with 

music and colorful visual effects. Cassette programs available 

for 16 K APPLE II* and 16K Level II TRS-80* microcomputers for use 

with your Monopoly game. MONTY™ is a shrewd operator. 

But he can be beaten. Send $24.95 check or money order (postage paid) 

lowans add 3% sales tax. Remember..." MONTY™ plays Monopoly." 



■ Ritam Corporahon 

'Monopoly is a trademark of Parker Bros.. Inc. 
Apple is a trademark of Apple Computer, Inc. 
TRS-80 is a trademark of Tandy Corp. 



P.O. Box 921, Fairfield, Iowa 52556 



Name 



Address 
City 



State 



Z.p 



■Ritam Corporation, 1980 



i^151 



D APPLE 



D TRS-80 



A growing 
line of tools to 
expand the Apple. 




7440A Programmable Interrupt Timer Module. 
Time events in four operating modes— continu- 
ous, single shot, frequency comparison, and 
pulse width comparison. Includes three 16-bit 
interval timers, plus flexible patch area for 
external interface. Programmable interrupts, 
onboard ROM, and much more. 

7720A Parallel Interface. Two bi-directional 8-bit 
I/O ports will connect your Apple to a variety of 
parallel devices, including printers, paper tape 
equipment, current relays, external on/off 
devices. Full featured, programmable inter- 
rupts, supports DMA daisy chaining. 

781 1 B Arithmetic Processor. Interfaces with 
Applesoft, so you just plug in and run. Based 
on the AM 9511 device, provides full 16/32-bit 
arithmetic, floating point, trigonometric, loga- 
rithmic, exponential functions. Programmed I/O 
data transfer, much, much more. (Not currently 
compatible with Apple II Plus— check with 
your dealer.) 

771 0A Asynchronous Serial Interface. Conform- 
ing to RS-232-C A thru E 1978 standard, this 
card will drive a variety of serial devices such as 
CRT terminals, printers, paper tape devices, or 
communicate with any standard RS-232 device, 
including other computers. Full hand-shaking, 
and fully compatible with Apple PASCAL! 

7470A 3% BCD A/D Converter. Converts a DC 
voltage to a BCD number for computerized 
monitoring and analysis. Typical inputs include 
DC inputs from temperature or pressure 
transducers. Single channel A/D, 400 ms 
per conversion. 

7490A GPIB IEEE 488 Interface. A true imple- 
mentation of the IEEE 488 standard— the 
standard protocol for instrumentation and test 
devices. Control and monitor test instruments 
such as digital voltmeters, plotters, function 
generators, or any other device using the 
IEEE 488. 

7114A PROM Module. Permits the addition to or 
replacement of Apple II firmware without 
removing the Apple II ROMs. Available with 
onboard enable/disable toggle switch. 

7500 A Wire Wrap Board. For prototyping your 
own designs. 

7510A Solder Board. 

7590A Extender Board. 

7016A 16K Dynamic Memory Add-On. 

Watch this space for new CCS products for 
the Apple. We've got some real surprises in the 
works. To find out more about the CCS product 
line, visit your local computer retailer. The CCS 
product line is available at over 250 locations 
nationally, including most that carry the Apple. 
Or circle the reader service number on this ad. 

Apple II, Apple II Plus, and Applesoft are trademarks 
of the Apple Corporation. 

J* CCS makes the difference. 



104 Microcomputing, April 1980 




We see it as a good 
way to get things done. 

Apple has built a great computer. We at CCS have 
built a great line of peripherals and components to expand 
the Apple. To do almost anything you want to get done 
with a computer. 

If you wartt to do business with an Apple, we've got 
tools to connect the Apple to standard business printers and 
terminals. Or to modems, for communications over tele- 
phone lines, with other computers, even with other Apples. 

If you want to apply your Apple to engineering, scien- 
tific, or graphic projects, weVe got tools for high-powered, 



high-speed math functions, and fast, high resolution graph- 
ics. And tools to connect the Apple to lab test equipment 
like function generators or plotters. 

And we have tools to connect the Apple to the outside 
world, including A/D converters and interval timers with 
external interface. 

We make components for the S-100 bus, the PET, and 
the TRS-80, too. We built our products to deliver hard- 
nosed value to the OEM, and to the inventor who knows the 
best, at prices that are unbeaten. 

To find out how much computer your Apple II can be, 
see things our way. Because for serious users with serious 
uses for the Apple, we've got the tools. 




California Computer Systems 

250 Caribbean Sunnyvale, CA 94086 (408) 734-5811 



Meet the Paper Tiger 



Evaluation of IDS's impact printer finds it lightweight, surefooted and easy to care for. 



George H. Brooks 
Industrial Engineering 
Auburn University 
Auburn AL 36830 

I recently saw a brief demonstration of In- 
tegral Data Systems' (14 Tech Circle, 
Natick MA 01760) IDS-440 impact printer, 
called the Paper Tiger. I was impressed 
enough to order one for evaluation and use 
in our Industrial Engineering Microcomput- 
er Laboratory at Auburn University. Having 
now used it in a number of configurations, I 
have been pleased by its performance and 
ease of use, and feel that it may rank in the 
"best buy" category. 

Specifications 

One first notices the small size of the unit 
and its light weight -approximately 12.5 
inches (32 cm) high, 15.75 inches (40 cm) 
wide and 12.5 inches (32 cm) deep and 20 
pounds (7.5 kg). Its dimensions make the 
unit readily movable, although in the lab it 
normally sits on top of our North Star 
Horizon, with which we use it most fre- 
quently. 

Pinfeed paper ranging in width from 1.75 
inches to the stock width of 9.5 inches must 
be used. Forms length may vary from 3 to 1 4 
inches, with a number of intermediate sizes 
selectable by DIP switches. Fanfold paper 
fits under and to the rear of the printer, tak- 



ing up little space. A roller to use roll paper 
is available as an option. 

The printer uses a 3870 microprocessor 
and ROM for control. This has resulted in a 
single board configuration that also in- 
cludes 256 bytes of input buffer RAM in the 
standard model, or 2K bytes as an option. 
The option also includes dot graphics capa- 
bility. 

Other key specifications include: 

Full uppercase and lowercase printable 
ASCII characters, plus 13 control codes, 
one of which pertains only to the graphics 
option. 

Variable character density, 8.3, 10, 12 and 
16.5 characters per inch, plus double width 
(enhanced) characters in each density. 
Character density can be set either by DIP 
switches or under program control. En- 
hanced mode characters are invoked only 
under program control. Printer select 
and deselect and graphics mode (if so 
equipped) are program controlled. 

Serial EIA RS-232C or parallel TTL-level 
interface. This latter interface (which we 
have not used) is Centronics compatible. 

Print speeds are variable and depend on 
character density, among other factors. 
Maximum speed is 198 characters per sec- 
ond; highest sustained speeds range from 
45 cps at 8.3 cpi to 92 cps at 16.5 cpi. 

All operator controls are readily accessi- 
ble. The main power switch is on the rear 



panel, but since the unit is small, it is easy 
to reach. A line fuse and a 115/230 volt 
select switch, which is recessed to prevent 
accidental use, are also located on the rear 
panel. All other controls are at the top left 
and top right of the unit. 

At the top left is the formset/test switch, 
which is used to print a built-in test pattern 
and to set top of form. Also at the top left 
are two banks of DIP switches used for the 
less frequently changed settings such as 
baud rate, form length and print density. 

At the top right of the printer are two 
more operator switches: the offline/online 
switch and the formfeed/linefeed switch. In- 
dicator lights for power on, on line and 
paper out are also located in this control 
cluster. 

Owner's Manual 

We received our unit, via UPS from the 
manufacturer, late in the afternoon. We 
opened the package, following the direc- 
tions on the outside of the package, and en- 
countered the owner's manual and perhaps 
50 sheets of standard paper. 

Next we uncovered the printer, sitting on 
a heavy cardboard square, and enclosed in 
a heavy film wrapper. Since the hour was 
late, we merely removed the printer from the 
packing, resisting the urge to operate it. I 
took the manual home for perusal during 
the evening. 




106 Microcomputing, April 1980 



The manual is outstanding. Comprising 
six major sections and two appendices, it is 
copiously illustrated. The first section 
covers the characteristics and specifica- 
tions. The second section, detailing the in- 
stallation and configuration of the unit, is 
well done with clear text, pictures and 
figures illustrating connections, switch set- 
tings, timing and other installation consid- 
erations. 

The third section deals with operator con- 
trols and indicators; while the fourth sec- 
tion contains an informative and detailed 
description of the principles of operation. 
Section 6 reviews the graphics option and 
the internal paper-roll-holder option. 

The fifth section ("Maintenance and Trou- 
bleshooting") is worthy of particular note, 
especially for persons who do their own 
maintenance. It seems to encourage the 
owner to "do it yourself," particularly con- 
sidering the inclusion of Appendix A, which 
contains complete schematics of the power 
supply and main logic board. Why can't 
every manufacturer include schematics? 

Appendix B contains detailed instruc- 
tions for preparation of a Centronics- 
compatible cable, which should enable you 
to interface the printer to a host of comput- 
ers, including the ubiquitous TRS-80. 

The maintenance section contains 
detailed procedures for many maintenance 
functions that are required of all such 
equipment, but are frequently not even 
mentioned in other manufacturers' man- 
uals. For example, platen adjustment, 
paper drive belt tension, printhead carriage 
lubrication and printhead drive belt tension 
are covered in detail, along with more mun- 
dane matters such as paper loading and rib- 
bon replacement. A detailed section is also 
included on printhead cleaning and lubrica- 
tion, subjects which are studiously avoided 
in most other user manuals. 

In addition, a three-page table of trouble- 
shooting hints details possible causes of 
problems. One of these hints led us quickly 
to a problem in another piece of equipment 
which had initially caused us difficulty in 
printing at high baud rates. 

Installation and Use 

Armed with the manual, I arrived early at 
our laboratory the next morning. My first 
trial was trivial, so far as difficulty was con- 
cerned. Following the directions of section 





The Integral Data Systems, Inc., IDS-440 Paper Tiger. Note the operator controls at the top 
right. Other controls are at the left, hidden in the photo by the paper. (Photo courtesy of In- 
tegral Data Systems) 



2 of the manual, I completed the unpacking, 
loaded some paper and ran a test pattern 
using the format/test and offline/online 
switches. 

Having no problems, I then cabled the 
printer to an Infoton 100 terminal, which is 
the principle terminal for our Horizon. The 
Infoton has a Function-Print command — 
available from the keyboard — which out- 
puts whatever is on the screen through an 
auxiliary RS-232-type port to a printer. 

I set the Paper Tiger, the Infoton and the 
Horizon to 1200 baud, brought up the com- 
puter and filled the screen with disk direc- 
tories. Then came the moment of truth. I 
depressed Function-Print on the Infoton, 
and— behold— the Paper Tiger faithfully re- 
produced every character on the terminal 
screen. 

Emboldened by this success, I then put 
the Infoton in Copy mode, wherein every- 
thing received by the terminal or originated 
from the keyboard is automatically printed. 
Tentatively, I typed a DOS command, which 



was echoed by the printer. The command 
executed, and the material that came to the 
screen was again faithfully reproduced by 
the printer. Certainly, this was immediate 
and gratifying success. (We encountered 
some minor problems when printing at 1200 
baud after the 2K buffer became full, but 
quickly discovered that the terminal did not 
recognize the DTR signal from the printer. 
We promptly corrected this problem, which 
does not pertain either to printer design or 
performance.) 

After establishing that the Paper Tiger 
could function in a copy mode with a CRT- 
type terminal, we tried it in this same copy 
mode with a Hazeltine 1500 terminal, which 
connects through an acoustical coupler to 
any of our three time-sharing computers on 
campus. 

Again, we encountered no difficulty, al- 
though the Hazeltine 1500 does not have 
the capability of being able to copy what is 
already on the CRT screen. We found, how- 
ever, that judicious use of the main power 




Microcomputing, April 1980 107 



TRS-80, Apple II 
and S 100 owners. 



Busy Box. 



TM 



It makes your 
computer 

do things 

it never 

did before. 




MicroMint introduces a new wireless 
AC remote control interface for the 
Sears and BSR X-10 home control 
system. Use your present TRS-80 
Level II, Apple II or S-100 computer to 
provide complete home security through 
control of lights, appliances and motors 
with a few simple Basic commands. 
Buss compatible with virtually all 
microcomputers. Completely assembled 
— Just plug in and turn on! 



it 



As featured in: 
COMPUTERIZE A HOME" 
BYTE, January 1980 



BUSY 
BOX 



^^T^ 



Assembled and tested. ipr 

Busy Box $79.95 

Cable and connector for TRS-80 14.95 
Cable and adapter for Apple II 29.95 

Cable and adapter for S-100 34.95 

Power Supply (necessary for TRS-80) 9.95 
Real-Time software for TRS-80 1 9.95 

NY residents add 7% sales tax. 

To order call (516) 374-6793 
or write: The MicroMint Inc. 

917 Midway 

Woodmere, NY 11598 

Dealer inquiries invited. 

TRS 80 is trademark ol Tandy Corp 
Apple II is trademark ot Apple Computer 




^© 




switch on the Tiger could give us the 
capability of selective copy with little dif- 
ficulty. 

We next turned our attention to using the 
printer as a direct printer, using a serial out- 
put port on the North Star Horizon. Again, 
we had immediate success. We connected 
to port 1, brought up the computer and 
printed at 1200 baud without problem or er- 
ror. 

Finally, we tested the graphics capabili- 
ty. This took a bit more work — not in the in- 
terface, but in learning the format and writ- 
ing and assembling a program to use the 
graphics mode. 

In the graphics mode, the printer will re- 
spond to twelve different control se- 
quences. Each sequence consists of a pair 
of ASCII control characters. The first of 
each pair is ETX, which commands the 
graphics mode, while the second character 
in the pair commands some function, e.g., 
linefeed (LF), vertical tab (VT), etc. 

In graphics mode, the printer interprets 
any data byte in a strictly binary fashion, 
which, in turn, causes the seven-vertical- 
needle printhead to output a column of 
from zero to six dots. Bits to 5 of each byte 
are used. Bit six is also read and printed but 
is overwritten by the next print line, so bit 
six should always be zero. Bit 7 is ignored. 

The printer uses a raster-scan-type of ac- 
tion, and two scans are equivalent to one 
line of normal character printing. Mixed 
graphics and character printing are both 
possible and relatively easy. The logo ex- 
amples represent the printer's graphics 
output capability. 

The graphics-mode vertical-dot density is 
approximately 72 dots per inch (0.014 inch 
between print needle centers). As in char- 
acter printing, horizontal dot density is a 
function of selected print density. The near- 
est approach to equal horizontal and ver- 
tical density exists at a 12 cpi print density, 
where the horizontal distance between print 
needle centers is 0.0156 inch. This is the 
setting used in the logo examples. 

At this density, an 8 inch print line con- 
sists of 513 dots. In an 8 by 10 inch print 
area, you can achieve good resolution with 
369,360 individual dots printed. However, if 
you used a byte of memory for each 6-dot 
column of such an output, 61,560 bytes of 
data would be required. 

Fortunately, in practice such memory 
size is not required; the examples require 
less than 4K bytes for both data storage 
and program. This compression occurs be- 
cause subroutines for standard shapes can 
be written, then combined repetitively to 
produce the desired output. For example, a 
full line of any vertical dot arrangement re- 
quires no data storage, and only 19 bytes of 
instructions. This line can be called re- 
peatedly in a given program. 



Observations 

The overall quality of the unit, its ease of 
use and its ease of maintenance are im- 
pressive characteristics. The print ribbon 
deserves special note. The ribbon is con- 
tained on typewriter-sized spools, which are 
readily accessible for changing. The ribbon 
runs over two inking rollers and is driven by 
its own ribbon drive motor. Ribbon life is 5 
to 10 million characters. 

When it is necessary to change the rib- 
bon, then the inking rollers should also be 
changed. Ribbons and rollers are available 
from IDS as a set for $12. Since the print- 
head has an estimated life expectancy of 
100 million characters, the ribbon cost is 
nominal over the life of the printer. 

The world is not perfect, and the Paper 
Tiger has some annoyances. The printer 
output, left to its own devices, sometimes 
gets trapped in the inbound paper, causing 
a minor jam, and usually resulting in over- 
printed lines. I have "jury-rigged" a wire bail 
to carry the paper out behind the machine; 
this seems to work well. An accessory 
paper tray to catch the output is available 
for $12. 

In the graphics mode, row-to-row regis- 
tration seems to be sensitive to minor mal- 
adjustments of printhead and paper drive 
belt tensions, and to the positioning of the 
paper supply pile. With careful adjustment, 
long vertical or slanted lines appear 
straight, and row-to-row distance remains 
relatively constant. Twenty pound paper 
works better in graphics mode than does 
sixteen pound, as it is heavier and more 
stable. In normal print mode, minor malad- 
justments do not affect the print appear- 
ance nearly as much. 

Like most matrix printers, noise during 
printing is evident. It is difficult for me to ap- 
praise this in definite terms, as other equip- 
ment in the lab prints at a slower rate. 
Furthermore, my little lab is typical of 
university labs — no drapes, no carpet and 
lots of surfaces for sound to reflect from. 
When we can, we plan to make some rela- 
tive sound measurements under controlled 
conditions. 

Conclusions 

Based on my experience with this unit, I 
consider the Paper Tiger an outstanding 
printer, especially in view of its $995 base 
price, and $199 for the graphics capability 
and extra buffer. The manual is exceptional 
in its clarity and inclusion of trouble- 
shooting and maintenance material, in- 
cluding circuit diagrams. 

It has three main modes of operation — as 
a CRT duplicator, as a conventional printer 
and as a dot graphics printer. With the ap- 
propriate CRT, the Paper Tiger can also 
copy ASCII material as composed on the 
CRT screen. ■ 



108 Microcomputing, April 1980 




CM-600 $6.95* 
RW-50 $2.98* 

NEW CM-600 SOLDERLESS PROTOTYPE BOARD 

CM- 600 is a unique system for solderless construction of circuit prototypes, useful to 
both engineers and hobbyists. The CM-600 is a neoprene board 4£" (114mm) x 6" 
(152mm) with 2280 holes on .100" (2.54mm) centers. Standard components 
including DIP's are mounted by simply inserting leads into the holes in the long life 
neoprene material. Interconnections are easily made using 20 or 22 AWG(0,8 or 
0,65mm) wire jumpers. Positive contact is assured by the elasticity of the hole, which 
compresses the leads together. To remove components or leads, simply pull out. This 
facilitates easy circuit changes making it ideal for breadboarding experimental 
circuits. CM-600 also features numbered rows and columns for easy reference. 
Accessory Kit RW-50 contains 50 pes of AWG 20(0,8mm) insulated jumper wires of 
assorted lengths from A"(13mm) to 4"(100mm). Both ends are stripped and bent 90° 
for easy insertion. In stock directly from 

OK Machine & Tool Corporation ^ 

3455 Conner St., Bronx,N. Y. 10475 U.S.A. 
Tel. (212) 994-6600 Telex 125091 

* Minimum billings $25.00, add snipping cnarge $2.00 
x^ New York State residents add applicable tax 



y* Reader Service — see page 257 



Microcomputing, April 1980 109 




WORLD 



OMPUTIHO 



Hardly a day passes without the computer having some effect on millions 
around the world. The world of microcomputing is changing every day, 
and there's one way you can keep up to speed in this dynamic field: 
Subscribe to Kilobaud MICROCOMPUTING. MICROCOMPUTING magazine 
is the forerunner in small business and home computing, loaded with ar- 
ticles on the most popular microcomputers available: the TRS-80, Apple, 
PET, Heathkit, Imsai and Altair, to name a few. In addition, the articles 
cover a whole range of subjects, from business applications to educa- 
tional uses, from product reviews in the latest in software. 



= 



Card # 



ENTER A WHOLE NEW WORLD WITH 
KILOBAUD MICROCOMPUTING FOR ONLY $18 

□ One year— $18 

□ Two years — $30 

□ Three years — $45 

□ Payment enclosed □ Bill me later 

□ Visa □ Master Charge □ Amex 

Exp. Date. 



Signature 
Name 



Address 
City 



State. 



Zip. 



Canada: same as US, in US currency. 

Other foreign: $23. one year only. US currency or checks drawn on US funds. 



Please allow 4-6 weeks for delivery. 

304B7 



Kilobaud Microcomputing • Subscription Dept • PO Box 997 • Farmlngdale NY 11737 

110 Microcomputing, April 1980 






Larry Dolce 

2 May field St. 

Valley Cottage NY 10989 



RCA's VIP Tiny BASIC 



Cosmac users who have been looking to fill a software void need look no further. 



Those of us who purchased 
RCA's Cosmac VIP micro- 
processor and have outgrown 
playing games, but have found 
little other software, can relax. 
For $39 RCA offers VIP Tiny 
BASIC in 4K ROM. The basic 
board plugs directly into the ex- 
pansion connector and starts 
up as soon as you switch the 
VIP toggle switch to RUN. The 
only other requirement for run- 
ning VIP Tiny BASIC is an ASCII 
keyboard. 

Commands 

Table 1 contains the VIP Tiny 
BASIC commands and their re- 



spective abbreviations. Some of 
the abbreviations fail to save 
keystrokes, so I did not see any 
real use for these abbreviations. 
The question mark abbreviation 
for the print statement is a real 
time-saver considering the 
number of times the print state- 
ment is used in a program. An- 
other time-saver allowed by VIP 
BASIC is the omission of the 
keyword LET when assigning 
values to variables. 

When the program is dis- 
played using the list command, 
VIP Tiny BASIC replaces all ab- 
breviations with the full spelling. 

As in other BASICS, lines can 



Command 


Abbreviation 


Operation 


New 


N. 


Clears program storage area 


List 


L. 


Displays program starting at lowest line number 


List n 




Displays program starting at line n 


Run 


R. 


Executes program beginning at lowest line 


Go To n 


G. 


Branch to line number n 


Go Sub n 


GOS. 


Call subroutine at line n 


Return 


RET. 


Return from subroutine 


If (exp.) then n 


I.T. 


Tests expression and, if true, branches to line n 


Input 


IN. 


Input numeric data only 


Let 


LE. 


Assigns value to a variable 


Print 


P. or? 


Prints information on screen 


Print at X,Y 


PA. or ?A 


Prints information on screen at coordinates of X and Y 


Rem 


RE. 


Allows remarks in program 


ABS (X) 


A. 


Absolute value of expression X 


?WD 


TV 


Returns a random number from to 255 


END 


E. 


Halts program execution 


SAVE 


S. 


Stores program on cassette 


LOAD 


LO. 


Loads program from cassette 


CLS 


CL. 


Clears screen 


COLOR 


C. 


Sets color (requires color board) 


Go Key 


GOK. 


Branch on any key pressed 


KEY 


K. 


Contains ASCII value of key pressed in Go Key 
statement 


Tl 




Sets internal timer 


FQn 


F. 


Sets tone frequency (requires simple sound board) 
to value of n 


TOn 




Sets tone duration of value of n 


Show X, Y 


SH. 


Display pattern of variable PT at coordinates of X and Y 


PTn 




Special variable to display bit pattern of n with show 
command 


TV On 




Turns screen on 


TV Off 




Turns screen off 


HIT 


H. 


Special variable that determines if a hit occurred to a 
pattern in the last show or print at statement 


MEM 


M. 


Displays program storage space remaining 




Table 1. 


VIP Tiny BASIC commands. 



be inserted or deleted. To delete 
a line, type the line number and 
return. Inserting a line requires 
that a line number be available 
at the place in the program 
where you wish to insert the new 
statement. For this reason, it is 
a good idea to increment line 
numbers by at least 10 or 20 to 
allow room for insertion. 

Table 2 lists the error mes- 
sages that VIP BASIC displays. 
The "What?" error message is 
convenient because VIP BASIC 
displays a question mark (?) 
before the first occurrence of a 
syntax error (see Photo 1). This 
makes it easy to identify and 
correct errors in syntax. The 
"How?" error will also display a 
question mark at the point in the 
statement where the error 
exists. The remaining error mes- 
sages are self-explanatory. 

Operations and Variables 

VIP BASIC contains four 
arithmetic operations: addition 
( + ), subtraction (-), multipli- 
cation (*) and division (/). Con- 
ditions are tested using the fol- 
lowing relational operations: 
greater than (>), equal to ( = ), 
greater than or equal to (> = ), 
less than (<), not equal to (<>) 
and less than or equal to (< = ). 

VIP BASIC variables are A 
through Z, allowing for one sub- 
scripted variable, that is, A(X). 
The subscripted variable A(X) is 



not the same as variable A, and 
both can be used in the same 
program. 

The numeric range for VIP 
BASIC is the same for many 
other Tiny BASICS. Since these 
interpreters perform 16-bit (two- 
byte) integer arithmetic, the 
maximum positive value of an 
integer is 32767. Any value over 
32767 becomes a negative 
number. This allows the range of 
any number to be between 
-32768 and +32767. 

Use 

The first thing I had to be- 
come accustomed to was VIP 
BASIC'S speed. My experience 
with BASIC has been with a na- 
tional time-sharing service us- 
ing large mainframe computers. 
Attempting to program my VIP 
using BASIC caught me by sur- 
prise. This BASIC is not very 
fast, especially when it comes 
to calculations. 

One way to increase pro- 
cessing speed is to use the 
TVOFF and TVON commands. 
Turning the display off and then 
back on will allow the VIP to pro- 
cess in about 50 percent of the 
time required with the display 
on. 

The reason for the increase in 
speed concerns the video inter- 
face. The 1861 video IC inter- 
rupts the 1802 microprocessor 
60 times per second to refresh 



Error Message 


Cause 


What? 

How? 

LDERR 

ERR 

Sorry 




Syntax error 

Not enough information 

Tape read error 

Invalid data for input command 

No more memory 


Table 2. 


VIP 


Tiny BASIC error messages. 



Microcomputing, April 1980 111 




NOW . . . DISCOVER 

16-BIT MICROPROCESSORS! 



MICROPROCESSOR 
LEARNING PACKAGE 




UNIVERSITY MODULE 

We offer Tl's 16-bit educational module and back it up with 
support products and services to provide a complete 
learning package. The University module includes: 16-bit 
microprocessor; on-board alphanumeric terminal and 1 0- 
character, 7-segment alphanumeric display; firmware- 
resident debug monitor and symbolic assembler; audio 
cassette interface; user -addressable LEDs; 16-bit 
programmable I/O controller; optional EIA and TTY interface; 
4K bytes of ROM (expandable to 6K) and 1 K bytes of RAM 
(expandable to 2K). 



MEMORY AND I/O EXPANSION MODULE 

To make the University module even more useful, we 

designed the Expansion module to provide 8K 

bytes of additional memory! It has 

sockets for 8K bytes of EPROM 

and sockets for 8K bytes of static 

RAM, which are address 

configurable on 1 K byte 

boundaries. Included is an EPROM 

programmer for Tl 2708's and 

271 6's. This module is the mother 

board for 1 5 additional 32-bit I/O 

expansion ports. 



DOCUMENTATION PACKAGE 

To support your hardware and 
software, we offer the 550-page 
textbook, Introduction to 
Microprocessors. Included in the 
book are exercises and lab 
experiments designed specifically 
for the University module. 
Application notes are available, 
along with a set of demonstration 
programs on audio cassettes. 
Courses and workshops are also 
offered. Write or call today for more 
information on dates and times. 

Buy through GGA, Inc. and save! University module with 
demonstration programs on audio cassettes — $299. Memory 
and I/O Expansion module — $299. Power supply for 
University module — $65. 



Contact: Educational Products Department 
12840 Hi Merest Road, Suite 113, Dallas, Texas 75230 

(214)980-0730 






Photo 1. The "What?" error message. Note position of "?" before 
quotes. This indicates where the syntax error occurred. 



^158 




I neorge Cjoode & Associates, Inc. 



the display. Turning off the 
video allows the 1802 to process 
without interruption. 

Another aspect of VIP BASIC 
that required a little acclimation 
is the display itself. The RCA VIP 
BASIC uses a 64 by 32 bit dis- 
play page. Utilizing this display 
map, you can display five lines 
of 16 characters if each char- 
acter occupies a 4 by 6 bit 
matrix. Each character must fit 
in an area six bits high by four 
bits wide. This is not much room 
to display letters such as W and 
M. (See Photo 2 for an example 
of the VIP basic character set. 
All characters are shown except 
for t, which is not decoded on 
my GRI keyboard.) 

After becoming accustomed 
to the display, I began struc- 
turing my programs using 16 
characters or less per line. Hav- 
ing the ability to use Tiny BASIC 
on my VIP gave me the feel of 
programming, which far out- 
weighs the shortcomings of this 
BASIC. 



The Manual 

The manual supplied with the 
BASIC ROM board is directed 
toward the beginner. An expla- 
nation of the BASIC program- 
ming language is given, along 
with an attempt to provide a 
feeling for programming. 

Having been a professional 
programmer, I have found no 
problems in understanding the 
RCA manual. I would recom- 
mend to anyone interested in 
programming VIP BASIC or, for 
that matter, any other program- 
ming language to read as much 
as possible on the use of the 
language. 

Conclusion 

I like VIP Tiny BASIC. There is 
enough substance in this BASIC 
to keep even a "professional" 
programmer happy. If you al- 
ready own an RCA Cosmac VIP 
microprocessor, you should 
consider acquiring VIP Tiny 
BASIC. ■ 




Photo 2. VIP BASIC character set. 



112 Microcomputing, April 1980 



DIGITAL RESEARCH mUml 

D CP/M FLOPPY DISKETTE OPERATING SYSTEM - 

(g) Packages supplied on diskette complete with 8080 
assembler, text editor, 8080 debugger and various 
utilities plus full documentation. CP/M available con- 
figured for most popular computer/disk systems in- 
cluding! North Star Single. Double or Quad density. 
Altair 8" disks, Helios II, Exidy Sorcerer, Vector MZ, 
Heath H17f or H89t, TRS-80T. iCOM 3712 and iCOM 
Micro Disk plus many other configurations available 

off the shelf $145/$25 

CP/M version 2 (not all formats available immediately) 
$170/$25 

MP/M* S300/S50 



EIDOS SYSTEMS 



YSTEMS / 



/ 



□ 



□ 



D 



□ 
□ 



□ 




Software / 

wrth /Manual 
Manual/ Alona 

KISS — Keyed Index Sequential Search. Offers com- 
® plete Multi-Keyed Index Sequential and Direct Ac- 
cess file management. Includes built-in utility func- 
tions for 16 or 32 bit arithmetic, string/integer conver- 
sion and string compare. Delivered as a relocatable 
linkable module in Microsoft format for use with 
FORTRAN-80 or COBOL-80, etc $335/$23 

D KBASIC - Microsoft Disk Extended BASIC with all 

(l) KISS facilities, integrated by implementation of nine 

additional commands in language. Package includes 

KISS. REL as described above, and a sample mail 

list program $585/$45 

To licensed users of Microsoft BASIC-80 (MBASIC) 
$435/$45 



MAC — 8080 Macro Assembler. Full Intel macro defi- 
nitions. Pseudo Ops include RPC, IRP, REPT, TITLE, 
PAGE, and MACLIB. Z80 library included. Produces 
Intel absolute hex output plus symbols file for use by 
SID (see below) $85/$l 5 

SID — 8080 symbolic debugger. Full trace, pass count 
and break-point program testing system with back- 
trace and histogram utilities. When used with MAC. 
provides full symbolic display of memory labels and 
equated values ««•% $70/$15 

ZSID - As above for Z80. Requires Z80 CPU $95/$25 

TEX — Text formatter to create paginated, page-num- 
bered and justified copy from source text files, direct- 
able to disk or printer $70/$15 

DESPOOL — Program to permit simultaneous printing 
of data from disk while user executes another pro- 
gram from the console $45/$5 

MICROSOFT 

G BASIC-80 - Disk Extended BASIC. ANSI compatible 
(C) with long variable names, WHILE/WEND, chaining, 
(g> variable length file records $300 '$25 

D BASIC COMPILER - Language compatible with 
(l) BASIC-80 and 3-10 times faster execution. Produces 

(B) standard Microsoft relocatable binary output. In- 
cludes Macro-80 Also linkable to FORTRAN-80 or 
COBOL-80 code modules $350 $25 

□ FORTRAN-80 - ANSI 66 (except for COMPLEX) plus 

(C) many extensions. Includes relocatable object com- 
(O) piler. linking loader, library with manager. Also in- 
cludes MACRO-80 (see below) $400/$25 

D COBOL-80 - Level 1 ANSI 74 standard COBOL plus 
most of Level 2. Full sequential, relative, and in- 
(B) dexed file support with variable file names. STRING. 
UNSTRING, COMPUTE, VARYING/UNTIL. EXTEND. 
CALL, COPY. SEARCH, 3-dimensional arrays, com- 
pound and abbreviated conditions, nested IF. Power- 
ful interactive screen-handling extensions. Includes 
compatible assembler, linking loader, and relocat- 
able library manager as described under MACRO-80 
$625/$25 

□ MACRO-80 - 8080/Z80 Macro Asembler. Intel and 
(T) Zilog mnemonics supported. Relocatable linkable 
(6T> output. Loader, Library Manager and Cross Refer- 
ence List utilities included $149/$15 

□ XMACRO-86 - 8086 cros* Ms4mbler. All Macro and 

l utility features ot MACRCj-80 package. Mnemonics 
slightly modified Worn Intel ASM86 Compatibility data 
sheet available* !t. $275/$25 

□ EDIT-80 — Very fast random access text editor for text 
(t) with or without line numbers. Global and intra-line 

commands supported. File compare utility included 
S89/S15 



MICRO FOCUS 

n STANDARD CIS COBOL - ANSI 74 COBOL stand- 
ard compiler fully validated by U.S. Navy tests to 
ANSI level 1. Supports many features to level 2 in- 
cluding dynamic loading of COBOL modules and a 
full ISAM file facility. Also, program segmentation, 
interactive debug and powerful interactive extensions 
to support protected and unprotected CRT screen 
formatting from COBOL programs used with any 
dumb terminal $850/$50 

O FORMS 2 - CRT screen editor Output is COBOL data 
descriptions for copying into CIS COBOL programs 
Automatically creates a query and update program of 
indexed files using CRT protected and unprotected 
screen formats. No programming experience needed 
Output program directly compiled by CIS COBOL 
(standard) $200/$20 

O HOBS - Hierarchical Data Base System. CODASYL 
oriented with FILEs. SETs, RECORDS and ITEMS 
which are all user defined. ADD, DELETE. UPDATE. 
SEARCH, and TRAVERSE commands supported. SET 
ordering is sorted, FIFO, LIFO, next or prior. One to 
many set relationship supported Read/Write protec- 
tion at the FILE level. Supports FILEs which extend 
over multiple floppy or hard disk devices. 

MDBS — Micro Data Base System. Full network data 
base with all features of HDBS plus multi-level Read/ 
Write protection for FILE, SET, RECORD and ITEM 
Explicit representation of one to one, one to many, 
many to many, and many to one SET relationships. 
Supports multiple owner and multiple record types 
within SETs HDBS files are fully compatible. 

MDBS-DRS - MDBS with Dynamic Restructuring Sys- 
tem option which allows altering MDBS data bases 
when new ITEMs. RECORDS, or SETs are needed 
without changing existing data. 

HDBS-Z80 version $250 $35 

MDBS-Z80 version $750/$35 

MDBS-DRS-Z80 version $850/$35 

8080 Version available at $75 extra. 



(^Z/^yU<^u>p/ 



© 

M 



□ 



Z80 version requires 20K RAM. 8080 version requires 
24K RAM (Memory requirements are additional to 
CP/M and application program ) 

When ordering HDBS or MDBS please specify if the 
version required is for 1) Microsoft L80 i.e. FOR- 
TRAN-80, COBOL-80, BASIC COMPILER, 2) MBASIC 
4. XX, or 3) BASIC-80 5.0. 

Prices and specifications subject to change without notice. 



^a sw tion and Re-order I 

Shopping 
ListNo.10 



MICROPRO 

SUPER-SORT I — Sort, merge, extract utility as abso- 
lute executable program or linkable module in Micro- 
soft format. Sorts fixed or variable records with data 
in binary, BCD, Packed Decimal, EBCDIC, ASCII, 
floating, fixed point, exponential, field justified, etc. 
Even variable number of fields per record! $225/$25 

SUPER-SORT II — Above available as absolute pro- 
© cm; gram only $1 75/$25 

□ SUPER-SORT III - As II without SELECT/EXCLUDE 
0® $125/$25 

□ WORD-STAR — Menu driven visual word processing 
system for use with standard terminals. Text format- 
rfi) ting performed on screen. Facilities for text paginate. 

page number, justify, center and underscore. User 
can print one document while simultaneously editing 
a second. Edit facilities include global search and 
replace. Read/Write to other text files, block move, 
etc Requires CRT terminal with addressable cursor 
positioning $445 $40 

D WORD-STAR/MAIL-MERGE - As above with option 
for production mailing of personalized documents 
<g> with mail list from Datastar or NAD $575/$25 

□ WORD-STAR Customization Notes -For sophisticated 
users who do not have one of the many standard 
terminal or printer configurations in the distribution 
version of WORD-STAR NA/S100 

□ WORD-MASTER Text Editor— In one mode has super- 
set of CP/M's ED commands including global search- 
(S) ing and replacing, forwards and backwards in file in 

video mode, provides full screen editor for users with 
serial addressable-cursor terminal $12S/$25 

D DATASTAR — Professional forms control entry and 
display system for key-to-disk data capture. Menu 
(8) driven with built-in learning aids Input field verifica- 
tion by length, mask, attribute (i.e. uppercase, lower- 
case, numeric, auto dup . etc.). Built-in arithmetic 
capabilities using keyed data, constants and derived 
values. Visual feedback for ease of forms design. 
Files compatible with all CP/M-MP/M supported lan- 
guages. Requires 32K CP/M $350/$35 

□ CBASIC-2 Disk Extended BASIC - Non-interactive 
(U) BASIC with pseudo-code compiler and runtime in- 
terpreter. Supports full file control, chaining, integer 
and extended precision variables, etc $109/$15 

PASCAL M — Compiler generates P code from ex- 
tended language, implementation of standard PAS- 
CAL. Supports overlay structure through additional 
procedure calls and the SEGMENT procedure type 
Provides convenient string handling capability with 
the added variable type STRING. Untyped files allow 
memory image I/O. Requires 56K CP/M . . . $350/$30 

PASCAL/Z - Z80 native code PASCAL compiler. Pro- 
duces optimized, ROMable re-entrant code. All inter- 
facing to CP/M is through the support library. The 
package includes compiler, companion macro-as- 
sembler and source for the library. Requires 56K 
and Z80 CPU 
Version 2 includes all of Jensen/Wirth except variant 

records $275/$25 

Version 3 Upgrade with variant records and strings 
expected 3/80 $395/$25 

TJ PASCAL/MT - Subset of standard PASCAL. Gener- 

(§) ates ROMable 8080 machine code. Symbolic debug- 

ger included. Supports interrupt procedures. CP/M 

■ I file I/O and assembly language interface. Real vari- 

> W p, ables can be BCD. software floating point, or AMD 

l Jt/^^ 9511 hardware floating point. Version 3 includes 

1/ . Sets. Enumeration and Record data types. Manual 

AJ0*v^J explains BASIC to PASCAL conversion. Source for 

'fiifirlhe run time package requires MAC (See under Digi- 

V^^f tal Research). Requires 32K $250/$30 



STRUCTURED SYSTEMS GROUP 

□ GENERAL LEDGER - Interactive and flexible system 
ft providing proof and report outputs. Customization of 

COA created interactively. Multiple branch account- 
ing centers. Extensive checking performed at data 
entry for proof, COA correctness, etc. Journal entries 
may be batched prior to posting Closing procedure 
automatically backs up input files. Now includes 
Statement of Changes in Financial Position. Requires 
CBASIC-2 $1250/$25 

□ ACCOUNTS RECEIVABLE - Open item system with 
tt output for internal aged reports and customer-ori- 
ented statement and billing purposes. On-Line En- 
quiry permits information for Customer Service and 
Credit departments Interface to General Ledger pro- 
vided if both systems used. Requires CBASIC-2. 
$1250 $25 

ACCOUNTS PAYABLE - Provides aged statements 
of accounts by vendor with check writing for selected 
invoices Can be used alone or with General Ledger 
and/or with NAD. Requires CBASIC-2 $1250/$25 

PAYROLL — Flexible payroll system handles weekly, 
bi-weekly, semi-monthly and monthly payroll periods. 
Tips, bonuses. re-imburserrsente. advances, sick pay, 
vacation pay. and compensation time are all part of 
the payroll records Prints government required peri- 
odic reports and will post to multiple SSG general 
ledger accounts. Requires CBASIC-2 . . . $1250/$25 

□ INVENTORY CONTROL SYSTEM - Performs control 
tt functions of adding and depleting stock items, add- 
ing new items and deleting old items. Tracks quantity 
of items on hand, on order and back-ordered. Op- 
tional hard copy audit trail is available. Reports in- 
clude Master Item List, Stock Activity. Stock Valua- 

List. Requires CBASIC-2 $1250/$25 



□ 
© 
© 



© 



i ! 
tt 



□ 

tt 




Manual Alona 

n ANALYST — Customized data entry and reporting sys- 
tt tern. User specifies up to 75 data items per record 
Interactive data entry, retrieval, and update facility 
makes information management easy. Sophisticated 
report generator provides customized reports using 
selected records with multiple level break-points for 
summarization. Requires CBASIC-2 $250/$15 

G LETTERIGHT — Program to create, edit and type let- 
ters or other documents Has facilities to enter, dis- 
play, delete and move text, with good video screen 
presentation Designed to integrate with NAD for 
form letter mailings. Requires CBASIC-2 $200/$25 

L ] NAD Name and Address selection system — interac- 
tive mail list creation and maintenance program with 
output as full reports with reference data or restricted 
information for mail labels. Transfer system for ex- 
traction and transfer of selected records to create 
new files. Requires CBASIC-2 $100 $20 

□ QSORT — Fast sort/merge program for files with fixed 
record length, variable field length information. Up to 
five ascending or descending keys. Full back-up of 
input files created $100 $20 



GRAHAM-DORIAN SOFTWARE SYSTEMS 

GENERAL LEDGER — An on-line system; no batch- 
ing is required. Entries to other GRAHAM-DORIAN 
accounting packages are automatically posted. User 
establishes customized CO. A. Provides transaction 
register, record of journal entries, trial balances and 
monthly closings. Keeps 14 month history and pro- 
vides comparison of current year with previous year. 
Requires CBASIC-2. Supplied in source $995/$35 

ACCOUNTS PAYABLE - Maintains vendor list and 
check register. Performs cash flow analysis. Flexible 
— writes checks to specific vendor for certain in- 
voices or can make partial payments. Automatically 
posts to GRAHAM-DORIAN general ledger or runs as 
stand alone system. Requires CBASIC-2 Supplied in 
source $995 $35 



tt 



□ 
© 
® 
tt 



ACCOUNTS RECEIVABLE - Creates trial balance re- 
ft) ports, prepares statements, ages accounts and rec- 
® ords invoices. Provides complete information describ- 
tt ing customer payment activity. Receipts can be 
posted to different ledger accounts. Entries auto- 
matically update GRAHAM-DORIAN general ledger 
or runs as stand alone system. Requires CBASIC-2 
Supplied in source $995 $35 

PAYROLL SYSTEM — Maintains employee master file 

(D Computes payroll withholding for FICA, Federal and 

® State taxes. Prints payroll register, checks, quarterly 

tt reports and W-2 forms. Can generate ad hoc reports 

and employee form letters with mail labels. Requires 

CBASIC-2 Supplied in source $590/$35 

D INVENTORY SYSTEM - Captures stock levels, costs, 
i sources, sales, ages, turnover, markup, etc. Trans- 
® action information may be entered for reporting by 
tt salesman, type of sale, date of sale, etc. Reports 

available both for accounting and decision making. 

Requires CBASIC-2. Supplied in source $590 $35 

JOB COSTING — Designed for general contractors 
® To be used interactively with other GRAHAM-DORIAN 
:M. accounting packages for tracking and analysing ex- 
tt penses User establishes customized cost categories 
and job phases. Permits comparison of actual versus 
estimated costs Automatically updates GRAHAM- 
DORIAN general ledger or runs as stand alone sys- 
tem. Requires CBASIC-2. Supplied in source $995/$35 

G APARTMENT MANAGEMENT SYSTEM - Financial 
© management system for receipts and security de- 
® posits of apartment projects. Captures data on va- 
tt cancies, revenues, etc. for annual trend analysis 
Daily report shows late rents, vacancy notices, va- 
cancies, income lost through vacancies, etc. Requires 
CBASIC-2. Supplied in source $590 $35 

G CASH REGISTER — Maintains files on daily sales 
© Files data by sales person and item Tracks sales. 
® over-rings, refunds, payouts and total net deposits 
tt Requires CBASIC-2. Supplied in source . $590/$35 



& 



G Hny C — Interactive interpretive system for teaching 

structured programming techniques. Manual includes 

full source listings $75/$40 

BDS C COMPILER — Supports most major features of 
W) language including Structures, Arrays. Pointers, re- 
(j\ cursive function evaluation, linking loader and li- 



%* 



brary. Floating point function library included. Lacks 
data initialization and static and register class speci- 
fiers Documentation includes "THE C PROGRAM- 
MING LANGUAGE" by Kernighan and Ritchie. 
S125/S15 

WHITESMITHS C COMPILER - The ultimate in sys- 
(i) terns software tools. Produces faster code than Pas- 
(V) cal with more extensive facilities. Conforms to the 
full UNIX*** Version 7 C language, described by 
Kernighan and Ritchie, and makes available over 75 
functions for performing I/O, string manipulation and 
storage allocation. Linkable to Microsoft REL files 
Requires 60K CP/M $630/$30 

POLYVUE/80 - Full screen editor for any CRT with 
XY cursor positioning. Includes vertical and horizon- 
tal scrolling, interactive search and replace, auto- 
matic text wrap around for word processing, opera- 
tions for manipulating blocks of text, and compre- 
hensive 70 page manual $135 $15 

POLYTEXT/80 — Text formatter for word processing 
(m) applications. Justifies and paginates source text files. 
Will generate form letters with custom fields and 
conditional processing. Support for Daisy Wheel 
printers includes variable pitch justification and mo- 
tion optimization $85/$15 

ALGOL-60 Powerful block-structured language com- 
piler featuring economical run time dynamic alloca- 
tion of memory. Very compact (24K total RAM) sys- 
tem implementing almost all Algol 60 report features 
plus many powerful extensions including string han- 
dling direct disk address I/O etc. Requires Z80 
CPU $199/120 

Z80 DEVELOPMENT PACKAGE -Consists of (1) disk 
(8) file line editor, with global inter and intra-line facili- 
ties; (2) Z80 relocating assembler, Zilog/Mostek mne- 
monics, conditional assembly and cross reference 
table capabilities; (3) linking loader producing abso- 
lute Intel hex disk file $95/$20 

'CP/M is a trademark of Digital Research. 

* "Z80 is a trademark of Zilog, Inc. 

* "UNIX is a trademark of Bell Laboratories 
* * * 'WHATSIT? is a trademark of Computer Headware. 
' * * * * Electric Pencil is a trademark of Michael Shrayer Soft- 
ware. 

* TRS-80 is a trademark of Tandy Corp. 



□ 



□ 



G 



□ 



•■I*'' Manual 
Ma**>uai Aion* 

Q 2DT — Z80 Monitor Debugger to break and examine 
(g) registers with standard Zilog/Mostek mnemonic dis- 
assembly displays $35 when ordered with Z80 Devel- 
opment Package $50/$10 

G DISTEL — Disk based disassembler to Intel 8080 or 
TDL/Xitan Z80 source code, listing and cross refer- 
ence files. Intel or TDL/Xitan pseudo ops optional. 
Runs on 8080 $65 $10 

GDISILOG-As DISTEL to Zilog/Mostek mnemonic 
(St) files Runs on Z80 only $65/$10 

G XASM-68 — Non-macro cross-assembler with nested 
conditionals and full range of pseudo operations. As 
sembles from standard Motorola MC6800 mnemonics 
to Intel hex $200/$25 

XASM-65 - As XASM-68 for MOS Technology MCS- 
6500 series mnemonics $200/$25 

G TEXTWRITER III - Text formatter to justify and pagi- 
(§) nate letters and other documents. Special features 
inckde insertion of text during execution from other 
disk files or console, permitting recipe documents 
to be created from linked fragments on other files. 
Has facilities for sorted index, table of contents and 
footnote insertions Ideal for contracts, manuals, etc 

Now compatible with Electric Pencil prepared 

files $125/$20 

Q POSTMASTER — A comprehensive package for mail 

(tt> list maintenance that is completely menu driven. 

Features include keyed record extraction and label 

.jj production A form letter program is included which 

hf* A provides neat letters on single sheet or continu- 

U/^C ous forms. Compatible with NAD files Requires 

yyr T CBASIC-2 $150/$15 

Q WHATSIT?* ••• Interactive data-base system using 
associative tags to retrieve information by subject. 
Hashing and random access used for fast response 
Requires CBASIC-2 $125 $25 

XYBASIC Interactive Process Control BASIC - Full 
disk BASIC features plus unique commands to han- 
dle bytes, rotate and shift, and to test and set bits. 
Available in Integer. Extended and ROMable versions. 

Integer Disk or Integer ROMable $295/$25 

Extended Disk or Extended ROMable $395/$25 

Q SMAL/80 Structured Macro Assembled Language — 
Package of powerful general purpose text macro 
processor and SMAL structured language compiler. 
SMAL is an assembler language with IF-THEN-ELSE, 
LOOP-REPEAT-WHILE, DO-END, BEGIN-END con- 
structs $75/$15 

Q SELECTOR III-C2 - Data Base Processor to create 

tt and maintain multi Key data bases. Prints formatted 

*•) sorted reports with numerical summaries or mailing 

j*j labels. Comes with sample applications, including 

i tfN^ I Sales Activity. Inventory, Payables, Receivables, 

[/yijp- Check Register, and Client/Patient Appointments, etc. 

fr*T Requires CBASIC-2. Supplied in source $295/$20 

I GLECTOR - General Ledger option to SELECTOR 
III-C2. Interactive system provides for customized 
COA Unique chart of trafisjBfttlon types insure proper 
double entry bookk*cpkic}. Generates balance sheets, 
P&L statement*! end journals Two year record allows 
for statement ct CTtanges in financial position report. 
Supplied in source. Requires SELECTOR III-C2, 
CBASIC-2 and 52K system $250/$25 

G CPM/374X - Has full range of functions to create or 
re-name an IBM 3741 volume, display directory infor- 
mation and edit the data set contents. Provides full 
file transfer facilities between 3741 volume data sets 
and CP/M files $195/$10 

Q BASIC UTILITY DISK - Consists of: (1) CRUNCH-14 
% — Compacting utility to reduce the size and increase 
the speed of programs in Microsoft BASIC and TRS- 
80 BASIC. (2) DPFUN - Double precision subroutines 
for computing nineteen transcendental functions in- 
cluding square root, natural log. log base 10, sin, arc 
sin, hyperbolic sin. hyperbolic arc sin. etc. Furnished 
in source on diskette and documentation . $50/$35 

G THE STRING BIT - FORTRAN character string han- 
m) dling. Routines to find, fill, pack, move, separate, 
concatenate and compare character strings. This 
package completely eliminates the problems asso- 
ciated with character string handling in FORTRAN. 
Supplied with source $45/$15 

G BSTAM - Utility to link one computer to another also 
m equipped with BSTAM.rAllows file transfers at full 
data speed (no conversion to hexL with CRC block 
control check for very reliable' error detection and 
automatic retry. We usb in It's greatf Full wildcard 
expansions to send * COM. etc ?§00 baud with wire 
300 baud with phone conneptioX, Both ends need 
one. Standard and reversions can talk to one another 
Compatible TRSDOS version also available $150/$5 

****** 
SUNDRIES & NOTIONS 

G HEAD CLEANING DISKETTE -Cleans the drive Read/ 
Write head in 30 seconds. Diskette absorbs loose 
oxide particles, fingerprints, and other foreign parti- 
cles that might hinder the performance of the drive 
head Lasts at least 3 months with daily use Specify 
5" or 8" $20 ea./S45 for 3 

Q FLIPPY DISK KIT - Template and instructions to 
modify single sided 5V4" diskettes for use of second 
side in single sided drives $12.50 

G FLOPPY SAVER Protection for center holes of 5V4" 
floppy disks. Only 1 needed per diskette. Kit contains 
centering post, pressure tool, tough 7-mil mylar rein- 
forcing rings Installation tools and rings for 25 disk- 
ettes $14.95 

Re-orders of rings only $7.95 

G PASCAL USER MANUAL AND REPORT - By Jensen 
and Wirth. The standard textbook on the language. 
Recommended for use by Pascal/Z, Pascal/M and 
Pascal/MT users $9 

G THE C PROGRAMMING LANGUAGE - By Kernighan 
and Ritchie The standard textbook on the language. 
Recommended for use by BDS C, tiny C, and White- 
smiths C users $12 






Software for most popular 8080/Z80 computer disk systems including 
NORTH STAR, /COM, MICROPOUS, DYNABYTE DB8/2 & DB8/4, EXIDY 
SORCERER, SD SYSTEMS, ALTAIR, VECTOR MZ, MECA, 8" IBM, 
HEATH H17& H89, HELIOS, IMSAI VDP42 & 44, REX, NY LAC, 
INTERTEC, VISTA V80 and V200, TRS-80 MODEL I and MODEL II, 

ALTOS, OHIO SCIENTIFIC, DIGI-LOG 3nd IMS 5000 fOrmatS. 'The Software Supermarket is a trademark of Uteboat Associates 




tCP/M for Heath, TRS-80 Model I and PolyMorphic 
8813 are modified and must use specially compiled 
versions of system and applications software. 
ttRecommended system configuration consists of 48K 
CP/M, 2 full size disk drives, 24 x 80 CRT and i32 
column printer. 

(8) Modified version available for use with CP/M as im- 
plemented on Heath and TRS-80 Model I computers. 



©User license agreement for this product must be 
signed and returned to Lifeboat Associates before 
shipment may be made. 

©©This product Includes/eXcludes the language manual 
recommended in Sundries and Notions above. 




boat Associates 

THE 
FTWARE 

SUPER- 
MARKET 



Orders must specify disk 
systems and formats 
e g North Star single, 
double or quad density. 
IBM single or 2D/256, 
Altair. Helios II. 
Micropolis Mod I or II. 
5V«" soft sector (Micro 
iCOM/SD Systems 
Dynabyte). etc 

Prices FOB New York 
Shipping, handling and 
COD charges extra 

Manual cost applicable 
against price of 
subsequent software 
purchase 

The sale ol each 
proprietary software 
package conveys a 
license for use on one 
system only 




TTvr 



Lifeboat Associates, 

2248 Broadway, NY, NY 10024 
(212) 580-0082 Telex 220501 





Chesney E. Twombly 


















15 Storer Street 




















Kennebunk ME 04043 






a 


• A 


on o»- 














L 


G 
-O 


>0 

a< 


oO Pr 

der/R 


og 
elc 


liaiii 

>catc 


1 








The 


••CONOPS 


" series continues to operate with this latest entry. ^H 






































copyrighted product of Techni- 






i 










TTL 


TSC 8080 RELOCRTOR MODIFICATION 


cal Systems Consultants, PO 






2 

3 








* PROGRRM LORDER REPLRCES TAPE LORDER. 


Box 2574. West Lafayette IN ^H 






4 








* RELOCATES PROGRRMS DURING LORDING 


FROM KEVBORRD. 


47900, can read a program on In- 






6 








* CHRNGE THE 


CRLL INSTRUCTION RT 40F4 TO RERDi 


tel ASCII hex format paper tape 






7 
3 
9 








* 'CD E5 40 CRLL ENTER 1' 

:4c 




and relocate it to any specified 














wr i 






address. It will relocate a pro- 






10 


428R 








ORG 


*423R 










11 








* 








gram already stored in RAM but 






12 
13 






6C10 
4000 


INCHR 
STRCK 


EQU 
EQU 


*6C1D 

new 




does not allow the option of 






14 
15 






6C7S 
6C2S 


RDDOUT 
CONUT 


EQU 
EQU 


*6C78 
*6C23 


II II icrocomputers are likely 

1 VII to have blocks of memory 

reserved for ROM operating sys- 


loading from a keyboard. This 






16 

17 
IS 






6C40 
6C36 
4450 


BVTE 
OUTS 
OLDPTR 


EQU 
EQU 
EQU 


*6C40 
*6C36 
*4450 


relocator is a marvelous pro- 
gram and worth many times its 






19 
20 






445R 
4452 


OFFSET 
OBJEND 


EQU 
EQU 


S445R 
*4452 


tems, thereby excluding those 


$8 price. 






21 

<*9 






4272 


CNPDHB 

•A- 


EQU 


$4272 


addresses from other uses. The 








23 








T 

# PROGRRM LORDER 


Heath H8 computer provides a 


Modification 






^4 
25 


423R 


2R 


50 44 


LORD 


LHLD 


OLDPTR < 


good example: the ROM pane 


Listing 1 replaces the paper 






26 

27 


4280 
423E 


EB 
CD 


73 6C 




XCHG 

CRLL 


RDDOUT 


monitor, PAM-8, occupies hex 


tape reader of the TSC relocator 






23 


4291 


2R 


5R 44 




LHLD 


OFFSET 


addresses 0000-0400. Block 


with a keyboard \oadev \ha\ can 






29 


4294 


19 






DRD 













30 


4295 


E5 






PUSH 


H 1 


0400-2000 is reserved for uses 


» relocate a program while it is be- 






31 
32 


4296 
4297 


CI 
CO 


10 6C 


L0RD2 


POP 
CRLL 


B 
INCHR 


that are undefined by the manu 


ing loaded. This modification, 






33 


429R 


FE 


7F 




CPI 


*7Fj DEL" 


al. RAM addresses 2000-2040 


though designed for the Heath 






34 


429C 


C2 


R7 42 




JNZ 


CHKRDR 












429F 


OB 






OCX 


B 


as well as 80 bytes at some high 


H8, can be used on any 8080 sys- 






36 

37 


42R0 
42R1 


IB 
CD 


73 6C 




DC:-: 

CRLL 


2 

RDDOUT 


er location, are required foi 


tem. It uses several subroutines 






33 


42R4 


C3 


97 42 




JMP 


L0RD2 


PAM-8 use. The H8 console driv 


of the H8 Console Operating 






39 
40 


42R7 
42R9 


FE 
C2 


4C 
B2 42 


CHKRDR 


CPI 
JNZ 


'L 
L0RD3 


er, a video terminal interface 


, System, CONOPS, published in 






41 
42 


42RC 
42RF 


CD 

C3 


73 6C 
97 42 




CALL 
JMP 


RDDOUT 
L0RD2 


uses RAM block 2040-2163. The 


? the July 1979 issue of Kilobaud 






43 


42B2 


CD 


23 6C 


L0RD3 


CRLL 


CONUT 


standard H8 system has nc 


) Microcomputing, p. 108. 






44 

45 


42B5 

42B3 


CO 

02 


40 6C 




CRLL 
STRX 


BVTE 
B 


RAM below hex address 2000. 


First load the unaltered TSC 






46 
47 


42B9 
42BC 


CD 
2R 


86 6C 
52 44 




CRLL 
LHLD 


OUTS 
OBJEND 


There seems to be an abun 


program into RAM starting at 






43 


42BF 


CD 


72 42 




CRLL 


CMPDHB 


dance of 8080 machine-Ian 


hex address 4000. When it is 






49 


42C2 


D3 






RC 












50 


42C3 


03 






in:: 


B 


guage programs available ir 


i working without errors, you can 






51 

52 


42C4 
42C5 


13 

7B 






I NX 
MOU 


D 
fl,E 


books and magazines or frorr 


i load the modification at the ad- 






53 


42C6 


E6 


07 




AN I 




software vendors and users 


dresses shown in the listing. 






54 


42C3 


FE 


00 




CPI 







w 






55 


42CR 


CC 


78 6C 




cz 


RDDOUT 


groups. Published listings ol 


f Non-Heath users must enter the 






56 
57 


42CD 


C3 


97 42 


•f: 


JMP 


L0RD2 


such programs are likely to be 


ADDOUT, CONVT, BYTE and ^H 






58 


42D6 








OS 


$39 


unusable until relocated. Hanc 


I OUTS subroutines from the list- 






59 
60 


4303 


E5 




* 

PCRLF 


PUSH 


H 


relocation, performed mentally 


f ing in the CONOPS article at an 






61 
62 








+ 


END 




during program entry, is the ob 
vious, albeit tedious and error 


appropriate location. The ad- 
dress parts of all instructions 






Listing 1. 


TSC 8080 Relocator modification. 


prone, method. 


calling these subroutines must 




















The TSC 8080 Relocator a hp rhannpn 




114 Microcomputing, April 1980 






ill V-* ■ **** ^-^ V- * V^ V_^ \*f I V v_/ I \^ t \_/ \_A \ V« / | ■ ^- 





One change in the original 
program must be made before 
this modification will function 
properly. Change the CALL in- 
struction at 40F4 to read CD E5 
40 CALLENTER1. 

When using the modified relo- 
cator, you can activate the load- 
er and display the hex address 
of the first bytes of the program 
being loaded by typing Y in re- 
sponse to the prompt LOAD 
FROM TAPE. As each byte is en- 
tered, an offset is added to 
place the code in RAM at the de- 



RDDOUT 6C78 


BVTE 6C4G1 


CHKRDR 42R7 


CMPDHB 4272 


CONUT 


6C23 


INCHR 6C1D 


LORD 423R 


L0RD2 4297 


L0RD3 4282 


OBJEND 


4452 


OFFSET 445R 


OLDPTR 44T.0 


OUTS 6C96 

Symbol table. 


PCRLF 4303 


STACK 


4080 



sired destination address, and 
your video monitor will display 
the byte as two ASCII charac- 
ters. 

Typing L will display the next 
address for verification. RUB- 
OUT will display the last ad- 



dress entered and, in effect, is a 
back-space function. Both com- 
mands can be entered only after 
entry of a complete hex byte. 

Upon entry of the final byte, 
the END ADDRESS you entered 
at the start of the program, the 



statement, LOAD COMPLETED, 
will be displayed, and the reloca- 
tor will pause until you type a 
space. Follow the instructions 
given in the Relocator manual to 
complete the load/relocate oper- 
ation. ■ 







&:&:&:* 



»:•:•:•••> 



»:••_•_•• 



theTRS-80* magazine 



:•:•:•:•:•:•:•:•? u New subscription 

................ q-j payment enclosed $ 

□ Visa □ Master Charge 



«&o 



_•!• 






:? 



!•_•_•_•_•- 



□ Renewal 

□Bill me 

□ Am Express 



Card# 



Exp. date 



□ Send me one year of 
80 Microcomputing for 

jUSt $15. (I save over 37%) 

□ I prefer 2 years for $24. <i save 50%) 

□ I prefer 3 years for $36. (I save 50% off the newsstand price.) 

Canada: same as US rates, in US funds. 
Other foreign: $20 one year only. US funds. 



Signature 

Name 

Street 

City 



State 



Zip 



•••••• •••••V 

.V.V.V.V.V.V 
••••••V.V.V.V. 1 

•••»».v.v« 
••••••••••••••••••i 

•••5www 
— v.v.vw 

••••••• I 

vkkkkkk 

WWWW 



SO MICROCOMPUTING 
The magazine for today's 
biggest selling computer. 

TRS-80 is a trademark of the Radio Shack Division of Tandy Corporation. 



® 



• • • • 

ww* 

w.v 
••••••v 



v.v 

WW 

• • 

-J 



SO Microcomputing* POB QSfFarmlngdalc NY 1X737 



304B7 •: 



QUAD DENSITY 
MICROPOLIS 

MINI-FLOPPY DISK DRIVE 
[MODEL 15 111 



$324 



ft 



630 Kb DUAL DRIVES 

WITH CABINET & POWER SUPPLY 

[WILL HOLD UP TO 4 DRIVES! 



$ 898 



00 



TWO WEEK DELIVERY 



OEM 



MICROCOMPUTER UM-IWM SYSTEMS 

and COMPONENTS 

^102 

1932 s. Karen - Fresno, CA 93727 

(209)251-3525 



1 MEGABYTE 

8" FLOPPY DISK DRIVE 

DUAL SIDED /DOUBLE DENSITY 



«499 



ft 



2 MEG DUAL DRIVES WITH 
CABINET & POWER SUPPLY 

$1,208°° 

TWO WEEK DELIVERIES 
MICROCOMPUTER OEM SYSTEMS 

and COMPONENTS 

telephone (209) 251-3525 "° 3 
1932 s. Karen - Fresno, CA 93727 



^ Reader Service — see page 257 



Microcomputing, April 1980 115 



JPC PRODUCTS FOR 

6800 



COMPUTERS 



— 



....... 




High Performance Cassette Interface 

• FAST - 4800 Baud Loads 4K in 8 Seconds! 

• RELIABLE - Error Rate Less Than 1 in 10 s Bytes. 

• CONVENIENT - Plugs Directly Into The SWTPC. 

• PLUS - A Fully Buffered 8 Bit Output Port Provided. 

• LOW COST - $59.95 For Complete Kit. 

• OPTIONAL • CFM/3 File Manager. 

Manual & Listing $19.95 
(For Cassette Add) $ 6.95 

TERMS CASH. MC or VISA. Shipping & Handling $3 00 

Order Phone (505) 294-4623 
" 92 P.O. Box 5615 
^PCproduct?** 1 '^ Albuquerque, N.M. 87185 



gQQQQOOQOQOOQ0QQ00QQ0tOQQQQqOQOOQP9QOOQ g0Ogg0g0g C0jg009Q090990980g0900J9P808009090i?^JMJ^ 

TRS-80® CP/M® & CBASIC® 6 
BUSINESS SOFTWARE 



| 

i 
1 



LOW-COST MOD II DISK EXPANSION 
. . . over 610,000 bytes/disk with our 
CP/M . . . plus many other features. 

Find out why ours is the Better Business Buy! 

Model II CP/M (rel. 2.0) $250.00 

Model I CP/M (re. 1.5) 1 50.00 

CBASIC 95.00 

APH (Automated Patient History) 1 75.00 

RESIDENTIAL PROPERTY ANALYSIS 

system 300.00 

MAGIC WAND® Word Processor .... 400.00 
RM COBOL® (Z80 code) 750.00 

Osborne & Assoc. CBASIC source programs — 

O&A Payroll w/Cost Accounting $250.00 

O&A Accts. Rec./Accts. Payable . . . 250.00 
O&A General Ledger w/Cash Journal. 250.00 
O&A CBASIC books for above (each) 20.00 

Send 30C SASE for CP/M Users Group software 
list & free "CP/M Primer". 

® *\Adl( \ArAN|>,srt r».(jisti'i.-i1 Hciilemrtfk ot Sm,ill Musm.-ss ^|i|ili< hIidiis Iix 

® KM ( oboi is ,i reqmtered ti<Ki<-m,irk ol kv<m M< I trUnd < "'(> 

• I kS HO is <i legislen-d tiddenidrk ol K.xJmi Shd< k a I diuK < 'im|>,mv 

• ( i' m is .i i.-i)ist<-ie<i rmit'WMrh ol I hqrt<d ki-s<di< u 



(714) 848-1922 



S 
1 



s 
s 



s 
s 



s 

o 
o 

o 

s 

i 



• ( MASK is ,1 l-(JISI<M-<) 11,1(1.111, Ilk ol Sell*, 11. Sysltllls 

m CYBERNETICS 

8041 NEWMAN AVENUE • SUITE 208 • HUNTINGTON BEACH CAL IFORNI A 92647 fe 



I 
1 



Mmmmmmmmmmwmm6mmtMmmmmmmmmmmmmm& 



VERBATIM® ATHANA® GEORGIA MAGNETICS® 

Floppy Diskettes for 

ANY COMPUTER SYSTEM 



8 Floppies only $3 2 e° a 

HUNDRED LOTS 

10 for $3.65 ea • 50 for S3. 40 

We reserve the right to ship either of the name brands that we carry. 

5 1 /4 Mini -floppies only $2 6 ° 

HUNDRED LOTS 

10 for $3.10 ea • 50 for $2.85 



SPECIFY SIZE, TYPE, & COMPUTER 

5 V* ■ Soft Sector, 10 Sector, 16 Sector— 8" IBM Compatible, Hard Sector 



CALL TOLL-FREE 24 HRS. TO ORDER 

800-824-7888 ' 
OPERATOR 814 ». 

CALIFORNIA 800-852-7777 C.O.D. 




DC SOFTWARE & COMPUTER PRODUCTS 
POST OFFICE BOX 503 
SAN BRUNO, CALIF. 94066 

FOR INFORMATION 415-348-2387 



FLOPPY DISK STORAGE 
ACCESSORIES 

Plastic Disk Library Cases 



8" 



5 1 / 4 " Diskette 



$3.50 

WHEN PURCHASED WITH DISKS 

$4.50 

WHEN PURCHASED SEPARATELY 

$2.50 



WHEN PURCHASED WITH DISKS 

$3.95 

WHEN PURCHASED SEPARATELY 



Vinyl Disk Envelopes <«>*.,».., 

8" Maxidisk stores 10 disks $9.00/pk 
5 1 /4 " Diskette stores 20 diskettes $9.00/ pk 



3 Ring Binder 



$5.00 



Add $2 00 shipping & handling for all items above Any excess will be refunded 

School & University Orders 
Gladly Serviced 



116 Microcomputing, April 1980 



THE ORIGINAL MAGAZINE FOR 
OWNERS OF THE TRS-80 ™* MICROCOMPUTER 



SOFTWARE 

FOR TRS-80" 

OWNERS 



H 
E 



CQMPUTRQNICS 

MONTHLY NEWSMAGAZINE 

Practical Support For Model I & II 



i 



MONTHLY 

NEWSMAGAZINE 

FOR TRS-80 " 

OWNERS 



PRACTICAL APPLICATIONS 
BUSINESS 

GAMBLING • GAMES 
EDUCATION 
PERSONAL FINANCE 
BEGINNER'S CORNER 
NEW PRODUCTS 
SOFTWARE EXCHANGE 
MARKET PLACE 
QUESTIONS AND ANSWERS 
PROGRAM PRINTOUTS 
AND MORE 



v* 



&> 



fcr 



WORD PROCESSING PROGRAM 

(Cassette or Disk) 

For writing letters, text, mailing lists, etc.. with each 
new subscriptions or renewal 

LEVEL II RAM TEST 

(Cassette or Disk) 

Checks random access memory to ensure that all memory 
locations are working properly. 



PROGRAMS AND ARTICLES PUBLISHED IN OUR FIRST 12 ISSUES 
INCLUDE THE FOLLOWING: 

A COMPLETE INCOME TAX PROGRAM (LONG AND SHORT FORM) 

INVENTORY CONTROL 

STOCK MARKET ANALYSIS 

WORD PROCESSING PROGRAM (FOR DISK OR CASSETTE) 

LOWER CASE MODIFICATION FOR YOUR VIDEO MONITOR OR PRINTER 

PAYROLL (FEDERAL TAX WITHHOLDING PROGRAM) 

EXTEND 16 DIGIT ACCURACY TO TRS 80 T " FUNCTIONS (SUCH AS 

SQUARE ROOTS AND TRIGONOMETRIC FUNCTIONS) 

NEW DISK DRIVES FOR YOUR TRS 80'" 

PRINTER OPTIONS AVAILABLE FOR YOUR TRS 80'" 

A HORSE SELECTION SYSTEM***ARITHMETIC TEACHER 

COMPLETE MAILING LIST PROGRAMS (BOTH FOR DISK OR CASSETTE 

SEQUENTIAL AND RANDOM ACCESS) 

RANDOM SAMPLING***BAR GRAPH 

CHECKBOOK MAINTENANCE PROGRAM 

LEVEL II UPDATES***LEVEL II INDEX 

CREDIT CARD INFORMATION STORAGE FILE 

BEGINNER'S GUIDE TO MACHINE LANGUAGE AND ASSEMBl Y 

LANGUAGE 

LINE RENUMBERING 

AND CASSETTE TIPS. PROGRAM HINTS. LATEST PRODUCTS 

COMING SOON (GENERAL LEDGER. ACCOUNTS PAYABLE AND 
RECEIVABLE. FORTRAN 80. FINANCIAL APPLICATIONS PACKAGE 
PROGRAMS FOR HOMEOWNERS. MERGE TWO PROGRAMS 
STATISTICAL AND MATHEMATICAL PROGRAMS (BOTH 
ELEMENTARY AND ADVANCED) AND 



DATA MANAGEMENT SYSTEM 

(Cassette or Disk) 

Complete file management for your TRS 80'" 

CLEANUP 

(Cassette or Disk) 

Fast action Maze Game. 






* IRS HO" IS A 1KADKMAHK Oh TANDY CORP 



SEND FOR OUR NEW 48 PAGE SOFTWARE CATALOG (INCLUDING LISTINGS OF HUNDREDS OF TRS 80'" PROGRAMS AVAILABLE ON 
CASSETTE AND DISKETTE) $2 00 OR FREE WITH EACH SUBSCRIPTIONS OR SAMPLE ISSUE. 



iCQMRJTRQMCSi 

Box 149 New City. New York 10956 



^6 




ONE YEAR SUBSCRIPTION $24 
TWO YEAR SUBSCRIPTION $48 
SAMPLE OF LATEST ISSUE $ 4 



START MY SUBSCRIPTION WITH ISSUE 

(#1 - July 1978 • #7 - January 1979 • #12 - June 1979 • #18 - January 1980) 
NEW SUBSCRIPTION RENEWAL 



CREDIT CARD NUMBER 
SIGNATURE 



NAME 



ADDRESS 



STATE. 



HOUR 
24 ORDER 

LINE 
(914) 425-1535 



EXP. DATE. 



-ZIP. 



ADD $6 YEAR (CANADA. MEXICO) • ADD $12 YEAR AIR MAIL • OUTSIDE OF U.S.A.. CANADA A MEXICO ••• 




^Reader Service — see page 257 



Microcomputing, April 1980 117 



Ralph Tenny 
PO Box 545 
Richardson TX 75080 



Get Started with 

MicroStart 



MicroStart makes a dandy tool for experimenting with CPU chips. 



Now that you have your 
computer system running, 
do you find yourself waiting for 
the games, etc., to be finished? 
Do you have to send the kids to 
bed early so you can "play" 
with your own computer? Per- 
haps the machine is auto- 
mating your house— fire sen- 
sors, security alarms, etc.— so 
you are reluctant to take it off- 
line just to tinker with some ex- 
perimental hardware. 

Don't rush out to buy another 
whole machine— build Micro- 
Start! This little board is one 
solution to the problems men- 
tioned above, but it also 
enables me to experiment with 
other microprocessor chips 
besides the MCS6502, which 
comes in my KIM-1 system. 

MicroStart is really only one- 
third of a computer — the 
memory. Fig. 1 shows a block 
diagram of a computer that 
consists of a CPU (central pro- 
cessing unit), memory and I/O 



(input/output) circuitry. Micro- 
Start is different from other 
computer memory boards be- 
cause M/S is a stand-alone 
memory which can be loaded 
with data that can be used for 
any imaginable purpose. 

How the Memory Works 

MicroStart's stand-alone 
feature is the result of adding 
five push-button switches (see 
Photo 1) and some support cir- 
cuitry to accomplish data en- 
try. Another MicroStart dif- 
ference is that full control of 
both memory and data is 
achieved with only those five 
switches: CLR, INC, M, L and 
RL 

Here's how they work: After 
power is applied, pressing CLR 
forces both the data bus and 
the address bus to zero 
(000000002— note that both ad- 
dress and data are 8-bit values). 
Switches M and L control 4-bit 
counters that are driven by a 











CONTROL BUS 










(3-I4 LINES) 














I 




I 


i 


' 


' 




DATA BUS 


I 
_J 


I 




(8 LINES) 


| 


i 




MEMORY 




CPU 




I/O 




I 


i 


ADDRESS BUS 


I 




(I2-I6 LINES) 


i 







BASIC COMPUTER 



Fig. 1. Basic computer. 



slow clock. This allows the 
operator to hold down either 
button until the counters con- 
tain the desired data value. 

This data is displayed by the 
row of LEDs that appear along 
the top of the M/S board (see 
Photo 1). These LEDs are in four 
groups of four each, represent- 
ing (left to right) most signifi- 
cant data nibble, least signifi- 
cant data nibble (a nibble is 
four bits— half a byte) and eight 
bits of address data. After CLR 
is pressed, all LEDs will be off. 

Let's assume that the data 



required in memory address 
00-|6 (a" eight right-hand LEDs 
off) is A5-J6- Hold down RL and 
M until 10102 appears "in the 
left-hand group of LEDs. Then 
hold down RL and L until the 
second group of LEDs shows 
01012- The required data is now 
entered in the memory at loca- 
tion 00-|6 and can be verified 
any time later by pressing CLR 
so that the address counter re- 
turns to OO-16. 

The RL (RAM load) key 
worked this way during the 
operation described above: As 




Photo 1. MicroStart is a 256 byte memory with five control keys 
that load data into memory. 



118 Microcomputing, April 1980 



long as the RL key is held down, 
the RAM (Random Access 
Memory— IC1 and IC2) is loaded 
about 10 times per second with 
the data on the Data Generator 
output lines. Thus, the data 
showing on the LEDs is always 
the memory contents at the ad- 
dress shown by the address 
LEDs. A faulty memory location 
will remain unchanged, so the 
load operation also checks the 
memory for proper operation. 

After data is entered into 
location OO-ig, press INC once 
and the LED on the far right will 
show address 01 15- Again, the 
proper data is entered using 
RL, M and L keys, and then INC 
is pushed to access location 
02-15. In this fashion, data is 
entered into as much of the 
memory as is desired. 

After all the data is entered, 
what good is it? Well, since 
MicroStart is a stand-alone 
memory, the data could repre- 
sent eight switches controlling 
some gadget. Whenever a new 
condition is needed, simply in- 
crement the memory to the next 
programmed location. How- 
ever, suppose there was 
another board available with a 
microprocessor and some I/O 
circuitry. By hooking the two 
boards together, the diagram of 
Fig. 1 is completed and you 
have a small computer! Which 
microprocessor? That's up to 
you. Photo 2 shows a National 
SC/MP CPU board, and Photo 3 
shows a Signetics 2650 CPU 



TO ADDRESS DISPLAY 



♦5V 






AO 



Al 



^«rS< 



A2 



«^^ t 



A3 



ie 






A4 



A5 



A6 



20 



A7 



<*S* 



R/W 



F « <S* 



OD 



A8 



FIG 7 



R/W' 
OD" 



33K 

ISOLATION 
RESISTORS 
(8) 



I7 



1 



^ 



ICI 
211 l-l 



l/oi 
1 /02 

1/03 

1/04 
RW OD cTl CE2 



<>'< 



17 



16 



19 



15 



TO DATA DISPLAY 



12 



U 



4 



10 



10 



AO 
Al 
A2 
A3 
A4 
AS 
A6 
A7 



IC2 
2III-I 



1/01 

1/02 
1/03 
1/04 



18 



^ A7 A6 A5 A4 A3 A2 Al AO J 
TO ADDRESS GENERATOR 



J 



;i8K 



12 



13 



14 



i i 



DO 



Dl 



D2 



H 
9 
10 



D3 



D4 



D5 



D6 



D7 



7 

_8_ 

L 
M 



33K 

ISOLATION 
RESISTORS 
(8) 



DO Dl D2 D3 D4 D5 D6 D7 



board. 

Now that we have a com- 
puter, what can we do with it? 
How about a darkroom timer 
that can be programmed to 
"remember" and measure 
several times— one for each of 
several photo-developing 
operations— and display time 
remaining (countdown to 
finish) for each operation. How 
about interactive games? A 
very interesting one, PNG-PNG, 
is discussed later. Would you 
like to measure the reaction 
times of your friends? That one 
is easy— light an LED as a sig- 
nal and measure how long it 



Fig. 2. 

takes for the operator to press 
a button in response. 

The possibilities are endless, 
but note that the original M/S 
was built to test various micro- 
processors under similar cir- 
cumstances as is discussed 
below. Once MicroStart was 
working, experiments with dif- 
ferent microprocessors cost 
me less than $30 for each new 
machine. 

Naturally, if you have been 
using canned programs or 
writing your own in BASIC or 
some other high-level lan- 
guage, an education is 
awaiting you. You really have to 



TO DATA GENERATOR 



get down to the basics- 
assembly language and 
machine language — with 
MicroStart. For me, the soft- 
ware challenge is almost as ex- 
citing as creating new hard- 
ware; the ultimate for me is to 
create a system (software and 
hardware) better than the last 
one. I guess that is why Micro- 
Start has been so much fun. 

The Circuitry 

Fig. 2 shows the memory por- 
tion of M/S. Note that each line 
out of the memory chips has 
two branches. The main branch 
passes through isolation re- 




Photo 2. A CPU board built around the SC/MP microprocessor. Two 
switches control the reset conditions. Note keyway on card edge 
and compare key location with Photo 1. 




Photo 3. CPU board built around the Signetics 2650 micro- 
processor. Note that three switches are required to control reset 
conditions. 



Microcomputing, April 1980 119 



INC -| 




TO RAM 
}ADDRESS 
LINES 



AO 

Al 

A2 
•A3 
•>A4 

A5 

A6 
•>A7> 

A8] 

Aq I NOT USED, 

"l,) POSSIBLE 

Al ° EXPANSION 
All 



Fig. 3. 



♦ 5V 



IC4c 




SELECTED VALUE 



♦ 5V 



*H 



o * 



IK 



19 



5V 



•IK 



' ^ 



~l fi 



i 



IC5 01 
CD4029 

02 



03 



04 



13 

* * 



♦ 5V 



? 



14 



■DO 
■Dl 
•D2 
•D3 



t_ 



15 



T, 



10 



Ife 



IC6 Oi 



CD4029 



02 



03 



Q4 



13 
4 4 



■4 



D4 
D5 
D6 
D7 



TO RAM 
DATA LINES 



Fig. 4. 



sistors to the edge connector, 
where it is connected to the 
CPU board. All of these lines ex- 
cept A8 (the 9th address line) 
pass through the resistors. 

Fig. 3 shows the local ad- 
dress generator. IC3 is a ripple- 
carry counter that generates 12 
bits of binary address— enough 
for 4096 bytes of memory. 
Although the prototype Micro- 
Start uses only eight lines (256 
bytes), it can easily be expand- 
ed to use two 1024 x 4 RAMs 
for a full kilobyte of memory. 
No other changes will be needed 
and most 1K x 4 memory chips 
will fit the same sockets used on 
MicroStart. 

In the prototype M/S, address 
line A8 is grounded through a 
resistor and holds the chip- 
select lines of IC1 and IC2 low 
(enabled) except when the CPU 
board might pull it high. This 
connection will allow more 
memory to be added to the CPU 
board if that should be needed. 
That is, when A8 goes high, IC1 
and IC2 are disabled, and other 



memory can then be ad- 
dressed. 

The addresses are generated 
by IC3 under control of two 
switches — INC and CLR — 
which work with sections of 
IC4. IC4A is a Schmitt trigger 
with two resistors and one ca- 
pacitor to debounce INC. IC3 is 
advanced one count at a time 
by the output from IC4A. The 
CLR switch drives IC4B to reset 



TO RAM 
DATA LINES 




dh-^ 



I I 

CD4009 



both the address and data 
counters to zero; no debounc- 
ing is necessary since a bounce 
merely repeats the reset action. 

Fig. 4 shows the local data 
generator, consisting of two 
counters and a free-running 
oscillator. The M switch is held 
closed to set up the four most 
significant data bits, and L sets 
the lower four data bits. IC5 and 
IC6 are pre-settable up-down 
binary counters, which are ad- 
vanced individually when 
switches M and L are closed. 
The oscillator is IC4C, which 
drives the clock inputs of each 
counter. Pin 5 of the counter is 
called Clock Inhibit, which 
prevents counting whenever 
the line is high. When either M 
or L is closed, the associated 
counter advances one count 
each time IC4C clocks. 

Naturally it is necessary for 
the actual data and address 
values to be displayed for 
operator feedback; Fig. 5 
shows the display drivers. 
Three CMOS hex buffers 
"read" the address and data 
bits as they appear on the 
memory lines, and each section 
drives one LED. 

Note that no series resistors 
were used between the CMOS 



D7 D6 D5 D4 



D3 D2 Dl DO 




DISPLAYS 
FND 357 
MAN 3740 




buffers and the LEDs on the 
prototype board. This is per- 
missible only under certain 
conditions and is possible 
because the CMOS output is in- 
herently current-limited. Oper- 
ating into a short circuit such 
as an LED or transistor base is 
permissible only if the V cc is 5 
volts or less, and if the external 
device is able to withstand the 
short-circuit current output of 
the CMOS device. It should also 
be noted that any CMOS device 
operated into a short circuit will 
not develop the normal logic 
levels produced at normal load 
levels. 

Fig. 6 shows an alternate 
display design— four decoders 
driving seven-segment displays 
to produce hexadecimal read- 
out of data and address. This 
display design was considered 
for the prototype, but was re- 
jected in keeping with the 
desire to keep MicroStart on a 
small board. The seven-seg- 
ment readout would be entirely 
appropriate if MicroStart were 
installed in a permanent 
chassis. 

Figs. 7, 8 and 9 explain a very 
important section of Micro- 
Start— the RAM-load circuitry. 
First it is necessary to under- 



A7 A6 A5 A4 



A3 A2 Al AO 



I I I I , MM MM 



MD43I I 



m 



T 




Fig. 6. 



♦5V 



Dl 



TO 
RAM < 
DATA 



DO- 



TO RAM 

ADDRESS 

LINES 



A7 



AB- 



AS 



A4- 




> 



«=■ 



I 

I I 

CD4009 

Fig. 5. 



♦5V 
A 



r" 



RAM 
ADDRESS < 
LINES 



A3 



A2 



Al 



AO 



t>\< 







SPARE 




I 

I I 

CD4009 



120 Microcomputing, April 1980 



stand how the 2111-1 memory 
chip functions (Fig. 7). Since 
the four data inputs and the 
four data outputs share the 
same package pins, the input 
and output operations must be 
separated. When the OD line is 
high, the output lines are dis- 
abled. H either CS line is high, 
both input and output lines will 
be disabled and the four data 
output pins will be floating. 
This permits any reasonable 
number of 2111s to share the 
same data bus without causing 
any appreciable loading effect. 

If both CS lines are pulled 
low along with OD, while R/W is 
high, the data pins will output 
the contents of the memory cell 
addressed by the eight address 
lines. With OD high and both 
CS lines low, data will be writ- 
ten into the addressed memory 
cells whenever R/W goes low 
for some minimum time (380 ns 
for the 2111-1) and then returns 
high. To summarize, both CS 
lines must be low for any mem- 
ory operations to take place. 
OD must be low for data output; 
high for data entry. R/W must 
go low and return high for data 
entry. 

MicroStart uses a sort of 
semiautomatic data entry se- 
quence. The circuitry is shown 
in Fig. 8 and the timing diagram 
in Fig. 9. A separate oscillator 
(IC4D) generates a basic timing 
waveform that governs the data 
entry sequence. IC4E detects 
the falling edges of IC4D's out- 
put and generates a pulse ap- 
proximately 40 us long. This 
pulse raises OD to disable the 
data output. IC4F detects the 
rising edge of IC4E's output 
and generates an R/W pulse ap- 
proximately 25 us long. Thus, 
abou\ AO Wmes each second, 
data from the data generator is 
written into memory. 

In Fig. 8, R1 holds OD low ex- 
cept when it is pulled high by 
IC4E or by the CPU (via card- 
edge connector shown in Fig. 
2). Diode D1 disconnects OD 
from IC4E whenever the CPU 
drives the line. Switch SW1 is 
opened during CPU operation 
to prevent accidental data en- 
try via the control keys. This 
feature has proven its worth 
several times when my young 
grandson has "helped" me! RL 



is the RAM load switch men- 
tioned above. Like D1/R1, the 
D2/R2 pair serves to keep R/W 
high except during data entry 
and to disconnect IC4F during 
CPU operation. 

As mentioned before, OD is 
low about 99.5 percent of the 
time, and only RAM output data 
ever shows on the display 
LEDs. With OD low, the RAM is 
in its low impedance state, so 
that data from IC5 and IC6 can- 
not affect the display or the 
RAM I/O pins. When OD is high, 
the RAM input lines are high im- 
pedance but will read data to be 
entered by R/W. 

Construction 

Build and test MicroStart in 
sections. For example, build all 
sections of IC4's circuitry and 
apply power. The resistor and 
capacitor values shown for 
IC4C are approximate and 
should be varied for individual 
reaction times as discussed 
below. Use a logic probe or 
oscilloscope to verify that each 
section is working; IC4C and 
IC4D will be free-running, while 
the other sections function on- 
ly when an associated switch is 
operated. 

Next, add IC5 and IC6 with 
their associated circuitry, in- 
cluding buffers and LEDs. Ad- 
just the RC values of IC4C for a 
comfortable rate in this man- 
ner: Pick a data value (A5-|6, for 
example) and operate M and L 
until the display reads 1010 
0101. If IC4C is oscillating too 
fast, it will be difficult to 
release M or L when the data is 
exactly correct. A slow rate will 
make it seem like forever before 
the bit pattern is correct. A nice 
compromise is a rate slightly 
too fast for comfort; allow the 
data to count up almost to the 
desired value, then release the 
key and press it just long 
enough to catch single pulses. 

The display will "run up" un- 
til almost correct, then two or 
three single pulses will set it 
correctly. The learning curve is 
short, and this five-button 
layout is much simpler than a 
16-key (hexadecimal) keyboard 
with INCrement, Enter and 
Clear switches added. Con- 
tinue the checkout by being 
sure that IC3 can be controlled 



AO o- 



fe 



Al o- 



te 



A2 o- 



£e 



A3 o- 



£> 



At » 



I7 



£> 



ROW 
SELECT 



MEMORY ARRAY 
32 ROWS 
38 COLUMNS 



R/W • 



II 



te 



I/O I o- 



1/02 



12 



1/03 



13 



1/04 o- 



14 



fe 



iz 



te 



te 



INPUT 

DATA 

CONTROL 



CE,^ 



CE2<^- 



OD 



18 



-°VCC 



-•GND 



COLUMN 1/0 CIRCUITS 



COLUMN SELECT 





^7 

^7 



Fig. 7. Block diagram of the 2111 memory, organized 256 x 4. Two 
2111s are required for MicroStart. 



♦5V 



22K 



IC4d 



h 3JOPF p. 



I20K 
IC4e 



SWI 

o- 



♦ 5V 
A 



Dl 
IN9I4 



2 2uF 



Rl 
27K 



RL 



IC4f 



02 



J30pF k^ 

)l — t- U 



'•OD' 
(TO FIG I) 





R2 
27K 



4> — ► R/W' 
(TO FIG I) 



56K 



Fig. 8. 



lC4d 



-u- 



-ii- 



-**- 



OD' 



J L 



R/W' 



Fig. 9. 



by INC and CLR, then wire 
sockets for the memory and 
demonstrate that the memory 
can be loaded and read back 
under your control. 

If a faster method of data en- 
try than the M/S five-key setup 
is desired, IC5 and IC6 can be 
replaced with quad latches 
driven by a hexadecimal key- 
board. This is particularly ap- 
propriate if MicroStart is to be 
installed in a permanent 
chassis. At that point, it would 
also be advantageous to have 
the seven-segment display 
setup mentioned before (Fig. 6). 
M/S would then be an even 
more convenient tool for 
developing new hardware and 
software without disrupting 



some other computer setup. 

The CPU Board 

The following information 
will be mostly guidelines— 
MicroStart is too flexible in ap- 
plication to be tied down to one 
man's ideas! First, decide on a 
project goal. The CPU board 
configuration will depend upon 
which microprocessor is to be 
tested. All of them have differ- 
ent features and capabilities, 
but certain features must be 
known and understood. The im- 
portant features are: 

1. Which signals disable the 
processor so that the data bus 
is quiescent. 

2. Which signals allow the pro- 
cessor to be temporarily 

Microcomputing, April 1980 121 



74LS30 



K 



AI5 
■A 14 
■AI3 
•A 12 
■A I I 
■A 10 
■A 9 

A 8 



ADDRESS LINE A8 



IN9I4 



DO 
D I 
D2 
D3 



74LS04 



t> 



IN9I4 



*C 



D4 *- 
D5 •■ 
D6 *- 



D7 -•- 



TO PIN C 

MICROSTART 

BOARD 



Li 



MCS6502 

OR 

MC6800 



LU 



I5K RESISTORS 
(8) 



Fig. 10. 



♦ 5 V 



NADS 



INC 

(FROM M/S) 



(SC/MP ADDRESS 
STROBE) 




NHOLD 
(SC/MP INPUT) 



2N5449 



Fig. 11. 



stopped so that single-step 
operation is possible. 

3. Which address the processor 
accesses first after reset, and 
what type of data the processor 
expects to find there. 

4. Whether the processor can 
set its address lines to high im- 
pedance. 

The four items above affect 
the design of the CPU board 
directly. If item 4 turns out that 
the processor can set its ad- 
dress lines to high impedance 
during reset, the isolation 
switches in the address lines of 
M/S are not needed. If the pro- 
cessor does not access ad- 
dress 00i6 after reset (item 3), 



appropriate circuitry must be 
built to force this access. 

For example, the MC6800 ac- 
cesses FFFE-ie and FFF Fl6 
after reset, and the MCS6502 
reads FFFC-ie and FFFD-ig 
after reset. Both machines 
treat the data there as an in- 
direct address; that is, they use 
the data as an address to find 
the first instructions to ex- 
ecute. If the data bus can be 
forced to 00 each time the 6800 
or 6502 executes the first two 
fetches after reset, then each 
machine will jump to address 
0000-J6 for its first instruction. 
From that point on, both 
machines will act like the pro- 



cessors that reset to OO-ig. 

Fig. 10 shows one method of 
forcing the data bus to read 00. 
Address line A8, which disables 
the memory on M/S whenever it 
is high, is normally driven 
directly by the processor. In 
this case, A8 is diode-coupled 
to both the processor and an 
address decoder. The 74L830 
senses the eight most signifi- 
cant address bits, and via an in- 
verter, address line A8 is driven 
high each time the micropro- 
cessor tries to access any ad- 
dress above FFEF15. Since A8 
disables the memory so its out- 
put lines are high impedance, 
the resistors on the data lines 
pull them low. It should also be 
noted that the CLR button must 
be used to set the M/S address 
generator to 00 so that it will 
not interfere. Thus, each time 
the 6800 or 6502 reads the reset 
address, it receives data direct- 
ing it to where the memory on 
M/S starts. 

In dealing with items 1 and 2 
above, each CPU board must 
have a switch to force the reset 
condition on the micropro- 
cessor. Normally, reset is a 
momentary switch, but since 
data entry into MicroStart is a 
lengthy process, a toggle 
switch is better. 

Fig. 1 1 shows one solution to 
the single-step operation of the 
SC/MP; this was patterned 
after data furnished in the 
SC/MP operator's manual. 
NADS is an SC/MP strobe that 
occurs just after the start of a 
machine cycle, and it sets the 



latch in Fig. 11 so that the 
NHOLD line is pulled low to 
stop the machine. The latch is 
reset by the operation of the 
INC switch on M/S, which 
allows the processor to ex- 
ecute the next part of the ma- 
chine cycle. Similar arrange- 
ments exist for most other 
microprocessors, but each is 
likely to be somewhat different. 

To the operator, the effect of 
the NHOLD line is that each 
memory fetch can be observed 
on the address and data LEDs 
of MicroStart. Not only is this 
instructive in itself, but also it 
becomes possible to scale the 
microprocessor's speed to 
"people" speed. If the program 
has errors, it is possible to see 
the program execution go 
astray. It is then possible to 
revert to the data load opera- 
tion and make program correc- 
tions. 

A number of micropro- 
cessors (SC/MP, 2650, 1802) 
have Flag outputs— single-bit 
output ports that can be set 
under program control. These 
can be utilized in several ways, 
both in regular operation and in 
program debugging. For in- 
stance, SC/MP has three Flags: 
F0, F1 and F2. If F0 is con- 
nected to a transistor that pulls 
down on NHOLD as shown in 
Fig. 12b, the machine will stop 
whenever the flag bit is set. 

Fig. 12a shows a two-instruc- 
tion sequence that activates 
Flag F0 and stops the machine. 
This is very useful when long 
programs are entered, since 




Photo 4. MicroStart and a CPU board plugged into a common 
chassis, ready for business! 

122 Microcomputing, April 1980 




Photo 5. View of empty chassis with ac adapter power supply. 
Chassis built from wood strips and assembled with Super Glue. 



PROFESSIONAL BXW MONITORS 

Designed for industry... priced for the home. 




video IOO-bo 

The model 80 features an indus- 
trial grade metal cabinet with built- 
in disk mounting capability and 
space for an 1 1 " x 1 4" PC board for 
custom designed electronics. 

The solid state circuitry assures 
a sharp, stable, and trouble-free 
picture. The front panel controls 
include power, contrast, horizon- 
tal hold, vertical hold, and bnght- 
ness. Adjustments for size, video 
level, and width are located on the 
rear panel. 

Rugged metal cabinet with disk 
space 

UNDER $200.00 



video 



i i 



The video 100 computer moni- 
tors are ideal for all your personal 
and business needs. These highly 
reliable 12" black and white moni- 
tors feature a 12 MHz band width 
and 80 character by 24 line display. 
Plug-in compatability with Apple, 
Atari, Radio Shack, O.S.I., Micro- 
Term and Exidy make these the 
perfect text display for almost any 
system. 



Sturdy, lightweight plastic cabinet 

UNDER $150.00 



» "ft-,* UUI , 



VIDEO 100 AND VIDEO 100-80 SPECIFICATIONS 

• 12" diagonal measure display • Convenient front panel controls • Video bandwidth 12MHz ±3 DB 
• Input impedance 75 Ohms • 80 character by 24 line display • 90° deflection picture tube 

• Video 100-80 provides mounting space for mini floppy disk. 
• Resolution— Over 700 lines at center horizontally— over 350 lines at center vertically 



LEEDEX CORPORATION 



^59 



2300 East Higgins Road • Elk Grove Village, Illinois 60007 • (312) 364-1180 • TLX: 25-4786 

Dealer discount available 



^Reader Service — see page 257 



Microcomputing, April 1980 123 




Photo 6. View of chassis construction. End piece is notched for 
connector lug, and holes are drilled to accommodate press-in lugs 
of the card guide. 




Photo 7. Close-up of filter capacitor and three-terminal regulator. 
RCA-type jack used to bring in power from ac adapter. Note keying 
strips in edge of connectors to prevent plugging boards into wrong 
slots. 



LOCATION 


CODE 


ASSEMBLY 
LANGUAGE 




COMMENTS 






16 
18 

(a) 


C4 01 
07 


LOI 01 
CAS 




LOAD ACCUMULATOR WITH 01)6 
COPY ACCUMULATOR TO STATUS 
REGISTER (SETS FLAG FO HIGH) 














V 

1 


cc 






SC/MP 


6 


NHOLD 










19 




( 


f 


A2N5449 






FO 


\ 


k 


) 



(b) 



Fig. 12. 



SINGLE 
STEP 



FO 



EXTERNAL 
INPUT 




NHOLD 



Fig. 13. 

small pieces of the program 
can be loaded and tested 
before more program Is added. 
That way, any error is located 
as soon as it is entered and can 
be corrected. 

After each program segment 
checks out, simply write over 
the three "stop" instructions 
with new code. The single-step 
mode and stop mode can be 
combined as shown in Fig. 13 
along with other signals to stop 
the processor. If switch 1 is 
closed, single-step operation 
results, while switch 2 allows a 

124 Microcomputing, April 1980 



programmed stop and switch 3 
allows an external event to stop 
processing. 

One other circuit addition 
has proven universally valu- 
able—phantom strobes. If 
some unused address line is 
ANDed with lower order ad- 
dress lines as shown in Fig. 14, 
discrete signals can be pro- 
duced with a single line of 
code. For example, LDA ENA1 
(an assembly-language state- 
ment) will cause the processor 
to access the address of the 
phantom location named 
ENA1. This address has been 
defined by hardware connec- 
tions as 0901-16- 

Fig. 15 shows this address in 
binary form and identifies the 
particular bits. It can be seen 
that address lines #11,8 and 
are high. A1 1 and AO are decod- 
ed by gate A in Fig. 14 and 
cause the line ENA1 to go high, 
while A8 disables the memory 
on MicroStart to avoid disturb- 



ing normal memory. Such 
strobes can be used to turn 
some external circuit on or off, 
or they can enable another sec- 
tion of memory or a latch to 
store special data. 

Note this special caution: 
Because address bits A10, A9 
and A7 through A1 are not 
decoded, any odd address be- 
tween 0901-16 and 1000-16 will 
also enable ENA1. Similarly, 
many addresses within this 
same range will enable ENA2, 
ENA4 and ENA8. This is accept- 
able so long as the memory 
space (the total amount of 
memory any particular CPU can 
address) in that address range 
is not needed. When address 
space is almost used up, 
decoding for any particular ad- 
dress must become non-ambig- 
uous. 

Another handy feature that 
has been incorporated in the 
CPU boards used with Micro- 
Start has been an I/O plug. This 
is simply a 16-pin IC socket with 
a variety of different signals 
wired to it as detailed in Fig. 16. 
Two sockets are shown — one 
for the SC/MP and one for the 
2650. Both sockets have the 
8-bit data bus brought out from 



the processor, and each has 
some of the phantom strobes. 

The 2650 has only one Sense 
line (a one-bit input port) and 
one Flag. Both Sense and Flag 
are brought out from the 2650, 
along with four strobes, the 
processor Interrupt line and a 
debounced input line to the 
Sense port, which allows a 
switch input to the Sense line. 

The SC/MP has an abun- 
dance of interesting lines— the 
eight data lines, two strobes, 
the processor Read and Write 
strobes (NRDS and NWDS), SIN 
and SOUT (serial input and out- 
put ports), one of two Sense 
lines and one of three Flag 
lines— so the choices were 
harder. These output plugs 
allow the use of ribbon cable to 



74LS08 



All 



AO 



A I 



> 



ENA 



ENA2 




ENA 4 



ENA 8 



Fig. 14. 



BIT 


All 


AIO A9 


A8 ] A7 


A6 A5 


A4 


A3 


A2 Al 


AO 


BINARY 


I 


O 


I 


O 








O 


I 


HEXADECIMAL 




9 


I 

I 


O 






I 





Fig. 15. 



DO 
01 
D2 
03 
D4 
05 
06 
07 



j_ 

2 


2650 


±6 

15 


3 


14 


4 


13 


5 


12 


6 

7 


M 

10 


8 


■2 



ENA8 

ENA4 

ENA2 

ENAI 

l~NT 

SENSE 

SENSE OB 

FLAG 



connect an experimenter 
chassis (Photo 8), which greatly 
eases buvld'vng and testing ex- 
perimental hardware. 

One particular caution must 
be heeded: All outputs that 
come directly from the micro- 
processor are driven by MOS 
transistors and are therefore 
sensitive to voltage spikes and 
static electricity. If you zap a 
Flag or Sense line, the pro- 
cessor may still be usable, but 
even one zapped data or ad- 
dress line puts you out of 
business! Use special care 
when hooking up, wire the test 
circuits while the ribbon cable 
is disconnected at the CPU 
board and be sure to have the 
power and ground connections 
made between the CPU board 
and the test board before hook- 
ing up the ribbon cable. Apply 
power to MicroStart and the 
CPU board, initiate reset and do 
all programming after the test 
hookup is complete. 

Turn on the Computer! 

Let's assume that a program 
has been loaded as was de- 
scribed earlier and that a CPU 
board is plugged in, waiting to 



DO 
I 
D2 
D3 
04 
05 
D6 
07 



1 


SC/MP 


16 


2 


15 


3 




\A 


4 




13 


5 




12 




H 


7 




10 


9 


9 







ENA4 

ENA8 

NRDS 

NWDS 

SIN 

SENSEA 

SOUT 

FLAG I 



Fig. 16. 



be taken out of reset. The CPU 
should then execute the pro- 
gram you entered, assuming 
that the CPU will reset to OO-ie 
(or has been forced to 00-|6 as 
outlined above) and assuming 
that the program didn't have 
too many errors. Errors in a 
computer program cause one 
of two effects— the program 
runs but does other than was 
intended, or the program 
"bombs"— that is, does not 
run. 

The distinction is important; 
if the program runs until it is 
stopped, finding the error is 
much easier than if the program 
bombs. In a program that 
bombs, the errors cause the 
CPU to vector off into un- 
programmed memory or into 
memory space where no mem- 
ory is installed. Otherwise, the 
program may wipe itself out, 
step by step, until the CPU 
shuts itself off. Either way, the 
CPU must be reset to gain con- 
trol. The program that runs, but 
not properly, simply performs 
different actions than intended 
or fails to perform the intended 
task. Obviously, the correct 
program performs exactly as 



expected. 

If a program bombs, or if it 
simply isn't quite right, double- 
check the program logic and 
the correctness of the code you 
intended to enter. Be sure that 
you understand what each 
machine instruction is sup- 
posed to do. Finally, reset the 
CPU and check the program en- 
try to be sure that each data 
byte is correctly entered. 

On programs that bomb, pay 
particular attention to branch 
calculations; jumping one byte 
too far or one byte short causes 
the CPU to try to execute data 
instead of an instruction. If this 
happens, the result is usually 
wildly unpredictable. Be sure 
the loop count is correct on 
iterative program segments. 
Check everything! 

The Test Chassis 

Almost all the connections in 
MicroStart and the CPU boards 
were wire-wrapped, except for 
some connections to discrete 
components. Both Radio Shack 
#276-154 and OK Machine and 
Tool #H-PLB-1 4 x 4 1 / 2 inch pro- 
totyping boards have been 
used with equal success. Use 
large-size bus wire to connect 
ground and power to the on- 
card bus strips (Photo 9) and 
use a minimum of two socket 
pins to connect power and 
ground. Use several tantalum 
decoupling capacitors between 
power lines and ground lines on 
each board. Use large, high- 
quality filter capacitors on the 
power supply. 



An excellent power source 
for small projects such as this 
is one of the several 
transformer-on-a-cord sets 
sold for line operation of 
battery-powered appliances. 
Some versions come with 
switch-selectable 4.5 V, 6 V, 7.5 
V and 9 V outputs, while others 
are 9 or 12 volt units. The 
minimum acceptable current 
rating is 300 mA, but many ver- 
sions have this rating. Heavier- 
duty units are doubtless avail- 
able, but will be difficult to 
locate. 

For MicroStart, use a 
minimum of 9 volts dc and add 
at least 1000 uF of filter 
capacitor. Use a three-terminal 
regulator on each board or use 
a common regulator on a heat 
sink as shown in Photo 6. The 
prototype MicroStart has an 
unusual chassis— a wooden 
frame assembled from 47c 
worth of scrap lumber and four 
card guides (25<p a piece), all 
glued together with Super 
Glue! This handsome (?) device 
is detailed in the photos— even 
the heat sink is glued in! 

Test Programs 

What can you do with such 
an abbreviated computer? 
Don't sell small memory, sim- 
ple systems short— it takes an 
amazing amount of well-written 
assembly-language program to 
fill 256 bytes of memory! 
Remember that M/S can be 
easily expanded to 1K bytes 
just by changing the memory 
ICs and hooking up extra ad- 





Photo 8. MicroStart at work. Ribbon connector feeds signals to ex- 
perimenter strip to drive experimental hardware. 



Photo 9. Close-up of SC/MP CPU board. Note large power bus and 
oscillator crystal. 



Microcomputing, April 1980 125 




t i I # 



» ih i ii . ii . n i l i nn. 



Photo 10. Ribbon cable feeds LED panel to be used for PNG-PNG 
(see text). "Quickie" PC board holds minimum of circuitry to drive 
LEDs. 



dress lines and isolation 
switches. 

Learn a new microprocessor 
instruction set by writing and 
testing simple routines such 
as: Move data from one area of 
memory to another, set up a 
timing loop that turns an LED on 
and off at 1/10 second intervals, 
make a counter that counts 
switch closures and lights a dif- 
ferent LED each five pulses 
(use software to debounce the 
switch) and make a circuit and 
software to tell which of two 
switches close first. Then, com- 
bine these various small 
routines into some kind of in- 
teractive game such as one 
that is sometimes called PNG- 
PNG. A professional program- 
mer I know often uses this 
game to learn about a new com- 
puter that has front-panel 
switches and data lights. 

The general idea is to light 
the front-panel LEDs in se- 
quence so the light appears to 
be moving back and forth 
across the front panel. It 
becomes an interactive game 
when the operator is required 
to close a switch precisely dur- 
ing the time either end LED is 
lighted. The switch closure 



♦ 5V 

• 



DO 



D7 
ENA2 ■ 



4503 

OR 

70C95 



J 



KEY 



START 



DO 
Dl 
02 
D3 
D4 
D5 
D6 
D7 



reverses the apparent motion 
of the light, and closing the 
switch too early or too late 
counts against the operator. 
Numerous variations are possi- 
ble, but one of the most enter- 
taining is to have the computer 
speed up the light's movement 
if the operator's score is higher 
than the computer's. 

Flowchart 1 shows one im- 
plementation of PNG-PNG. The 
following operational se- 
quence is shown, assuming the 
use of the LED board shown in 
Photo 10. The action begins as 
the right-hand LED is turned on. 
After a delay (which should be 
about .2 seconds), a test is 
made to see if the switch is 
closed. A test is then made to 
see if an end LED is energized. 
Since this is the first pass, that 
answer would be "yes." 

If the player had pressed a 
key as soon as the "game" 
started, the player's score would 
be incremented. Otherwise, the 
computer would gain a point. 
Since this was an end LED, the 
first move would be to move the 
light to the left, delay and test 
"Key?" and "End LED?" again. 
On the second test, it would not 
be an end LED, so the second 



♦ 5V 
A 



82I2 



Oil 


DO 


DI2 


DO 


DI3 


00 


0I4 


00 


DI5 


DO 


0I6 


00 


DI7 


007 


018 


ooe 




ENA 



LED'S(8) . • . . 
270n (8) 



STB 



move would again be to the left 
(entering a loop at Entry 2). This 
looping will continue until the 
next time the "Key?" test is 
true, when the program will 
take the Entry 3 path and make 
loops until the other end is 
reached. 

In the above discussion, the 
"Score = Win?" test was ig- 
nored. This test is made (in this 
implementation) only after an 
"End LED?" test is true. Even 
though the computer gets a 
point whenever the key is 
closed (but not at an end LED), 
the program logic works fine. A 
more thorough treatment 
would be to test each score 
every time it is incremented. 

One other "missing" test 
should be mentioned. Although 
a test is made for key closing, 
no subsequent test is made to 
see that the key is opened 
before the next test for closed 



switch. This will become a 
problem if the computer is 
given the ability to speed up the 
action— shorten the delay— 
unless a limit is also placed on 
how short a delay is permissi- 
ble. Ordinarily, any "key 
closed?" test must be followed 
by a "key open" test, but the 
delay effectively serves to buf- 
fer the key action in this case. 

PNG-PNG Input/Output for 
2650 

Figs. 17 and 18 illustrate the 
use of I/O plugs (Fig. 15), with 
Fig. 17 detailing output drive 
for the "moving LED" display 
and input sensing for the key 
and a "start" switch to be 
discussed later. Fig. 18 shows 
one way to create an optional 
display to show the scores at 
game end. 

The output portion of Fig. 17 
simply uses the 8212 as an 8-bit 



f ENTER J 



TURN ON 
RIGHT -HAND 
LED 



G> 



■O 



DELAY 



INCREMENT 
COMPUTER 
SCORE 




INCREMENT 

PLAYER 

SCORE 




MOVE 

LED 

RIGHT 



6 



INCREMENT 

COMPUTER 

SCORE 



MOVE 
LED 

LEFT 



E 




O 



DELAY 



INCREMENT 
COMPUTE R 
SCORE 




INCREMENT 

PLAYER 

SCORE 




INCREMENT 
COMPUTER 
SCORE 



MOVE 

LED 

RIGHT 



KEY a SWITCH INTERFACE 



"MO VING LED" DRI VER 



1 




Fig. 17. 



Flowchart 1. 



126 Microcomputing, April 1980 




EXTRAORDINARY 

FOOTBALL 
SIMULATOR SYSTEM 



14 years development on large- 
scale computer — 3 years of use 
in computer football leagues 



Statistical analysis of teams, utilizing 

p\ayer ab'tVities 
Complete offensive and defensive playbook, 

10 offensive , 10 defensive 
Frightening realism of executed games - - 

fumbles, penalties, interceptions, field 

goals, and much MUCH more 

Exciting graphic display of scoreboard 
and play results on a playing field 

Abilities and averages for kick-off man, 
field-goal kicker, punter , etc. 

Careful analysis of opponent is essential, 
player mismatches and opponent 
tendencies , if properly coached, can 
mean winning or losing ! 

For additional information, or to order, write 

COMREC SYSTEMS CORP. 
3701 KIRBY- SUITE 876 
HOUSTON, TEXAS 77098 ^190 

To order send $ 19 95 check or money order plus applicable 
tax. and receive playbook. statistical analyzer, 
game simulator, and two teams 



TRS-80 



SPEEDUP BOARD 
REVERSE VIDEO 



SPEED MOD — You don't have to spend $3,500 on a TRS-80 
Model II to aet faster computing. Now you can speedup your 
Level II TRS-80 - Disk systems included! - by up to 100% 
(50% guaranteed) with our speedup board. The result is more 
animated graphics, shorter program run times, and generally 
far greater computing power for your dollar. Change between 
normal and faster operation by using a simple BASIC statement. 
The contents of memory are not affected by speed changes and 
a switch is not required (a switch may be installed if manual 
speed select is desired). Changes are provided for NEWDOS, 
DOS 2.2, and DOS 2.3 that allow disk systems to run reliably 
at both the normal and accelerated rate. Buy the most versatile, 
easiest to install, and most publicly recognized speed mod 
on the market today. 

A SSEMBLED & TESTED $24. 95 

REVERSE VIDEO is finally here ! If you're tired of going blurry- 
eyed looking at your video display, then you are ready for 
reverse video. It provides dark black characters and graphics 
on an all white screen for a much crisper and much easier to 
read presentation, ttonge between normal and reverse by 
simultaneously pressing a combination of three keys on the 
keyboard. 



ASSEMBLED $14.95 ^21 

Add 5% for postage and handling 
California residents add 6% sales tax 

Bill Arch bold Electronics 

DeptS • P.O. Box 7123 • Sacramento. CA 95826 
(916) 362-3627 



1 



1 SUPER SALE 

!16K Apple ll rnnr aa 
or Apple II Plus $7 7 J. [tit 
Apple Disk II 
w/controller 
| Applesoft or 
| Integer Cards 



$529.95 



$159.95 



Pascal Language Card $459.95 
10 Megabyte Disk 



I for Apple 

! DC Hayes Modems 

f Graphics Tablet 



$4695.00 
$339.95 
$695.00 



■LEflffiRTI CDI7FUTER STORE 

■P.O.BOX lOOO DESTIN. FL 32541 

ACROSS FROM RAMADA INN 

904-837-2022 ^221 

■ Credit Cards Accepted I 



'ENGINEERING ANALYSIS' 
SOFTWARE 

Cassette based Structural Finite Element Program 

analyzes plane frames, space trusses, and grid (floor 
beam) type structures. Models up to 350 DOF (116 
nodes depending on bandwidth) in a 16K Lll machine. 
Easy data entry with tree form input and tabulated out- 
put of global displacements, element forces, and 
nodal reactions. Documentation includes theory, 
description of use and examples. $35. ppd. 
Above program expanded to include Space (3-D) 
Frame $50. ppd. 

Truss Force Program is a method of joints solution of 
common trusses (fink, howe. fan, modified queenpost, 
and scissors) with uniform applied loads and equal 
panel lengths. Short data entry with tabulated output. 
$25 ppd. 

Linear Programming (simplex method) optimizes func- 
tions (max or min) having linear constraints. Examples 
include cost optimization of blends, assembly lines, 
transportation routes, etc. Easy data entry with free 
form input handles up to 30 design variables with 30 
constraints in a 16K Lll machine. $20. ppd. 
All programs listed above come on cassettes with 
documentation, ready to run on 16K Lll TRS-80. North 
Star disk versions will be forthcoming in the near 
future. Custom software development is available 

Write: Engineering Analysis 
Software Consultants 

P.O. Box 26206 ^oq 

Fort Worth. Texas 76116 ^ 
Phone: (817) 738-6282 or (214) 298-1248 



SOFTWARE DESIGN OR 

LEARNING HOW TO MAKE YOUR 

MICROCOMPUTER WORK FOR YOU 

Four new books in the famous Btacksbur% Series address a major limita- 
tion in the application of microcomputers to industrial, business, and 
personal data acquisition and device control task — 
MASTERING ASSEMBLY 
LANGUAGE PROGRAMMING 
They include detailed, hands-on experiments. 

Z-80 MICROPROCESSOR PROGRAMMING & 
INTERFACING, BOOK 2 

by Nichols, Nichols, & Rony. 494 p. Book No. 21610 $12.95. Covers in- 
terfacing of the Z-80 with PIO and CTC chips. 
8080/8085 SOFTWARE DESIGN. BOOK 2 

by Titus, Larsen, and Titus, 348 p. Book No. 21615 $9 95 Cov.rs asyn- 
chronous serial communications, interrupts, data structures, searching, 
sorting, look-up tables, command decoders, system monitors, break- 
points, and debuggers. 
TEA: AN 8080/8085 CO-RESIDENT 
EDITOR/ASSEMBLER 



by C. Titus, 254 p. Book No. 21628 $8.95. Lists and explains the com- 
plete program for the Tychon Editor- Assembler for generating 
assembly language for 8080/ 8085/ Z-80- based microcomputers. 
GUIDE TO CMOS BASICS, CIRCUITS, & 
EXPERIMENTS 

by Berlin, 221 p. Book No 21654 $8.95. Covers CMOS characteristics. 
TTL equivalents, and interfacing with other logic families and chips 
Send Check, M.O., VISA, or Master Charge order to: 

Group Technology, Ltd. 

P.O. Box 87 B ^ 1 g 4 

Chech, VA Z4072 
703-651-3153 
Add $1 .00 shipping and handling for one book, $.50 for each additional 
book. 

Virginia residents add A'\ sales tax. 

Write for descriptive brochure on more than 30 books in The Blacksburg 
Series. 



FOR THE 




TRS 80 is a registered trademark ol TANDY CORP 

SYSTEM 
EXPANSION 



TRS-80" 



95 



[PC BOARD A 
USER MANUAL J 



SERIAL RS232C 20mA I O 
FLOPPY CONTROLLER 
32K BYTES MEMORY 
PARALLEL PRINTER PORT 
DUAL CASSETTE PORT 
REAL-TIME CLOCK 
SCREEN PRINTER BUS 
ONBOARD POWER SUPPLY 
SOFTWARE COMPATIBLE 
SOLDER MASK, SILK SCREEN 



^198 



LNW 
RESEARCH 



8 Hollowglen St Irvine CA 
714 552 8946 92714 



TO ORDER 

PO Box 16216 Irvine CA 92713 
Add S3 for postoge and handling 
CA residents odd 6% sales tax 
Master Charge & VISA orders now accepted 



TRS-80, Apple II 
and S 100 owners. 



Busy Box. 



TM 



It makes your 
computer 

do things 

it never 

did before. 



MM ■ II II I HHi 



MV. ' .V. ' . I !*T 




CONTROL UNIT BUSY BOX 



MicroMint introduces a new wireless 
AC remote control interface for the 
Sears and BSR X-10 home control 
system. Use your present TRS-80 
Level II, Apple II or S-100 computer to 
provide complete home security through 
control of lights, appliances and motors 
with a few simple Basic commands. 
Buss compatible with virtually all 
microcomputers. Completely assembled 
— Just plug in and turn on! 

As featured in: 

"COMPUTERIZE A HOME" 

BYTE, January 1980 



BUSY 
BOX 



^L As 



Assembled and tested. "jr 

Busy Box $79.95 

Cable and connector for TRS-80 14.95 

Cable and adapter for Apple II 29.95 

Cable and adapter for S-100 34.95 

Power Supply (necessary for TRS-80) 9.95 
Real-Time software for TRS-80 19.95 

NY residents add 7'X> sales tax 

To order call (516) 374-6793 
or write: The MicroMint Inc. 

917 Midway 

Woodmere, NY 11598 

Dealer inquiries invited. 

IKS 80 is trademark ol Tandy Corp 

Apple II is trademark ol Apple Computer ^ 57 





ts Reader Service — see page 257 



Microcomputing, April 1980 127 



latch that drives the selected 
LED until another LED is 
selected by writing a new data 
word to the latch. On the input 
side, each switch connects to 
one section of a Tri-state buf- 
fer, with the two output lines 
feeding Bit and Bit 7. Note 
that address selection is ac- 
complished by using ENA1 and 
ENA2(Fig. 14). 

Fig. 18 shows how to display 
one-digit scores for the com- 
puter and player. The 4511 is a 
CMOS latch/LED driver that 
decodes BCD input data into 
seven-segment drive for com- 
mon-cathode LED displays. 
The player score is fetched and 
then written to ENA4, while the 
computer score is written to 
ENA8. Note that this display 
restricts the score to a max- 
imum of nine; by using two 
more 4511s and two more LED 
displays, score display can be 
expanded to 99 maximum. Use 
the same address strobes, but 
load the second 4511 in each 
display from data bits D4 
through D7. 



The flowcharts we will dis- 
cuss next are simply program 
segments that perform the 
specified function. Since the 
2650's instruction set is 
unusual, suggested assembly- 
language statements accom- 
pany various blocks of the 
flowcharts. The 2650 has two 
sets of three registers, plus a 
Register 0. The flowcharts are 
written with the assumption 
that Register 1 will contain the 
computer score, Register 2 
holds the player score and 
Register 3 stores the bit pattern 
representing the current state 
of the "moving LED." 

Flowchart 2 is straightfor- 
ward down to the decision 
block. The TMI (Test under 
Mask immediate) instruction 
sets the Condition Code (part 
of the 2650 status word), and 
the BCFR (Branch on Condition 
False, Relative) returns pro- 
gram flow to the input state- 
ment until the Start switch is 
closed. A dashed line indicates 
that the game program can be 
entered at the decision block if 



CD45II 







LOAD 

COMPUTER 

SCORE 



OUTPUT TO 
DISPLAY I 



LOAD 

PLAYER 

SCORE 



OUTPUT TO 
DISPLAY 2 



LODZ I 



STRA.O ENA4 



LODZ 2 



STRA.O ENA8 



OPTIONAL 

PROGRAM 

ENTRY 




LODA.O ENA 2 
TMI.O 80 (01 
BCFR.O ( ) 







BCTR, 3 START 



"DISPLAY SCORE" 



Flowchart 2. 



1 

4 


ROTATE 

REGISTER 

LEFT 






STORE 
REGISTER 
IN PORT 







RRL.3 



STRA.3 ENAI 



* 


ROTATE 


REGISTER 


RIGH 


T 


STOR 


E 


REGISTER 


IN PORT 



RRR, 3 



STRA.3 ENAI 



"MOVE LED LEFT' 



I 

♦ 
'MOVE LED RIGHT' 



ENA8 




270H(7) 
■wv 



wv- 



CD45II 



DO 
D I 
D2 
D3 



ENA8 



(STROBE) 



270H (7) 
-wv 



-wv- 



-vw- 



PLAYER 
SCORE 



SCORE DISPLAY 



desired. 

Note that the displays will 
show random values until the 
first game is played, then the 
score displays will show the 
previous game score until the 
pending game is finished. The 
advantage of this entry point is 
that a simple push of a button 
initiates the action, in place of 
resetting the CPU and making a 
new program entry. 

A similar decision block will 
suffice to detect the key action 
during the game; redefine the 
mask as 01 instead of 80. 
(These two mask values result 
from inputting the Key on Bit 
and the Start switch on Bit 7 as 
shown in Fig. 17.) The BCTR 
(Branch on Condition True, 
Relative) instruction is shown 
with Condition Code set to 3, 
which is defined as an uncondi- 
tional branch. This forces a 
return to the program start. 

Flowchart 3 shows the two 
self-explanatory sequences 
that move the LED pattern to 



LOAD RO 
WITH LED 
PATTERN 



LODZ 3 



SUBTRACT 
80 OR O I 
FROM RO 



SUB1.0 80 (Ol) 



BRANCH 
IF RO 

■ 




BRNR, XX 



NEXT INSTRUCTION 



NO / BRANCH \ YES 
TAKEN 

? 



TEST FOR END LED 



u 




COMPUTER 
SCORE 



Fig. 18. 



Flowchart 3. 



Flowchart 4. 



the left and right. Flowchart 4 
details one way to perform the 
"end LED?" test. Register is 
loaded from Register 3, and 
either 80 or 01 (depending on 
which point in Flowchart 1 is 
being tested) is subtracted 
from Register 0. Either instruc- 
tion BRNR (Branch on Register 
Non-zero, Relative) or the in- 
struction to follow is taken, 
depending upon the Condition 
Code resulting from the Sub- 
tract instruction. 

If you wish to evaluate 
various microcomputers, build 
one universal set of interface 
hardware and program the 
same set of tasks with each 
machine. Compare the oper- 
ating time and amount of mem- 
ory needed. The question of 
"which is the best micropro- 
cessor?" suddenly takes on 
new meaning, and the difficulty 
of making a valid choice be- 
comes apparent. 

No matter which you pick as 
a favorite, you will soon want 
some form of monitor program 
in ROM (read only memory). 
Then when power is first ap- 
plied to the system, it is possi- 
ble for the CPU to help with the 
startup. The monitor program 
may operate a cassette 
recorder, simple keyboard and 
LED display, or it might run a 
Teletype or TVT. Even when you 
reach this point, it is likely that 
you will have spent less than 
$200 on the system exclusive of 
the TTY or TVT. Considering the 
excellent education you will 
have received, that is a super 
bargain! ■ 



128 Microcomputing, April 1980 



SOFTWARE - TRS-80 - SOFTWARE 




■ 



r? in 
- E riRD - PHOTO! - 



PACKAGE ONE INCLUDES: GRAPHIC 
TREK "2000" — This full graphics, real 
time game is full of fast, exciting action! 
Exploding photon torpedoes and phasers 
fill the screen! You must actually navigate 
the enterprise to dock with the giant space 
stations as well as to avoid klingon 
torpedoes! Has shields, galactic memory 
readout, damage reports, long range 
sensors, etc! Has 3 levels for beginning, 
average, or expert players! * INVASION 
WORG — Time: 3099, Place: Earth's Solar 
System Mission: As general of Earth's 
forces, your job is to stop the Worg 
Invasion and destroy their outposts on 
Mars, Venus, Saturn, Neptune, etc! Earth's 
Forces: Androids — Space Fighters — 
Lazer Cannon — Neutrino Blasters! Worg 
Forces: Robots — Saucers — Disintegrators 

— Proton Destroyers! Multi level game lets 
you advance to a more complicated game 
as you get better! * STAR WARS — 
Manuever your space fighter deep into the 
nucleus of the Death Star! Drop your 
bomb, then escape via the only exit. This 
graphics game is really fun! May the Force 
be with you! * SPACE TARGET — 
Shoot at enemy Ships with your missiles. 
If they eject in a parachute, capture them 

— or if you're cruel, destroy them! Full 
graphics, real time game! * SAUCERS — 
This fast action graphics game has a time 
limit! Can you be the commander to win 
the distinguished cross! Requires split 
second timing to win! Watch out! 



ONLY $12.95 



PACKAGE TWO INCLUDES: CHECK- 
ERS 2.1 — Finally! A checkers program 
that will challenge everyone! Expert as 
well as amateur! Uses 3-ply tree search to 
find best possible move. Picks randomly 
between equal moves to assure you of 
never having identical games. * POKER 
FACE — The computer uses psychology as 
well as logic to try and beat you at poker. 
Cards are displayed using TRS-80*s full 
graphics. Computer raises, calls, and 
sometimes even folds! Great practice for 
your Saturday night poker match! (Plays 5 
card draw). * PSYCHIC — Tell the 
computer a little about yourself and he'll 
predict things about you, you won't 
believe! A real mind bender! Great 
amusement for parties. • TANGLE MAN- 
IA — Try and force your opponent into an 
immobile position. But watch out, they're 
doing the same to you! This graphics game 
is for 2 people and has been used to end 
stupid arguments. (And occasionally starts 
them!) • WORD SCRAMBLE — This 
game is for two or more people. One 
person inputs a word to the computer 
while the others look away. The computer 
scrambles the word, then keeps track of 
wrong guesses. 



ONLY $12.95 



PACKAGE THREE INCLUDES: POE- 
TRY — This program lets you choose the 
subject as well as the mood of the poem 
you want. You give TRS-80 certain nouns 
or names, then the mood, and it does the 
res'! It has a 1000-word + vocabulary of 
nouns, verbs, adjectives and adverbs! * 
ELECTRIC ARTIST — Manual: draw, 
erase, move as well as, Auto: draw, erase 
and move. Uses graphics bits not bytes. 
Saves drawing on tape or disk! * GALAC- 
TIC BATTLE — The Swineus enemy have 
long range phasers but cannot travel at 
warp speed! You can, but only have short 
range phasers! Can you blitzkrieg the 
enemy without getting destroyed! Full 
graphics — real time! * WORD MANIA — 
Can you guess the computer's words using 
your human intuitive and logical abilities? 
You'll need to, to beat the computer! • 
AIR COMMAND — Battle the Kamikaze 
pilots. Requires split second timing. This is 
a FAST action arcade game. 



ill » COh 

n 

IMO 

y.P0> pijhos 

E :e hot rod 

BOOn-BOC* TORTOISE 
JGL JOE'S 

OJ)ID 

*«icacT 



:'" : '-'IClNAl RACE 

ODDS ".69231 TO 1 

ODDS 3.33333 TO 1 

ODDS 5.55536 TO 1 

ODDS 5.26316 TO 1 

CDDS 7.14286 TO 1 

ODDS 3.84615 TO 1 

ODDS 5.55556 TO 1 

ODDS 5.88235 TO 1 



•;.r, im\ t .r HORSE *H BEVCOWA BPICEH'"' 1-2" 



PACKAGE FIVE INCLUDES: SUPER 
HORSERACE — Make your bets just like 
at the real racetrack! 8 horses race in this 
spectacular graphic display! Up to 9 
people can play! Uses real odds but has 
that element of chance you see in real life! 
Keeps track of everyone's winnings and 
losses. This is one of the few computer 
simulations that can actually get a room of 
people cheering! • MAZE MOUSE — The 
mouse with a mind! The computer 
generates random mazes of whatever size 
you specify, then searches for a way out! 
The second time, he'll always go fastest 
route! A true display of artificial intelli- 
gence! Full graphics, mazes &. mouses! * 
AMOEBA KILLER — You command a 
one man submarine that has been 
shrunken to the size of bacteria in this 
exciting graphic adventure! Injected into 
the president's bloodstream, your mission 
is to destroy the deadly amoeba infection 
ravaging his body! * LOGIC — This 
popular game is based on Mastermind but 
utilizes tactics that make it more exciting 
and challenging — has 2 levels of play to 
make »t 1un for everyone. * SUBMARIN- 
ER — Shoot torpedoes at the enemy ships 
to get points. Fast action graphics, arcade 
type game is exciting and fun for 
everybody! 



ONLY $12.95 



HARDWARE - TRS-80 - HARDWARE 



ONLY $12.95 



MICRO 
SPEED 

Upgrade your "slow" TRS-80 to a 
SUPER FAST MACHINE!! (2.66 
MHZ) over 50% FASTER! Some of 
the features: 

Auto turn-off during cassette or 
disk access. (This means NO lost 
programs EVER!) (Turns back on 
automatically too!) MANUAL con- 
trol. (Unit may be turned on or off 
at any time. Yes even during 
program execution!) Keyboard 
indicator light "blinks" when mi- 
cro-speed is on. Stops blinking 
when off! Don't wait for SARGON 
II or any other program!!! Comes 
with easy to follow instructions. 
(Some soldering required.) OR take 
to your local computer store or 
TV-Appliance Center for quick 
installation. (5-10 minutes!!) Works 
with any model, TRS-80. 

ONLY $24.95 complete 



MICRO 
BEEP 

Simple hook up: Just plug cassette 
remote jack into unit. 



EASILY CONTROLLED FROM 
BASIC: 

OUT 255,4 = on 
OUT 255,0 = off 

MICRO-BEEP make games more 
fun as well as provide useful sound 
output for professional applica- 
tions! 

Works with Any Model I TRS-80 



ONLY $9.95 complete 




PACKAGE FOUR INCLUDES: LIFE - 

This Z-80 machine language program uses 
full graphics! Over 100 generations per 
minute make it truly animated! You make 
your starting pattern, the computer does 
the rest! Program can be stopped and 
changes made! Watch it grow! • SPACE 
LANDER — This full graphics simulator 
lets you pick what planet, asteroid or 
moon you wish to land on! Has 3 skill 
levels that make it fun for everyone. • 
GREED II — Multi-level game is fun and 
challenging! Beat the computer at this dice 
game using your knowledge of odds and 
luck! Computer keeps track of his 
winnings and yours. Quick fast action. 
This game is not easy! • THE PHARAOH 
— Rule the ancient city of Alexandria! 
Buy or sell land. Keep your people from 
revolting! Stop the rampaging rats. Re- 
quires a true political personality to 
become good! • ROBOT HUNTER — A 
group of renegade robots have escaped and 
are spotted in an old ghost town on Mars! 
Your job as "Robot Hunter" is to destroy 
the pirate machines before they kill any 
more settlers! Exciting! Challenging! Full 
graphics! 



ONLY $12.95 



•> 5 6 7 8 9 18 11 12 
2 21 28 19 18 17 16 15 14 13 



■ III 
m POL 



WE 'FP0H.T0- 



PACKAGE SEVEN INCLUDES: BACK- 
GAMMON 5.0 — 2 different skill levels 
make this game a challenge to average or 
advanced players FAST (15 second avg) 
Looks for best possible move to beat you' 
FANTASTIC GRAPHICS. Plays doubles 
and uses international rules * SPEED 
READING — Increases your reading 
speed. Also checks for comprehension of 
material. Great for teenagers and adults to 
improve reading skills * py jo9 — Drop 
depth charges on moving subs. Lower 
depths get higher points in this fast action 
graphics game. * YAHTZEE — Play Yaht- 
zee with the computer. This popular game 
is even more fun and challenging against a 
TRS-80! * WALL STREET - Can you 
turn your $50,000 into a million dollars' 
That's the object of this great game 
Simulates an actual stock market! 

ONLY $12.95 






PACKAGE SIX INCLUDES: 20 HOME 
FINANCIAL PROGRAMS — Figures am- 
ortization, annuities, description rates, 
interest tables, earned interest on savings 
and much, much more. These programs 
will get used again and again. A must for 
the conscientious, inflation minded per- 
son. 



ONLY $12.95 




juwraoiix 



Exceptional Products through Research & Imagination 
Send Check, Money Order or Bank Card No. orders to: 



^29 



Master 
Charge 



24 HOUR (7 days) HOTLINE 
(602) 882-3948 

(C.O.D. $3 extra) 



Visa 



SIMUTEK 
P.O. Box 35298 
Tucson, AZ 85740 



Please Add 2.50 

Per Order For 

Postage & Handling 



Same Day Shipment on Bank Cards, 
Money Orders & C.O.D. 

All Tape Programs Require a Minimum of 16K Level 2 
Packages Available on Diskette (32K System) $4.25 Extra 

3 or More Packages Get 10% Discount 

Dealer Inquiries Invited 
TRS-80 IS A REGISTERED TRADEMARK OF TANDY CORP. 



SPECIAL DELIVERY 



Now with Extract! 



By using SPECIAL DELIVERY with Electric Pencil® 

you can realize the full potential of your TRS-80!® 

A 100% machine language word processor!! 



MAILFORM — Create MAILFILE: A 
complete Name and address list en- 
try/editor program. Instant search 
on any field, complete cursor con- 
trol, optional beeper to let you know 
something is wrong, active file always 
displayed, search can include num- 
eric only as well as don't care charac- 
ters, just FILL IN THE FORM!! 



SPECIAL DELIVERY (Disk) 
Electric Pencil (Disk) 

[Phone Orders (214) 492-0515 

Demand a demo from your local dealer today 
L or write for a complete brochure. 



MAILRITE — Print letters written 
with the Electric Pencil inserting 
information from a MAILFILE into 
the letter for personalizing and ad- 
dressing. True typist quality using 

your printer. Features: Indents, un- 
dress envelopes and MOREI 

125.00 _._ _-..-.„- _~ 

150.00 ^H A OFTWARE, ETC... 



SORT — MAILFORM will sort an 

entire address list in seconds using 

any field as the key. 

LABEL — MAILRITE prints mailing 

labels from MAILFILE. 

EXTRACT — Extract key records 



fied parameter(s) 



wsc 



1839 CHAMBERLAIN DRIVE 
CARROLTON, TX 75007 



»^155 



<r 



G. W. COMPUTERS LTD. 

This is how your business appears on the screen 

Approximately 60-100 entries/inputs require only 2-4 hours 
weekly and your entire business is under control. 



^V 



* PROGRAMS ARE INTEGRATED— 

01 = ENTER NAMES/ ADDRESS, ETC. 
02= * ENTER/PRINT INVOICES 
03= * ENTER PURCHASES 
04= * ENTER A/C RECEIVABLES 
05= * ENTER A/C PAYABLES 

06 = ENTER/UPDATE INVENTORY 

07 = ENTER/UPDATE ORDERS 
08= ENTER/UPDATE BANKS 

09 = EXAMINE/MONITOR SALES LEDGER 

10 = EXAMINE/MONITOR PURCHASE LEDGER 
1 1 = EXAMINE/PRINT INCOMPLETE RECORDS 
1 2 = EXAMINE PRODUCT SALES 



SELECT FUNCTION BY NUMBER 

1 3 = PRINT CUSTOMER STATEMENT 
1 4 = PRINT SUPPLIER STATEMENTS 
1 5 = PRINT AGENT STATEMENTS 
1 6 = PRINT TAX STATEMENTS 

1 7 = PRINT WEEK/MONTH SALES 

18 = PRINT WEEK/MONTH PURCHASES 

19 = PRINT YEAR AUDIT 

20 = PRINT PROFIT/LOSS ACCOUNT 

2 I = UPDATE END MONTH FILES 

22 = PRINT CASH FLOW FORECAST 

23 = ENTER/UPDATE PAYROLL (NOT YET AVAILABLE) 

24 = RETURN TO BASIC 



WHICH ONE? (ENTER I -24) 

Each program goes to sub menu, eg.: 
(9) allows A. LIST ALL SALES: B. MONITOR SALES BY STOCK CODES; 
C. RETRIEVE INVOICE DETAILS; D. AMEND LEDGER FILES; 
E. LIST TOTAL ALL SALES 

Think of the possibilities and add to those here if you wish. 

Price for current package Version 1 is $550, or Version 2 (including aged debtors analysis, etc.) is $750, or full listing, $300. 

All programs in BASIC for SWTP 6800/ Pet 16/32K Systems/Z80 Stroke CPM Systems/Package includes 31 programs. 



Z80 Inquiries = Distributor 

John D. OWENS ASSOCIATES, Inc. 

12 SCHUBERT STREET (new address) 
STATEN ISLAND, NEW YORK 10305 
DAY, EVENING, WEEKEND, HOLIDAY CALLS WELCOME! Bedford Avenue 

^ (212) 448-6283 (212) 448-6298 London, England WC 1 



Mr. Tony Winter 
G. W. Computers Ltd. 

89 Bedford Court Mansion 



»^75 



Pet Inquires = Distributor 

Grass Valley Computer Systems 
P.O. Box 678 

Ruff and Ready, Calif., 95975 
Ph.916-272-2793 JJ 



130 Microcomputing, April 1980 



Build your own microcomputer 

as you learn 
computer technology at home. 



New from NRI! 

The First Interdisciplinary 

Home Study Course Ever Offered 

As the microprocessor revolutionizes 
the computer world and microcomputers appear 
almost everywhere, NRI brings you a new, con- 
venient, and effective way to keep up with this 
expanding technology. It's NRI's courses in 
Microcomputers and Microprocessors, created 
and designed exclusively for learning at home 
in your spare time. 

Designed for the New Breed 
of Computer Technician 

It's no longer enough to be just a pro- 
grammer or technician. With microcomputers 
moving into the fabric of our lives as low-cost, 
easily available tools for business and home, 
both the programmer and technician must 
become total professionals. With practical 
knowledge of hardware, the programmer can 
design simpler, more effective programs. And 
with advanced programming skills, the tech- 
nician can test and debug systems quickly and 
easily. The NRI course gives you simultaneous 
training in both skills . . . makes you one of this 
rare new breed. 

Build Microcomputer, 
Test Instruments 

NRI goes far beyond book learning to give 
you practical, "hands-on" experience. As you 
learn, you actually assemble NRI's designed- 
for-learning microcomputer. It performs like 
the finest of its kind, and features both assembly 
and basic language capabilities. 

Every assembly step's a learning step. 
Using the NRI Discovery Lab® plus the NRI 
transistorized volt-ohm meter and CMOS digital 
frequency counter you also build, you perform 
meaningful experiments throughout your 
course... trace circuitry, interface components, 





introduce and correct problems, design your 
own programs, and more. 

The Proven Way to Learn 
at Home 

You don't have to worry with travel, classes, 
or time lost from work when you learn the NRI 
way. As they have for more than 60 years of teach- 
ing technical subjects, NRI brings the material 
to you. You study in your spare time, at your 
convenience, using "bite-size" lessons that 
program material into logical segments for easier 
assimilation. You perform experiments and build 
equipment using kits we supply. And your per- 
sonal NRI instructor is always available for con- 
sultation should you have questions or problems. 
Over a million students have already shown 
the effectiveness of NRI 
training. 

Choice of 
Courses 

Several courses 
are available, depending 
upon your needs and 
background. NRI's 
Master Course in Micro- 
computers and Micro- 
processors starts with 
the fundamentals, 
explores basic electronics 
and digital theory, the 
total computer world, 
and the microcomputer. 
The Advanced Course, 
for students already 



versed in digital electronics, concentrates on 
software and the world of the microprocessor 
and microcomputer. In both courses, you build 
all instruments and your own computer. 

Send for Free Catalog . . . 
No Salesman Will Call 

Get the details on these exciting new 
courses in NRI's free, 100-page cataJog. Shows 
all kits and equipment, lesson outlines, and full 
information, including facts on other electronics 
courses. Mail the coupon today and we'll rush 
your catalog. No salesman will ever call. Keep up 
with the latest technology as you learn on your 
own computer. If coupon has been removed, 
write to NRI Schools, Computer Department, 
3939 Wisconsin Ave., Washington, D.C. 20016. 




NRI Schools 

McGraw-Hill Continuing 

Education Center 
3939 Wisconsin Avenue 
Washington, DC 20016 

NO SALESMAN WILL CALL 

Please check for one free catalog only. 

D Computer Electronics Including 

Microcomputers 
□ TV/Audio/Video Systems Servicing 
D Complete Communications Electronics 

with CB • FCC Ucenses • Aircraft, 

Mobile, Marine Electronics 
D CB Specialists Course 
D Amateur Radio • Basic and Advanced 







All career courses 
approved under Gl Ml 

□ Check for details. 



D Digital Electronics • Electronic 
Technology • Basic Electronics 
D Small Engine Repair 
D Electrical Appliance Servicing 

□ Automotive Mechanics 
D Auto Air Conditioning 

□ Air Conditioning, Refrigeration, & Heating 
Including Solar Technology 



Name 



(Please Print) 



Street 



City/Stale/Zip 

Accredited by the Accrediting Commission of the National Home Study Council 1 72-040 



^Reader Service — see page 257 



Microcomputing, April 1980 131 



Lowercase for 
the TRS-80 



It's easier than you think. Last month we ran a strictly software approach to lowercase for 
the TRS-80. The technique that's presented here utilizes both hardware and sof tware. 



Steven Wexler 
1634 Buck Hill Drive 
Huntingdon Valley PA 19006 

With one memory chip, one 
spare OR gate and some 
software, you can add lower- 
case to the Level II TRS-80 video 
display in about 20 minutes. 

How is this possible? The 
TRS-80 has a character gen- 
erator that supports lowercase! 
Unfortunately, Radio Shack 
didn't include a 2102 RAM chip 
for the most significant ASCII 
bit in the video memory. 

Instead, they generated a 
quasi-bit by inverting the sec- 
ond most significant bit when 
the character generator is en- 
abled (the character generator 
is disabled for graphics). This 
has the effect of making ASCII 
control codes appear as upper- 
case. The ROM software video 



driver converts all uppercase 
and lowercase ASCII to control 
codes. 

Solution 

If you use a spare gate to OR 
the quasi-bit with a new 2102 bit, 
control codes will continue to be 
displayed as uppercase (see 
Fig. 1). After you load a patch to 
the ROM software video driver, 
lowercase will be displayed as 
lowercase. However, without 
the patch, lowercase will con- 
tinue to be displayed as upper- 
case. 

Words of Caution 

Although this modification is 
relatively simple as far as modi- 
fications go, it still should not be 
attempted by people with little 
or no hardware experience. 

Since any modification voids 
the Radio Shack 90-day war- 





ORG 401 EH 




401 E EA.7F 


DEFW LW ; 


Change video driver pointer 




ORG 32746 


Top of 16KRAM 


7FEA DD,6E,03 LW 


LD L, (IX + 3) 


Set HL to current cursor address 


7FED DD, 66, 04 


LDH,(IX+4) 




7FF0 DA.9A.04 


JPC.49AH 


Exit if not writing to screen 


7FF3 AF 


XOR A 


Set reg. A to zero 


7FF4 B1 


ORC 


Transfer reg. C to reg. A, setting flags 


7FF5 FA.A6.04 


JP M.4A6H 


;lf not ASCII leave 


7FF8 FE,20 


CP20H 


,Set flag for control code test 


7FFA 02,7D,04 


JP NC.47DH 


;Exit if control code 


7FFD C3,60,04 


JP460H 


;Patch back to ROM, bypassing conversion 



;to control codes 



END 



Listing 1. Video driver patch. 



ranty, wait until the warranty ex- 
pires before installing lower- 
case. Radio Shack charges a 
blanket rate of $24 to repair out- 
of-warranty, unmodified TRS- 
80s. However, they charge $48 
plus parts to repair modified 
TRS-80s. In addition, they rip out 
any modifications! 

Procedure 

1. Disconnect cassette, video, 
power and/or expansion plugs. 

2. Turn the TRS-80 upside 
down on a non-scratch surface 
and remove the screws. 

3. Turn the computer face up 
and remove the top cover. On 
some units you must remove the 
cover slowly, making sure you 
free up the power-on LED. 

4. At this point you will see the 
keyboard sitting on five posts. 
Note that the ribbon connector 
connects the keyboard to the 
main board. The ribbon connec- 
tor does not disconnect from 
either board. Lift the keyboard 
from the posts, flexing the rib- 
bon connector as little as pos- 
sible. 

5. Underneath the keyboard 
are five spacers. Note the posts 
they are on and remove them. 

6. Lift the main board off the 
posts and onto the top of the 
keyboard. Component side of 
the main board should be up. 

7. Note the socket that the 
cable from the Level II ROM 
board is plugged into (Z33 or 



Z34). Disconnect the cable. 

8. Using long-nose pliers, 
bend pins 11 and 12 of the new 
2102 upward. Place the new 
2102 on top of Z63. Pins 11 and 
12 should be on the right-hand 
side. The new 2102 will be called 
Z63A. 

9. Quickly and carefully solder 
all but pins 11 and 12 of Z63Ato 
the respective pins of Z63. 

10. Using tweezers to hold the 
wire-wrap posts, solder a post to 
Z60, pin 4, Z60, pin 5, and Z30, 
pin 13. 

1 1 . Using Solder Up (available 
at Radio Shack), desolder pins 

11, 12 and 13 of Z73 from the 
board. Turn these pins upward 
with long-nose pliers. 

12. Wire-wrap the following con- 
nections: 

Z63A, pin 11 to Z60, pin 5 
Z63A, pin 12toZ73, pin 12 
Z30, pin 13toZ73, pin 13 
Z73, pin 11 toZ60, pin 4 

13. A narrow trace runs be- 
tween pins 5 and 6 of Z30 out 
toward the left of Z30. Cut the 
trace with a knife. 

14. Connect the Level II cable 
into its socket (see step 7). 

15. Restore the main board in- 
to the bottom case, with the key- 
board cable toward the front, 
component side down. 

16. Restore the spacers. 

17. Place the keyboard onto 
the appropriate posts. 

18. Put the top cover in place, 
turn the unit over and screw to- 
gether. Place the short screws 



132 Microcomputing, April 1980 



74LS02 



I \ 

Z30 \ 
S 



CUT 



13 



Z73 
74LS32 

(SPARE 
GATE) 




NEW CIRCUITRY 



BIT 6 



DATA 
IN 



Z63A 

2102 



DATA 
OUT 



12 



VIDEO 
READ 




£n 



DATA 
IN 



Z63 
2102 



DATA 
OUT 



BIT 7 



■H£ 



12 



A ■ Z60 74LS367 
B = Z44 74LS367 



DATA 
IN 



Z62 
2102 



DATA 
OUT 



Y- 



BIT 5 



S04 



i3 



GRAPHIC 



ENABLE 



Z27 

74LSI75 



12 



rF 



DATA 
IN 



Z6I 
2102 



DATA 
OUT 



12 



BIT4 



Z28 

74 L S 1 74 



r& 



I 



DATA 
IN 



Z45 
2102 



DATA 
OUT 



12 



BIT 3 



rt£ 



DATA 
IN 



Z46 
2102 



DATA 
OUT 



12 



BIT 2 



Fig. 1. Circuit modification. 



rt£ 



DA 
IN 



Z47 

2I02 



DATA 
OUT 



ITA \>r 



12 



BIT I 



DATA 
IN 



Z48 
2I02 



DATA 
OUT 



12 



BIT O 



D7 



D6 



D5 



D4 



D2 



DO 



-< 



< 



"^ BIDIRECTIONAL 
03 / DATA LINES 



< 



< 



< 



on the thinnest part. 

19. Reconnect the power, 
video, cassette and/or expan- 
sion plugs. Warning: Make cer- 
tain the power plug is in the cor- 
rect place; otherwise, extensive 
damage may result. 

20. Run the following program 



to test the modifications. 

10CLS 

20 FOR A = to 127 

30 POKE 15360 + A,A 

40 NEXT 

50 PRINT @ 640,"" 

You should see uppercase, 
punctuation, numbers, upper- 
case again and, finally, you will 



see lowercase. 

Software 

Listing 1 contains a short 
patch to the ROM video driver. 
The listing is assembled at the 
top of 16K RAM. 

On power-up, set memory size 



to 32745 and load the patch, but 
do not run it. Use the Break key 
to get the "ready" prompt. Type 
your name, first without using 
the shift key, then with the shift 
key. If you can see the dif- 
ference, congratulations . . . you 
now have lowercase! ■ 





jcippkz computer Mfcippkz computer 



DOUBLEVISION 



TM 




iiiiiiiimiimmiiir 



80x24 Video Display 

COLUMNS LINES »# 

with Upper and Lower Case 



• Works with Apple If. Apple II Plus*, and PASCAL 

• Full 96 ASCII character set 

• Fully programmable cursor 
1-9 lines any position 
Blinking (2 speeds) and non-blinking 



• Shift Lock Feature 

• Built in Light Pen capability 

• Inverse video 

• Full cursor control 

• 50/60 Hz operation 



• All software included for BASIC (optional for PASCAL) . No conflict with other boards using $C800 to $CFFF 

OO" 

Reg $295.00. 



Introductory Sale Price 

• Compatible with the latest in word processing software "Apple-Pie 2.0' 



$195 



*• PASCAL software interface available for S25 00 additional 
"For all order* received before midnight. April 30. 1900 
Deliveries start end of February • Allow up to 4 weeks for shipment 
All Mail orders add S3 00 for postage, insurance and handling 



Calif Residents add 6% Sales Tax 
'Apple is a Registered TM of Apple Computers. Inc 



The Computer Stop 

^104 16919 Hawthorne Blvd. 

Lawndale, CA 90260 

(213)371-4010 



MON. - SAT. 
10-6 



SUPER SPECIAL 

Apple II 16K 

$999.99 



i S3 




The Paper Tiger. 

$950.00 

§; With Graphics $1090.00 



DISK II 

with controller 

without controller 
MICROMODEM 
PASCAL 

ROMPLUS 

with keyboard filter 



*^105 



$545.00 

$465.00 
$325.00 
$425.00 
$149.00 



The Computer Stop 

16919 Hawthorne Blvd. 
Lawndale. CA 90260 

(213)371-4010 



16K RAMS for 
APPLE II 
TRS-80 



3 IUI 

$65 




SAT. 



v Reader Service — see page 257 



Microcomputing, April 1980 133 



The days of complicated, unreliable, 
dynamic RAM are gone: 




INTRODUCING 




$199 



the ultrabyte memory board 

Q V\ I complete kit 1 
ww y with 16K memory f 



Netronics consistently offers innovative products at un- 
beatable prices. And here we go again — with JAWS, 
the ultrabyte 64K S100 memory board. 
ONE CHIP DOES IT ALL 
JAWS solves the problems of dynamic RAM with a 
state-of-the-art chip from Intel that does it all. Intel's 
single chip 64K dynamic RAM controller eliminates 
high-current logic parts . . . delay lines . massive 
heat sinks . . . unreliable trick circuits. 
REMARKABLE FEATURES OF JAWS 
Look what JAWS offers you: Hidden refresh . fast 
performance . . . low power consumption . . . latched 
data outputs ... 200 NS 4116 RAMs . . . on-board 
crystal 8K bank selectable . . . fully socketed . . 
solder mask on both sides of board . . . designed for 
8080. 8085. and Z80 bus signals . . . works in Explorer. 
Sol. Horizon, as well as all other well-designed S100 
computers. 

GIVE YOUR COMPUTER A BIG BYTE OF MEMORY 
POWER WITH JAWS— SAVE UP TO $ 90 ON 
INTRODUCTORY LIMITED-OFFER SPECIAL PRICESI 

UNDECIDED? TRY A WIRED 16K JAWS IN YOUR COMPUTER ON OUR 
IO-DA Y MONEY- BACK OEEER (SPECIFY YOUR COMPUTER) 



ton 

I 



I 



CONTINENTAL USA CREDIT CARD MYERS OUT SIOE CONNECTICUT C All 



^^^ From Connecticut Or For Assiitan 

isb netronics: 



CALL TOLL FREE 800-243-7428 

From Connecticut Or For Assistance (203) 354-9375 

'research & 
Idevelopmentltdj 

333 Litchfield Road. New Mi Iford.CT 06776 
Please send the items checked below: Dept. K-4 
G JAWS 16K RAM kit. No. 6416. $199.95* 

□ JAWS 16K RAM fully assembled, tested, burned in. 
No. 6416W. $229.95* 

G JAWS 32K RAM kit. No. 6432. (reg. price $329.95). 
SPECIAL PRICE $299.95.* 

□ JAWS 32K RAM fully assembled, tested, burned in. 
No. 6432W. (reg. price $369.95). SPECIAL PRICE 
$339.95.* 

G JAWS 48K RAM kit. No. 6448. (reg. price $459.95). 

SPECIAL PRICE $399.95* 
G JAWS 48K fully assembled, tested, burned in. No 

6448W. (reg. price $509.95). SPECIAL PRICE 

$449.95.* 
G JAWS 64K RAM kit. No. 6464. (reg. price $589.95). 

SPECIAL PRICE $499.95* 
G JAWS 64K RAM fully assembled, tested, burned in. 

No. 6464W, (reg. price $649.95), SPECIAL PRICE 

$559.95.* 
G Expension kit. JAWS 16K RAM module, to expand 

any of the above in 16K blocks up to 64K No. 16EXP. 

$129.95* 

* All prices plus $2 postage and handling. Connecticut 
residents add sales tax. 
Total enclosed: $ 



G Personal Check □ Money order or Cashiers Check 

G VISA G MASTER CHARGE (Bank No ) 

Acct. No. Exp. Date 

Signature — 

Print Name 

Address 

City 



State 

G Send me more information 



Zip 



Connect your TRS-80. Apple or ANY 
other computer to the phone lines. 

USR-330 Originate— 
Auto-Answer Modem 



0-300 Baud 

Stand Alone 

RS232 

1 Year Warranty 

Crystal Controlled 

Bell 103/113 

• State of the Art LSI circuitry 

• 5 stage active filters 




$339 






FCC certified for direct 
connection to phone lines via 
standard extension phone jack 



Call or write for free literature 



U.S. ROBOTICS, INC. 



1035 W. LAKE ST. 

CHICAGO, ILL. 6060 

(312) 733-0497 



^181 




Send for our 

FREE PRICELIST 

with very low prices 

on disks, tapes, and 

many other items for 

COMPUTER HOBBYISTS 

AND BUSINESS USERS 



Send name & addr . to 
Computer Action 



P.O. Box 119 



Brooklyn, N.Y 



11236 



DATA-BASE 
MANAGEMENT 

• INITIALIZATION: of any data base by no. of 
records, no. of fields, name of fields, no. of 
characters per field. 

• SELECTIVE LISTING: on any field. 

• MENU DRIVEN: for easy operation, addition, 
lookup, change, delete, list. 

• HASHING: for fast operation on large files. 

• FREE! APPLICATION: mailing list generator 
with multi-key selective listing. 



NORTH STAR: DISK 

TRS-80: DISK OR CASSETTE 
LISTINGS: FOR ABOVE 



$29.95 
$29.95 
$20.00 



Computer Data Servlces<^j^ ^184 
PO Box 1626, Melbourne FL 32935 



STOCK PORTFOLIO— Two programs to help you track your in- 
vestments. 

• Program #1 —Keeps track of your stock purchases and sales, cur- 
rent prices, current value of portfolio and your profit/loss from 
sales this year 

• Program #2— Plots up to 120 price changes. Computes the mov- 
ing average of the stock and plots the trend 

• LEVEL II with 16K 

Instructions/Program Cassette $ lf '^1 

Program Listing and Instructions Only $6.95 

GREETING CARD— Create your own personalized greeting cards to 
send to your friends. Includes Birthday, Anniversary, Graduation, 
Wedding and any special message you want to send 

• LEVEL II with printer 

Instructions/Program Cassette $9 95 

Program Listing and Instructions Only W 95 

PROJECT TRACKING— Lets you know when those important proj- 
ects are falling behind schedule and what the impact will be on the 
entire project Two programs. 

• Program #1 —Critical Path Analysis computes the critical path of 
the project and produces a listing showing start and completion 
dates and slack time. Generates the data for use in the tracking 
program. 

• Program #2— Project tracking maintains current hours spent on 
each task within the project, who is working on that task Flags 
those tasks which are running over the estimated time for com- 
pletion and flags those tasks that are overdue. Permits daily or 
weekly updating of the data 

• LEVEL II with printer 

Instructions/Program Cassette $19.95 

Program Listing and Instructions Only $6 95 

CRITICAL PATH ANALYSIS- The same program used in proiect 

tracking but without the tracking module 

• LEVEL II with printer 

Instructions/Program Cassette * 9 95 

Program Listing and Instructions Only $4 95 

Send Check or Money Order to: »^18Z 

COMPUT ANOTE . Inc. P.O. Box 158, Warrington, Pa 18976 



iTRS-8© w 5 

lower case 

M®all ff@ir Wmft ]pn®@§g8fiisig] 

Sottw^nvers^/Cassette Includedj Easyt oJnstaM 
TRS-80 Protot ype Board $3 4" 



we accept 



WS4- 




Features: 

• Buffered Address. Data & Control Lines. 

• Switch selectable to any IK address block 
^ <Space available for up to 40 pin ribbon 
^ header & accepts dip IC packages lO.l 
^^ inch grid). ICs or hardv are not included 
"•Fully interfaced to the TRS 80 exponsion 

bus. 



Please send Check, Money Order.or Bank Card£? to*. 

= = Uinlbe^ipalbeal 

EESeirvuce ^ (* ,2 )522-6631 

z rSy/^teeims ilinc, ******** *m«+ 

1011 West Broadway, Minneapolis, Mn. 55411 

DEALER INQUIRES INVITED TRS 80 iso 9 of Tondy Corp 



HOW TO START YOUR 
OWN SYSTEMS HOUSE 

A practical guide for the small EDP entre- 
preneur. 213-page manual covers all aspects of 
starting and successfully operating a Small 
Business Computer company. 5th revised edi- 
tion June 1979. From the contents: 

• The Systems House Industry • Hardware, 
Software or Both? • Market Selection & 
Evaluation* Industry Application Opportunities 

• Equipment Selection • Becoming a Distributor 

• Product Pricing • Getting Your Advertising 
Dollars Worth • The Selling Cycle • Financing 
For The Customer* Questions You Will Have To 
Answer Before The Customer Buys • Solving 
The Service Problem • Protecting Your Product 

• How To Write A Good Business Plan • Raising 
Capital • 

Send $36.00 (check, VISA or Mastercharge) to: 

Essex Publishing Co., Dept 1 
285 Bloomfield Avenue 
Caldwell, N.J. 07006 ^185 

Credit card orders: Send card #, date exp. Add 
$2.00 for rush, air mail shipping. N.J. residents 
add 5% sales tax. For faster shipment on credit 
card orders, phone (201) 783-6940. 



134 Microcomputing, April 1980 





Formerly the CPU Sh 



• • 



Disk Drives for TRS-80 * 



CCI- 100™ 40 Track 

CCI-200™ 77 Track 

CCI-800™8"Drive 

(Model II ) 



Reg. 


Our 


$399 


$345 


$675 


$549 


$895 


$795 



TRS-80* Systems 




1 6 K Memory Upgrade Kits 

Add $2.50 for jumpers and Regular Price Our Price 

programming instructions $79 $62 

Operating Systems for TRS-80* 

35 Track 40 Track 77 Track 

Reg. Our Reg. Our 

NEWDOSbyApparatf $ 49 $ 44 $ 55 $ 50 

NEWDOSPIus $ 99 $ 79 $110 $ 89 



Reg. Our 



Reg. Our 
TRS-80* 16K Level II w/keypad $849 $749 
TRS-80* Expansion Interface $299 $279 
Cat Modem — Originate and 

answer. Same as Radio Shack 

Telephone Interface II $ 199" $ 189 

SAVE EVEN MORE— CALL FOR COMPLETE SYSTEM PRICES 

Printers for TRS-80* 

NEC Spinwriter - letter quality high 
speed printerwith 

TRS-80* interface Reg. Price Our Price 
software $2745 $2479 



Reg. 
$150 
$250 



$150 $100 

Our 
$145 
$170 
$ 25 

$ 8.95 




CP/M for TRS-80* Model I, Zenith 

TRS-80* Model II, ALTOS 
Manual only 

ComputerCityTM Patchpak # 4 by Percom Data $ 9.95 
Patches and enhances TRSDOS for 40 track and 77 track drives. 
Diskettes 5V 2 " Box of 10 Call for quantity discounts $ 26.49 

Business Software £ TRS-80* by CSA 

MODEL I MODEL II 



with Tractor 

779 Centronics Tractor Feed 

730 Centronics Friction and Pin 

PI Centronics Printer 

Paper Tiger (IP440) with graphics option 

TI-810 Upper and lower case, parallel and 

serial, paper tray, and TRS-80* 

Interface software. 
MPI Inflation Fighter 
Sanders 12/7 Typographic Printer 



$2979 

$1598 

$ 995 
$ 499 
$1195 



$2065 
$ 795 
$3994 



$2679 

$ 995 

$ 899 
$ 379 
$1155 



$1829 
$ 749 
$3899 



General Ledger 
Accounts Payable 
Accounts Receivable 
Inventory 

Mailing List Name and Address 
Complete Computer 
Checkout Program 
Spooler by CSA- 
Prints while doing data entry 



Reg. 
$125 
$125 
$125 
$125 
$129 

$ 29 



Our 
$97 
$97 
$97 
$97 
$97 

$26 



Reg. 
$225 
$225 
$225 
$225 
$225 



Our 
$199 
$199 
$199 
$199 
$199 



$ 29.95 $ 24.95 



r £NirH (Heath) WH89 



f THHIIFHI I H II I IIIIMHIT T 




$1195 



;cippkz computer 

Call for Special Accessory Prices 

High Technology Mail List (Apple) $ 40 $ 35 

(^LCO^l Z8 ° based ' dual 8 " sin 9 le - sided double 
/ density floppies. Reg. 

32K System $4500 

64K System $4960 

Prices in this ad are for prepaid orders. Slightly higher prices prevail for other- 
than prepaid orders, i.e., C.O.D., credit cards, etc. 

Freight collect, F.O.B. 
Charlestown 



Call for 
price 



Theall-in-onecomputer. Floppy Reg. Call for 
disk storage. Smart video ter- $2595 price 
minal. Two Z80 microprocessors. 
Complete with 16K 
RAM expandable to 48K. 

CCITM - 1 89 Add-on drives for Call for 

WH89 $ 495 price 

MATTiEL iNtEUiViSiON 

Call for Special Introductory Prices 




ATARI 



400 AND 800 



Call for 
Prices 



ComputerCity 

175 Main Street, Dept. K- 4 Charlestown, MA 02129 



TO ORDER CALL TOLL FREE 1 -800-343-6522 

TWX: 710-348-1796 MassachusettsResidentscall617/242-3350 



Hours 1 0AM-6PM (EST) Mon.-Fri. (Sat. till 5) • For detailed information, call 61 7/242/3350 

Massachusetts Residentsadd 5% Sales Tax • TM CCI- 100, - 189, -200& -800areComputerCity, Inc. trademarks. TRS-80* isatrademark of the RadioShack 

Division of Tandy Corporation f Requires Radio Shack TRSDOS* Prices subject to change without notice. Franchise and Dealer Inquiries Invited 

Retail Store / Charlestown, MA • Framingham, MA • Hanover, MA • Burlington, MA 



Locations / Manchester, NH • Providence, RI 




^Reader Service — see page 257 



Microcomputing, April 1980 135 



Thoughts on the 
SWTP Computer System 



Part 11 examines how to use the SWTP 32K dynamic memory board. 



Peter A. Stark 

PO Box 209 

Mt. Kisco NY 10549 



In March, we looked at how the 
SWTP 32K dynamic memory 
board works and how to change 
it. We will continue our examina- 
tion of this board by discussing 
how we can use it. 

If you just make it into a plain 
32K board using either 24 or just 
16 ICs, then you can use it the 
same way as any other 32K 
board, except that it takes less 
power because it has fewer ICs. 

Converting to a full, one-piece 
64K board is not practical; the 
6800 will not support that much 
RAM since it also needs room 
for ROM and I/O. 

Converting to a 64K board in 
two 32K chunks switched by an 
output port (PIA) is an intriguing 
idea because it opens up a 
whole new area of time-sharing 
and multiprogramming possibil- 
ities. 

Converting to a 48K board for 
a 6800 system is the most worth- 
while, but it requires much work. 
Normal I/O is at address 8000; if 
you want 48K of continuous 
memory, you must move this 
elsewhere. (In a 6809 system, 
however, a 48K memory board is 
useful, since 6809 monitors 
such as SWTP SBUG-E or Per- 
com's PSYMON assume that I/O 
will be somewhere in high mem- 



ory. Perhaps modifying to 48K 
would be most useful here.) 

6800 System Modifications 

I have modified my 6800 sys- 
tem to implement 48K of contig- 
uous RAM. The memory map of 
my system is as follows: 
0000-BFFF 48K of RAM 
C000-CFFF Percom disk con- 
troller and its 
ROM 
D800-DFFF Percom video 

board 
E000-E3FF SWTBUG in a 
2708 EPROM 
E400-F7FF Other routines in 

2708 EPROMs 
F800-FBFF I/O ports 
through 7 
FC00-FFF7 2708 EPROM, 
temporarily 
empty 
FFF8-FFFF SWTBUG's reset 
and interrupt vec- 
tors 
Note the heavy use of 2708 
EPROMs. Although I have the 
MP-A2 CPU card and several 
2716 EPROMs that could be 
plugged into it, I have a separate 
2708 EPROM board with a num- 
ber of 2708s. There are several 
reasons for this. 

First of all, the 2708 is less ex- 
pensive and more available than 
the 2716. But this is outweighed 
by the need to build a 2708 
board. 

More important, although I 
am still using SWTBUG (I had to 
burn it into an EPROM to 
change all I/O references from 
8000 to F8), I am planning to 
switch over to a modular "moni- 
tor to end all monitors," which I 
mentioned in the February 1980 
installment. Although it will be 



spread out over more than one 
EPROM, each EPROM will stand 
on its own, and future improve- 
ments will be made by just burn- 
ing one new EPROM at a time. 
Smaller chunks of program will 
have to be updated with the 1K 
2708 than with the 2K 2716. 

But there is a more important 
reason for the use of the 2708. 1 
wanted the whole region from 
E000 through FFFF to be 
EPROM, except for a small re- 
gion used up by I/O. For the sake 
of simplicity, I let the EPROM 
board address-decoding cir- 
cuitry handle I/O address decod- 
ing too. The I/O on the mother- 
board simply replaces one 
EPROM. With the 2708, I/O only 
uses up 1K of memory; with a 
2716 it uses up 2K. 

Making this change, I had to 
proceed in a carefully planned 
sequence to prevent boxing my- 
self into a corner. Follow these 
steps: 

1. Change all I/O references in 
SWTBUG from 80xx to F8xx and 
burn it into 2708 EPROMs by 
changing each 80 to an F8 in 
SWTBUG locations E10A, E156, 
E290, E2AE, E2B4 and E2C7. I 
then burned SWTBUG into two 
2708s; one got everything in ad- 
dresses E000 through E3F7, 
while the other got the reset and 
interrupt vectors given in the 
SWTBUG listing as locations 
E3F8 through E3FF. This latter 
2708 will eventually be ad- 
dressed from FC00 through 
FFFF, and these vectors will ap- 
pear in FFF8 through FFFF, 
rather than the addresses listed 
in the program listing. It would 
have been possible to burn 
SWTBUG into just one 2708 and 



then modify the EPROM board 
address decoding to put it into 
two address locations at the 
same time, but it is much 
simpler to just use two EPROMs 
instead. Once the 2708s were 
burned, I put them aside while I 
continued. 

2. Modify the disk operating 
system and store it on cassette. 
In SWTP and SSB disk systems, 
the disk operating system (DOS) 
is stored on disk. If you don't 
modify the DOS before I/O ad- 
dresses are changed, you will 
not be able to modify it later be- 
cause you will have no way of 
reading the disk. Hence, any 
changes will have to be done 
first and stored on some other 
medium, such as a cassette. 

In the case of the Percom 
DOS, no changes are requvred 
since it does not refer to any I/O 
addresses (its controller is not 
plugged into the I/O bus). 

The SSB disk controller has a 
bootstrap program, some rou- 
tines in ROM and the rest of the 
DOS on the disk. You will have to 
change all I/O addresses in both 
from 80xx to F8xx, burn a new 
ROM and store the disk-resident 
portion of the DOS on cassette. 
In the case of the SWTP 
MF-68 disk, the disk bootstrap \i\ 
SWTBUG has already been 
changed as part of the above, so 
only the disk-resident DOS must 
be changed, and again stored 
on cassette so it can be read 
back in later. In mini-Flex, the lo- 
cations shown in Example 1 
must be changed from 80 to F8. 
Then save locations 7080 
through 7FFF with a starting ad- 
dress of 7100. In Flex 2.0, the lo- 
cations in Example 2 must be 



136 Microcomputing, April 1980 



72E3 
7F6E 


72E9 7F1E 7F26 
7F76 7F86 7F97 


7F34 7F43 
7FAA 7FB5 


7F4B 7F50 7F58 7F62 
7FD9 7FDE 7FE8 






Example 1. 




A720 
BEF4 
BF84 


A776 AF81 AF87 
BEF9 BF01 BFOB 
BF8E 


BEA7 BEA9 
BF1D BF25 

Example 2. 


BECO BEC8 BED6 BEEC 
BF35 BF4D BF61 BF7F 












changed from 80 to F8. 

In FLEX disk systems, there is 
one big problem: once you move 
your I/O out of 8000, you will not 
be able to boot any of your old 
disks. Using the DOS you have 
modified and just saved (on cas- 
sette, for instance), you will be 
able to bring up FLEX by loading 
it from cassette and then start- 
ing it at either 7100 or AD00, de- 
pending on the version. Using a 
modified NEWDISK (see the 
section on patches), you can ini- 
tialize new disks and put this 
DOS on them. These will then 
boot with the D command in 
your modified SWTBUG. But 
disks NEWDISKed earlier will 
not boot, even if you replace the 
DOS on them with the new ver- 
sion. 

This can be a major problem if 
you do not have a FLEX disk sys- 
tem now, but plan to get one af- 
ter you move your I/O. You will 
have no way of reading in the 
DOS to make the required 
changes, unless you have a 
friend with a disk system who 
can make these changes for you 
and give you a cassette of DOS. 
I suspect that a similar prob- 
lem exists with the SSB disk; the 
Percom disk does not have the 
problem. You may also have a 
tot ot trouble II you go to a stan- 
dard floppy or hard disk in the 
future. 

3. Modify the ROM board to 
delete the region used up by the 
I/O ports from the ROM memory 
area. Most ROM boards take up 
multiples of 4K of addresses. 
Hence, if we address part of the 
board at the SWTBUG area of 
E000-E3FF, the ROM board will 
take up the full 4K from E000 
through EFFF, whether we like it 
or not. Likewise, since we need 
the reset and interrupt vectors 



up at FFF8 through FFFF, the 
ROM board will take up the full 
area from F000 through FFFF 
. . . again, whether we use the 
rest or not. This interferes with 
our putting the I/O addresses up 
into high memory. So we must 
wire up the ROM board to leave 
some memory unassigned to 
the board, and therefore avail- 
able for I/O. 

How you do this depends on 
the ROM board. The Micro 
Works 2708 EPROM board, for 
example, is already designed for 
just this with a jumper that can 
be used to delete any 1K seg- 
ment from the board so it can be 
used for I/O. In fact, this board 
even has the circuitry for decod- 
ing this I/O address range and 
feeding the I/O address de- 
coders on the motherboard. In 
that sense, the Micro Works 
EPROM board is a perfect candi- 
date for this job. 

My system contains the 16K 
2708 EPROM board available 
from Walter Wimberly (2914 
Sunrise Drive, Orlando FL 32803) 
for $27.50 for a bare board. This 
board occupies the 8K slot from 
E000 through FFFF, except that 
a 1K chunk has been deleted at 
F800-FBFF by making the 
change shown in Fig. 1. 

In Fig. 1a the circuit before 
the change had U21B generat- 
ing a Board Select signal, which 
enabled the data output buffers 
when any ROM was selected; 
U25B was a decoder that en- 
abled one of four EPROMs ... in 
this case, U17 (although any of 
the decoder outputs could have 
been used). 

After the change, pins 12 and 
1 3 of U21 B are freed up and con- 
nected to the decoder instead. 
Now, whenever the address cor- 
responding to U17 is selected, a 



low signal to U21B turns off the 
Board Select signal, thereby dis- 
abling the board outputs. (This 
same signal is also used for I/O 
decoding on the motherboard.) 
4. Change the motherboard 
I/O decoding from 80xx to F8xx. 
IC6 on the motherboard has an 
output on pin 11 that goes low 
when an address in the range of 
8000 through 8FFF is selected. I 
could have rewired this IC, but it 
was much simpler to use the de- 
coding already on the EPROM 
board to turn on I/O at the exact 
same time as it turned off the 
EPROM output data. This is ex- 
actly the same idea imple- 
mented on the Micro Works 
EPROM board, though in a dif- 
ferent way. 

In my case, I simply soldered 
a two-inch length of wire to 
U25B, pin 10, shown in Fig. 1b, 
and connected the other end to 
pin 11 of an IC header. A header 
is a small plug designed to fit in- 
to an IC socket. It's normally 
used either on the end of a cable 
to connect different boards to- 
gether or to mount resistors or 
other small parts so they can be 
plugged into an IC socket. 

I then plugged the EPROM 
board into the last 50-pin con- 
nector on the motherboard, just 
in front of the I/O decoder/driver 
ICs mounted on the mother- 
board. I unplugged IC6 from the 
motherboard and plugged in the 
header instead of the IC. The 
two-inch length of thin wire was 
a comfortable fit. This arrange- 
ment provides perfect I/O de- 
coding without my even having 
to pull the motherboard out of 
the cabinet for changes, and if I 
ever want to go back to I/O at 
8000, I just unplug the header 
and plug IC6 back in. At this 
point, I plugged in the dynamic 



RAM board and promptly had a 
48K system operating. 

Patches 

It was then necessary to 
patch software to make it run 
properly. One problem is that 
much software— such as BASIC 
—monitors the ACIA on port 1 to 
look for a break or control C. If I 
simply entered 00 into locations 
8004 and 8005 before running 
these programs, I could make 
sure that the software would 
never get a control C, and so get 
it to run. Nevertheless, there 
was still much patching re- 
quired. The following is a list of 
locations that need to be 
patched. 

Percom Super BASIC, version 
1.09. Change 80 to F8 in loca- 
tions 0584, 058A, 059A, 05A1, 
05AC. 05B1 and 1C0C to move 
the I/O. Then change location 
0150 from 8000 to A000 to allow 
BASIC to use the full 40K of 
memory up to 9FFF. 

Mini-FLEX NEWDISK com- 
mand. Change the following lo- 
cations from 80 to F8: 0466, 
046C, 047B, 0487, 048C, 0492^ 
054C, 0556, 0563, 0579, 057E, 
0585, 058E, 0596, 05B8. 

Percom "Touchup" version of 
the TSC Text Editor. Change lo- 
cations 15F0, 1CF7, 1CFA and 
1 D02 from 80 to F8. Also change 
location 16E6 from 80 to A0 so 
the editor will use the full 40K for 
its files. 

TSC Debug package. Change 

locations 410F from 80 to F8. 

Percom assembler. Change 

80 to F8 in locations 010F, 02F8, 

0331 and 0334. 

Cores editor/assembler. 

Change 80 to F8 in locations 

0296, 029B, 029E, 1680, 17A3, 

1A16. 1A60, 1A70and 1A87. 

TSC Text Processor. Change 



BOARD SELECT 



BOARD SELECT 




A) BEFORE 




TO UI7-20 




TO 

MOTHER- 
BOARD 
IC6 PIN II 



B) AFTER 



Fig. 1. 16K EPROM board modification. 



Microcomputing, April 1980 137 



locations 1472 and either 1478 
or 1479, depending on the ver- 
sion, from 80 to F8. 

SWTP EPROM programmer 
program— either the original 
2716 version or the modified 
2708 version I described in my 
February article. Change 80 to 
F8 in locations 00F5, 053D, 0540 
and 054B. 

There are obviously other pro- 
grams that also need patching, 
but you get the point . . . this 
conversion is far from simple. I 



al decoding and the additional 
connectors. 

The whole area above 803F— 
that is, from 8040 and up— is un- 
used by I/O. However, to save 
some logic, the designer of the 
motherboard did not include full 
decoding of the I/O addresses. 
(For a more comprehensive dis- 
cussion of address decoding, 
see Kilobaud Klassroom No. 11, 
August 1978.) Fig. 2 shows a par- 
tial diagram of the decoding cir- 
cuits for the MP-B motherboard. 



(tt 



I converted my 32K board to 48K 

to see if it could be done, 

but I can't recommend it 

for use with the 6800 . . . 

converting to 48K for use 

with the 6809 



is an excellent move. 



J» 



converted my 32K board to 48K 
mostly to see if it could be done, 
but I can't in all honesty recom- 
mend it for use with the 6800. On 
the other hand, converting to 
48K for use with the 6809 is an 
excellent move. 

Motherboard Operation 

Let's return to the SWTP 
motherboard. There are actually 
three SWTP motherboards now 
—the old MP-B 6800 mother- 
board, the newer MP-B2 board 
and the brand new 6809 board. 

I must apologize for a mistake 
in the very first installment of 
this series (March 1979). I de- 
scribed the differences between 
the older SWTP MP-B mother- 
board and the newer MP-B2 
motherboard, but gave the 
wrong information for updating 
the older board. 

With all SWTP 6800 systems, 
I/O ports are located starting at 
address 8000. For instance, port 
is 8000-8003, port 1 is 8004- 
8007, and port 7 is 801C-801F. 
Addresses 8020-803F are re- 
served for ports 8 through 15, 
but to get these additional ports 
you have to add a second moth- 
erboard to provide the addition- 



IC3 and IC6 are 74S138 de- 
coders. In order for the decoder 
to operate, the CS (chip select) 
inputs must be high, and the two 
CS (not chip select) inputs must 
be low. Once this requirement is 
satisfied, then the IC will look at 
its C. B and A inputs and decode 
the binary number on them into 
one of eight outputs. Depending 
on the binary number on the in- 
puts, it will ground one of the 
outputs and make the others 
high. 

IC6 actually has ten outputs, 
but only one of them is used; 
this is the same pin 11 that I am 
using in my conversion to a 48K 
system. When IC6 is used, in 
order for this output to be 
grounded, the input to the CBA 
pins must be the binary number 
100. which is 4. So we see that 
this IC will provide an output 
whenever bit A15 is 1, A14 and 
A13 are both 0, and A5 is also 
or low. In this case, A15 is the 
leftmost, or most significant, bit 
of the address, while A0 is the 
rightmost bit. 

Using the symbol x for a bit 
that can be either or 1— of- 
ten called a "don't care"— we 
see that IC6 will provide a 



grounded or low output for ad- 
dresses that look like this: 
100x xxxx xxOx xxxx 
Since the hexadecimal digits 8 
and 9 both start with 100 (either 
1000 or 1001), the I/O ports will 
be decoded as addresses in the 
8000 and 9000 range, as long as 
bit A5 is a zero. (A5 would be 1 
for addresses 8020-803F, so re- 
quiring it to be guarantees that 
the circuitry on this mother- 
board doesn't respond to the ad- 
dresses that were set aside for 

ports 8 through 15.) 

Once IC6 sends out a low out- 
put to indicate that we are in the 
right range, IC3 separates spe- 
cific addresses for each of the 
eight ports by looking at bits A4, 
A3 and A2. For instance, the first 
address for port 7 would be 
801C, or 

1000 0000 0001 1100 
The 111 grouping represents 
bits A4. A3 and A2. Since they 
are all 111, or 7. output 7 from 
IC3 is grounded. This is an en- 
able signal for port 7. 

As mentioned before, the I/O 
ports will respond to any ad- 
dress that starts with the bits 
100, meaning that they will take 
up all the addresses from 8000 
up through 9FFF. Thus, 32 ad- 
dresses for I/O will use up a full 
8K of address space, making it 
useless for any other purpose. 

This is where we started our 
discussion of addresses in the 
first installment of this series 
(March 1979). I wrote that with a 
simple change we could require 
bit A12 to be 0, and thus force 
the motherboard to respond on- 



ly to addresses starting with 8. 
This would free up the entire 
range from 9000-9FFF for other 
use, such as adding another 4K 
memory board. 

My suggestion had been to 
break the ground going to pin 5 
of IC3, the CS pin, and connect 
that pin instead to A12. Now IC3 
would select an I/O address only 
when A12 was low, and we 
would be done. As far as IC3 
was concerned, I was right. But I 
forgot about the gates getting 
their signal directly from the out- 
put of IC6. 

The motherboard has a set of 
data bus buffers that connect 
the main data bus— the CPU 
bus— running on the front part 
of the motherboard to the data 
bus going along the back of the 
board to the I/O boards. Since 
data has to go both ways be- 
tween these two, the buffering is 
done with bidirectional trans- 
ceivers. 

The function of the two gates 
and inverter is to control which 
way these transceivers trans- 
mit. Specifically, if the output 
from IC6 is low and the Read/ 
Write signal indicates a read, 
these gates will turn the trans- 
ceivers around and send data 
from the I/O ports back to the 
CPU. Thus, whenever we read 
(load) from addresses starting 
with 8 or 9, we will get data com- 
ing from the I/O data bus back to 
the CPU data bus. This happens 
even if we connect A12 to IC3. 
So if we make this change and 
then install a 4K memory board 
in addresses 9000-9FFF, every 



Bl DIRECTIONAL 
TRANSCEIVERS 



DATABUS 

TO/FROM 

CPU BOARD 




"-j^nD"^ 




DATABUS 
► TO /FROM 
I/O PORTS 



CS 



♦ 5V 
T_ 



-wv- 



A4 
A3 
A 2 





1 

2 
.C 3 
CS 3 



CS 

C 
8 

A 



SEL FOR PORT 



5 o- 



7 o- 



-*• SEL 7 FOR PORT 7 



Fig. 2. MP-B address decoding. 



138 Microcomputing, April 1980 



time we try to read from this 
board we will get not only the 
memory board's data, but also 
some garbage data from the I/O 
data bus. 

To solve the problem, we have 
to disable IC6 during all ad- 
dresses of 9000 or above and 
not bother changing IC3 at all. 
We could use the CS pin; in- 
stead of keeping it high by con- 
necting it to +5 volts through a 
resistor, we could connect it to 
A12 through an inverter so it 
would go high only when A12 
was low. Since IC4 and IC5 have 
some unused gates, one could 
be used for the job (except that 
the unused gates have their in- 
puts connected on the mother- 
board, and so some traces have 
to be cut to free them up). 

Alternatively, if we added a lit- 
tle more logic, we could improve 
the decoding even more. Fig. 3 
shows how adding a 7425 dual 
four-input NOR will allow de- 
coding all the address lines 
from A12 down through A5. 
(Don't get fooled by the 7425 
symbols in Fig. 3— this is just an 
alternative symbol for NOR, 
which indicates that the output 
is high when all of the inputs are 
low.) 

When all address lines from 
A12 through A5 are low, the two 
inputs into the NAND gate (one 
of the unused gates in IC4) are 
both high, which makes the out- 
put low. Simply connect this to 
the CS input of IC6. instead of 



AI2 
All 
AIO 
A9 
A8 
A7 
A6 
A5 





c 


I/2 7425 

V 


I 

I 


c 




Z) — i 




__l 


I ° 


| ' 


IC4 






>~ 




I/2 7425 




I 


C 


^\ 




I 


C 


J 





TO CS OF 
IC6 



Fig. 3. Providing full decoding for the MPB. 



the A5 signal it now has. With 
this decoding, all the addresses 
above 801 F will be opened up. 
Hence, you could now add other 
devices, or even memory, up 
there. 

We might question the practi- 
cality of this. We need low 
memory, not high memory. That 
is, even if you put more memory 
at addresses above 801 C, most 
programs such as BASIC will 
not be able to use it (unless you 
PEEK and POKE data up there). 

To really make this useful, 
you have to move I/O out of the 
8000 range, as described above. 
The problem is that it makes 
your system nonstandard. Every 
piece of software you get from 
now on will have to be carefully 
examined to make sure it 
doesn't conflict with your new 
address assignments. And un- 
fortunately, this will bring you 
down to the level of all the S-100 
users, who have that problem all 
the time. It kills the one feature 



of our 6800 that makes it so easy 
to use: almost all 6800 systems 
are similar in their memory lay- 
out, so you can buy a new piece 
of hardware or software, plug it 
in, and it works. 

The Missing Sector Hole 

If you have the MF-68 (or PTA) 
disk system, try this little experi- 
ment. Boot the system, take the 
disk out and then cover with a 
piece of electrical tape the small 
hole on the disk which is used to 
allow the drive to sense the posi- 
tion of the sector hole. (Put a 
small piece of paper over it first 
so you don't touch the sticky 
part of the tape to the disk and 
stop it from turning.) Now see if 
it still works. 

As you will see, it does. The 
controller uses the sector holes 
only during booting of the sys- 
tem, or when initializing a new 
disk. During routine reading and 
writing, the sector hole is not 
used. 



Now, how do we make use of 
this little tidbit? In the second in- 
stallment of this series (June 
1979), I described how to punch 
an extra hole in the diskette 
jacket so you could write on the 
back of the disk as well as on the 
front. I mentioned that this was 
only necessary in those disk 
drives that did not have dual 
sector hole sensors. The 
Shugart SA400 does not; many 
other manufacturers' drives, 
though not all, do. 

Thus, the early MF-68 sys- 
tems, which used the Shugart 
drive, can't use the back of the 
disk without that second hole, 
while the newer systems, which 
use other drives, can. 

If you have the Shugart drives, 
however, all is not lost. Since the 
sector hole is not used in routine 
reading and writing, the only 
reason you need this extra hole 
is to initialize the back of the 
disk or boot it. But if you can ini- 
tialize it on a dual sensor drive, 
then you can continue to use the 
back of it on your Shugart drive 
even if it does not have the sec- 
ond hole. 

ROM Monitors Coming 

Next time, we will review 
some of the ROM monitors — in- 
cluding SWTBUG. SMARTBUG. 
MX-68RT. JOEBUG and GMX- 
BUG — available for the SWTP 
system. We will try to come up 
with the "monitor to end all 
monitors." ■ 



CI 68A CONTROL INTERFACE 

• 8 opto-isolated inputs 

• 8 reed relay outputs 

• Relay status register 

• /IRQ and /NMI jumper 
selectable 

• Complete 
documentation 

• S 79. 95 kit 

• $95 OO assembled 
and tested 

DIGITAL CONVERTER 

• 8 Analog inputs 
(0-25v) 

• Single ramp, sottware 
driven conversion 

| • 8 bit. 9 6 ms maximum 

• Complete 
documentation 

• $39 95 assembled 
and tested 





For SWTPC 68OO type computer Write for more 
information »^128 

Terms US and Canada add 5% shipping Others add 
15% US funds only TX residents add 5% tax VISA and 

m ^ m . _ mc ok 

T lNNOVATIVI Il( hnoi.oc.y 

510 Oxford Park • Garland TX 75043 • (214) 270 8393 



68 MICRO 
JOURNAL™ 

* The only ALL 6800 Com- 
puter Magazine. 

Foreign Orders— Add: 
Air Mail $29.00/Year Surface $9.50/Year 

1-Year $14.50 2 Years $26.00 

3 Years $36.50 

OK, PLEASE ENTER MY 

SUBSCRIPTION 

Bill my: M/C □ —VISA □ 

Card # 



Expiration Date 

For □ 1-Yr. □ 2 Yrs. □ 3 Yrs. 

Enclosed: $ 

Name . 

Street 

City 

State 



Zip. 



'68' MICRO JOURNAL™ 

3018 Hamill Road . 132 
HIXSON, TN 37343 



Datapoint CRT Terminals 




Fully- Assembled — Guaranteed 

#3000 $495 #3360 $545 

• Add $1 5 packing refurbished 

• Shipped FOB Washington, DC. Terms check, MO. 
or charge. 

• 90-day guarantee • Scrolling version 3360 $595 
Model 3360 speeds from 300-4800 Baud, numeric 
keypad, cursor controls, Edit, Block-Transmit, search 
modes, ASCII Keyboard with codeable options. 
Green phosphor, 24 80 ch lines, addressable cursor; 
RS-232C serial interface; other speeds available. Man- 
ual $10; cable kit $9.95. Datashare version 3360 $595. 
Model 3000 $675. M-33 KSR Teletype $395. QUAN- 
TITY DISCOUNTS AVAILABLE. Leasing, service at 
low prices. 

TELECOMMUNICATIONS SERVICES CO. 
Box 4117, Alexandria, Va. 22303 

703-683-4019 / TLX 89-623 ^ ., 39 



^ Reader Service — see page 25 7 



Microcomputing, April 1980 139 



Why Your Next CRT Should 
Come From MICROMAIL: 




Displays 80 x 24, upper /lower case 

Separate numeric keypad and cursor 
keys 

Protected fields displayed at 
reduced intensity 

$740.00 




SOROC 



IQ140 



1 1 7-key detachable keyboard with 
numeric cluster and cursor control 

Insert/delete line, insert/delete 
character 

Underline, blink, reverse, 1 2 
intensity, protected and blank fields 

Printer port with independent baud 
rate — prints line, partial or full 

$1130.00 



GTC 



GT-101 



(General Terminal Corp was formerly known 
as Infoton) 

• Z80 microprossor controlled; 
smooth scroll, dual intensity, 
reverse video 

• Block mode, insert/delete character, 
insert/delete line, protected fields 

• 96 character full ASCII upper lower 
case plus 32 character line- 
drawing character set 

• 24 lines x 80 characters, plus 
25th status line Character matrix 
9x9 

• All steel packaging, convection 
cooled no-tan design 

• RS 232 serial and 20mA current 
loop interface, 110-19, 200 baud 




TEC 



510 



^68 



$950.00 



Reverse video, blinking, underline, 
1/2 intensity, protected fields, 
blank security field 

Transmit character, line, partial 
page, page, or unprotected data 

Cursor up, down, left, right, return, 
home, plus load and read 

(in quantities) $750.00 



We Also Represent the Following Manufacturers: 
DIABLO DEC TELETYPE TEXAS INSTRUMENTS 

Write or Call In for Our Free Catalogue! 



:KUCRQMfllL. 



MICROMAIL • BOX 3297 • SANTA ANA, CA 92703 

(714) 731-4338 



J 



TO ORDER: Send check or money order to MICROMAIL, P.O. Box 3297, Santa 

Ana, CA 92703 Personal or company checks require two weeks to clear Termi- 
nals in stock are shipped the business day after receipt of certified funds All 
equipment includes factory warranty 

SHIPPING: We ship freight collect by UPS when possible Larger terminals are 
shipped by motor freight Air and express delivery is available on all products 



$SOO FREE 



We have developed a coding program for the TRS-80 
disk that guarantees ABSOLUTE SECURITY for your 
data AND WORKS AUTOMATICALLY . 

Now you can computerize your sensitive information 
and be sure that it is safe from anybody, even if they get 
possession of your disk and program. YOU choose the 
coding base so that even we can't break your personal- 
ized code! 

Our system CODES THE DATA ITSELF . Don't be fooled 
by other coding systems that offer password security; all 
password systems can be easily circumvented! In our 
system, even if someone reads the disk, they won't be 
able to decode the data. 

We are offering the coding program, with disk and in- 
struction manual at an incredibly low introductory price 
of $ 34.95. 
Order yours today. Send check or MO to: 

Com pleat Systems Consultants 



^94 



Small Business Computers & Services 

955 1 Casaba Ave., Chatsworth CA 9 1 3 1 I 

213-993-1479 



Minimum system is TRS-80, 16K, and one disk. Other 
versions available soon. CA residents add 6% tax. 

We offer total consultation services; from service 
bureau to turnkey systems, hardware & software, at rea- 
sonable rat es. Call or write for more informa tion. 

*All cryptographic systems, except one time only keys, 
are theoretically breakable. However, we are so sure that 
our system is unbreakable that we are offering a $500 
rebate to the first customer who can decode a sample 
message included with the program. We'll even give you 
a few hints! 

TRS-80 is a registered trademark of Radio Shack, a division of Tandy Corp. 



16K STATIC RAM 




with 
$275 450 ns 
$300 250 ns 

memory chips 



Assembled, Tested and Guaranteed 



Static TMS 4044 or equivalent - Fully Static 4Kx1 Memory Chips 
for full DMA capability, no tricky timing problems. 

Fully S-100 Bus Compatible - All lines fully buffered, Dip Switch 
Addressable in two 8 K block, 4K increments. Write Protectable 
in 2 blocks, Memory Disable using Phantom, Battery back up 
capability. 

Bank Select - Using output port 40 H (Cromemco software 
compatible)-addressable to 512KB of Ram for time share or 
Memory Overlap, also has alternate ports 80 H, COH. 

Guaranteed - Parts and labor for one year. You may return the 
undamaged board within 10 days for a full refund. 

Orders - You may phone for Visa, MC, COD ($4 handling charges 
for COD) orders. Personal checks must clear prior to shipping. 
Shipping-Stock to 72 hours normally. Will notify expected 
shipping date for delay beyond this. Illinois residents add 5% 
tax. Please include phone number with order. 



^222 



S. C. digital 



P.O. Box 906 Phone: 

Aurora, I L 60507 (312)897-7749 



140 Microcomputing, April 1980 



TRS-80 COMPATABLE 
DISK DRIVES 



The largest 

family of 
disk drives 

from the 
largest 

supplier, 

drives come 

complete 

with power 

supply and 

cabinet 



TF-1 Pertec FD200, 40 track 

TF-3 Shugart SA400, same as tandy 

TF-5 MR, B51 40 track 

TDF-1 Dual Head, 35 track 

MTWO Drive, 35 & 40 track 

220 versions available 




. $389 
. $389 
. $379 
. $499 
$369 



NOW! SUPER & MAX 

DISKS 

SUPER: 11 tracks on one 5 1 /4 diskette that's 197K ot storage 
with New DOS* $695 

MAX DISK II. 9.8 Megabyte on one disk using Winchester 

technology Unit is sealed in unit for added 

protection $5349 



SOFTWARE 



NEW DOS* over 200 modifications, corrections 
and enhancements to TRS DOS Includes utilities. 

35 Track NEWDOS* $99 

40 track NEWDOS* $110 

AJA Word Processor $75 

AJA Business Program $250 

Racet Infinite Basic $49.95 

Disk Drive Alignment Program $1 09 

Radex Data Base $99.95 

Electric Pencil $1 50 



LINE PRINTERS 




BASE 2 
ONLY 

$599. 



The new base 2 printer, prints 60 Ipm, 80 & 132 col formats. It 
has tractor feed w/RS232, IEEE & centromc interface. 

DP800 ANADEX 80 column, 112 cps $949 

LP779 Centronics 779 $1099 

LP730 Centronics 730 $950 

LP700 Centronics 700 $1395 

LP701 Centronics 701 $1 759 

LP702 Centronics 702 '.'.'.'.'.'.'.'. $1895 

Spin- 1 Spmwnter $2525 

MOD II DISK DRIVES NOW AVAILABLE 






Pertec FD200 . 

Pertec FD250 (dual head) 

Shugart SA400 (unused) 
Shugart SA800 .... 

MPI B51 

MPIB52 (dual head) 



$282 
$349 
$286 
$479 
$279 
$349 



NEW PRODUCTS 



Small Systems Interface (RS232) $49.95 

Expansion Interface W32K $499.95 

AC Line Filter $18.95 

AC Isolater (6 connecters) $47.95 

Modem $179.95 

Verbatim 5 1 4 Diskettes $3.39 

16 Key Pad Kit (no soldering) ; $68 

16K Memory (Keyboard) $89 

16K Expansion (Interface) $86 



ALL PRICES CASH DISCOUNTED • FREIGHT FOB/FACTORY 



;in 



/MICROCOMPUTER 

TECHNOLOGY 
INCORPORATED ^30 



3304 West MacArthur 

Santa Ana, CA 92704 

(714) 979-9923 



VISA 



master charge 

TMf IMTCKSAKM C»KO 




7310 E. Princeton Ave. 
Denver, CO 80222 
(303) 758-7275 



pparat, Inc. 



^Reader Service — see page 257 



Microcomputing, April 1980 141 



Accurate Voltage Dividers 



Using your computer, you can design accurate voltage dividers easily and quickly. 



Robert H. Penoyer 
123 N. New, Apt. D 
Monterey Park CA 91754 



Voltage dividers are used for 
a variety of reasons. Most 
everyone who works with elec- 
tronic circuits has encountered 
the simple voltage divider com- 
posed of a pair of resistors. 
Such a divider is shown sche- 
matically in Fig. 1. 

You can easily determine the 
node voltage, V n , if you know 
the source voltage V s . The fol- 



lowing equation determines V n 
(see Fig. 1). 



V n = 



V S R 2 



n R-,+R 2 

The Problem 

The situation becomes much 
more difficult if you have to de- 
sign your own voltage divider. 
For example, let's say you want 
to scale down the 300 volt out- 
put of a power supply to a safe 
5 volts for use at a test point or 
as an input to an A/D converter 
for input to your computer. This 



R 1 = 



m 



By letting V s = 300 and V n = 5, we find that 

.300 - 5. 

1R 2 



R 1 = 



or 
Rt =59R 2 - 



Example 1. 



A(l), A(J) 

C 

D 

E$ 

I, J 
K 

L, M 

N 

P 

R 

R3 

R4 

S 

T 

X 



Elements of one decade of standard resistor values 

Comparison index 

Resultant node voltage 

String variable for "Next Case" 

Resistor pair indices 

Best comparison index thus far 

Resistor pair indices of best resistor pair thus far 

Desired node voltage 

Ratio magnitude multiplier 

Desired or required ratio 

Mantissa of log 10 (R) 

Integer value of log 10 (R) 

Source voltage 

Upper loop limit 24 for 2%, 12 for 5%, 48 for 1% 

Mode 1 = Voltage, 2 = Ratio 

7"ao/e 1. Variables used. 



can be done by using the equa- 
tion in Example 1. 

This equation determines 
that the ratio R t /R 2 is 59. But 
what standard pair of resistors 
will give you what you need? 
Ah, there's the rub! 

The Solution 

Let's say you are willing to 
use 2 percent tolerance resis- 
tors for the sake of accuracy. 
The most direct way to find the 
ratio needed is to divide all 2 
percent resistor values by each 
other until the ratio nearest the 
required ratio is found. This is 
tedious, but what better job for 
your computer! 

Using the program listing, 
you can determine that R, = 
3300 Ohms and R 2 = 56 Ohms. 
These resistance values will 



vs 

V 



Rl 



►VN 



R2 



Fig. 1. A simple voltage divider. 



110 DATA 12 

120 DATA 10, 12, 15, 18 

130 DATA 22, 27, 33, 39 

140 DATA 47, 56, 68, 82 

Fig. 2. Substitute these 
lines if you want to use 5 per- 
cent resistors in your volt- 
age divider designs. 



yield an unloaded node voltage 
of about 5.006 volts. (That's an 
error of only 0.12 percent.) The 
computer doesn't know how 
much power you are willing to 
dissipate, so you will probably 
want to multiply the value of 
each of these resistors by 100. 
Their relative ratio won't be af- 
fected. 

The Program 

The program operates in one 
of two modes. In one mode you 
provide the computer with V s 
and V n (refer to Fig. 1), and it 
finds the resistor values you 
need along with the true node 
voltage and the resulting volt- 
age error in percent. In the 
other mode, you provide the de- 
sired ratio, R1/R2, and the com- 
puter attempts to match this 
ratio. A list of variables used in 
the program is given in Table 1. 

The program uses logarithms 
to compare the required ratio R 
(see Table 1) with the ratio cur- 
rently under consideration, A(l)/ 
A(J). Recall that log 10 (n) of a 
decimal number contains a frac- 
tional part, or mantissa, and a 
whole number part, or charac- 
teristic. The mantissa com- 
pletely defines n except for its 
order of magnitude, which \% 
determined by the characteris- 
tic. The program ignores the 
order of magnitude of all ratios 
until the best resistor pair has 
been selected. Thus, only the 
mantissa is used. 

The strategy used in the pro- 
gram is to find log 10 (R) using 
R3 = LOG(R)/LOG(10) and then 
to retain only the mantissa of 
R3 using R3 = ABS(R3 - INT(R3)) 



142 Microcomputing, April 1980 



Program listing. 



10 
20 
30 
40 

50 

60 

70 

80 

8? 

90 

100 

10V 

110 

119 

120 

130 

140 

149 

ISO 

159 

160 

170 

100 

190 

200 

209 

210 

220 

230 

240 

249 

250 

260 

270 

280 

290 

300 

310 

320 

330 

340 

349 

350 

359 

360 

369 

370 

373 

375 

377 

379 

380 

390 

399 

400 

409 

410 

419 

420 

429 

430 

430 

439 

440 

449 

450 



PRINT" 

PRINT 

ir INT"I INDS 

FR INI" USING 
F 'RENT "EITHER 



L 1 V 



C L W 



VOL TALL 
27. RESI 



DIVIDI . . 
STORS. PROGRAM CAN USE' 
KNOWN RATIO Of ONE RESISTOR 



TO" 



RESISTORS 

T 



INTO ARRAY 



KNOWN RATIO ( 2 )" i 



1' OR '2' 



FRINT"ANOFHER OR IT CAN USE A GIVEN SOUI 
PRINT"VOLTAGE AND DESIRED UNLOADED NODI . " 
PR I NT" VOLTAGE." 

REM DIMENSION FOR 1,2, OR 5Z VALUES 

DIM A( 50 ) 

RESTORE 

REM ESTABLISH UPPER LIMIT FOR LOOPS 

DATA 24 

REM -ONE DECADE OF RESISTOR VALUES 

DATA 10,11,12, 13,15,16,18,20 

DATA 22.24.27.30.33.36.39,43 

DATA 47,51.56.62.68,75.82,91 

REM READ UPPER LOOP LIMIT 

READ T 

REM --READ 

FOR 1=1 TO 

READ A( I ) 

NEXT I 

PRINT 

PRINT 

REM DETERMINE PROGRAM MODE 

PR I NT" VOLT AGE DIVIDER ( 1 ) OR 

INPUT X 

IF X=2 THEN 280 

IF X=l THEN 800 

REM INPUT VALUE ERROR 

PRINT 

PRINT-YOU MUST INPUT EITHER 

GOTO 190 

PRINT 

PRINT 

PRINT"UHAT IS DESIRED RATIO",* 

INPUT R 

GOTO 350 

PRINT 

PR INT "REQUIRED RATIO IS"'R 

REM PRESET COMPARISUN INDEX 

K=1E38 

REM FIND LOG BASE 10 OF R 

R3 = L0G< R )/LOG< 10 ) 

REM USE ONLY MANTISSA OF R3 

R3=ABS< R3- FNT< R3 ) ) 

IF R3 <«.90 THEN 380 

R3 = 

R=10*R 

REM COMPARE ALL POSSIBLE RATIOS 

FOR 1=1 TO T 

FOR J»l TO T 

REM GET RATIO 

C = A( I )/A( J ) 

REM- FIND LOG BASE 10 OF C 

C = LOG( C )/LOG< 10 ) 

REM USE ONLY MANTISSA OT ( 

C = ABS< C INK C ) ) 

REM COMPARE MANTISSAS 

C = ABS<R3 C ) 

REM IS C SMALLER THAN 
REM- --IF NOT THEN GO TO 

IF C: K THEN 520 
REM - I 

IF L 



INDEX K ? 
NEXT RATIO 



C EXACT 

THEN 490 



459 

460 

470 

480 

489 

490 

500 

510 

520 

530 

539 

540 

549 

550 

559 

560 

569 

570 

580 

589 

590 

600 

610 

620 

629 

630 

639 

640 

649 

650 

660 

669 

670 

689 

690 

700 

710 

720 

730 

740 

750 

760 

770 

779 

780 

790 

799 

800 

810 

820 

830 

840 

850 

860 

869 

870 

880 

890 

899 

900 

910 

929 

930 

940 

950 

960 



REM C IS EXACT. SAVE INDEXES AND EXIT LOOP 

L = I 
M=J 
GOTO 540 

REM C SMALLER THAN K. SAVE ALL INDICES 

K=C 
L = I 
H»J 

NEXT J 
NEXT I 

REM PRESET POWER OF 10 MULTIPLIER 

P = l 

REM -FIND LOG BASE 10 OF R 

R4-INK LOG( R )/LOG( 10 ) ) 

REM BRANCH IF R AND A< L )/A< M ) ARL SAMI ORDER 01 MAGNITUDE 

IF R4=INT< LOG( A( L >*F/A( H ) )/LOC< 10 ) ) THEN 600 

REM MAGNITUDES MUST PL CORRECTED 

IF R4>INT(L0C< ACL )tP/A< M ) )/LOG< 10 ) ) THEN P p*IO 
IF R4<INT<L0C< A<L )«P/A< M ))/LOG< 10 >) THEN F~lvlO 

REM RETEST MAGNITUDES 

GOTO 560 

PRINT 

PRINT"BEST AVAILADLL RATIO IS" i ( A< L >»P >/A< M J 

PRINT 

REM BRANCH IF IN VOLTAGE MODE 

IF X=l THEN 930 

REM ---ENSURE BOTH RESISTORS 10 

IF A< L )*P--10 THEN 690 

REM ---RESISTORS TOO SMAi L 

A4 I )=A>: L)*10 

A( M ) = A( M )*10 

REM -RCTES: RESISTOR VALUI 

GOTO 640 

REM- -PRINT LCIST RESISTOR VALI 

PRINT 

PRINT"USINC Rl = " *A< L )»FS "AND R. "fA<M) 

PRINT 

PRINT 

PRINT "NEW CASE < 1 vN 

INPUT Et 

IF E$="r" THE N 100 

IF Et^"N" THEN END 

PRINT 

RLM INPUT VALUE ERROR 

PRINT" YOU MUST INPUT I OR M' " 

GOTO 710 

REM — VOl TAGI MOEM SI I EC II D 

PRINT 

PRTNI 

PR INI "WHAT r SOURCE VOLTAGE"! 

INPUT S 

PRINK'WHAT IS DESIRED NOIL VOLTAGE"' 

INPUT N 

IF N<S THEN 900 

REM INPUT VALUE ERROR 

PRINT 

PR1NT"N0DE MUST BE LESS THAN SOURCE" 

GOTO 800 

REM FIND REQUIRED RATIO 

R=<S-N)/N 
GOTO 330 

REM- FIND RESULTING NODE VOLTAGE 

D = S»A( M )/( A( M )K AC L )*P ) ) 

PRINK'NODE VOLTAGE IS"*D 

PRINT "VOLTAGE ERROR IS " i 100»< D-N )/N I "PERCENT" 

GOTO 640 



so that if R = 123, then R3 = 
0.089905111. If R = 12.3, then 
R3 = 0.089905111. If R = 0.123, 
then R3 = 0.0899051 11. 

The result of this approach is 
that only one decade of stan- 
dard resistor values is needed. 
For example, if a ratio of 325 is 
required then R3 = 0.51 1883361. 

During a complete search of 
2 percent resistor values, the ra- 
tio 39/12 is evaluated. It hap- 
pens that 39 Ohms divided by 
12 Ohms is 3.25. For 3.25, R3 = 
0.511883361. Therefore, except 
for the order of magnitude, the 
combination of 39 Ohms and 12 
Ohms is exactly what is needed. 
Having found the ideal resistor 
pair, the program then corrects 
for magnitude and yields an an- 
swer of 3900 Ohms and 1200 
Ohms. 

The remarks provided in the 
listing make the program self- 



explanatory, but a few more 
comments are in order. The pro- 
gram requires that realistic re- 
sistor values be generated. For 
this reason, it will always yield 
resistor values of 10 Ohms or 
more. However, as mentioned 
earlier, the specific values gen- 
erated may not suit your needs. 

Instead of 3300 Ohms and 56 
Ohms as in the first example, 
you may want to use 330000 
Ohms and 5600 Ohms or 330 
Ohms and 5.6 Ohms. Simply 
put, by multiplying or dividing 
each of the computer-generated 
resistor values by 10 as many 
times as needed, you will al- 
ways end up with standard re- 
sistor values. 

Sometimes more than one 
set of resistor values will do the 
same job. If, for example, you 
needed a divider that would di- 
vide the source voltage, V s , in 



Li i v 1 ] 

FINDS VOLTAGE DIVI1 
USING ZZ Rl • PRO 

EITHER A KNOWN RATIO OF ONI I 
ANOTHER OR IT CAN USE A GIVE N SI 
VOl TAl.T AND DESIRE D UNI DADI D NODE 
VOLTAGE . 



VOLTAGE DIVIDER i - NOUN 

WHAT I', SOURCE VOl rAGI 

WHAT IS DESIRED NODI VOLTAGE? 5 

REQUIRED RAT 10 IS ' 

fcLST AVAILADt [ RA1 10 I 

NODE VOL TAG! ; • 

VOL. TAG! [ RROR ES .1191 



NEW CASE ( YiN)l I 

VOL TACi: DIVIDER ( 1 ) OR KNOWN RA1 I 

WHAT IS : D RA1 EC \7 . 

DCS! AVAILABLE RATIO ] 



USING Rl IJO' 



NEW A! . ,N 



AND 



Sample run. 



Microcomputing, April 1980 143 



half, then any resistor value 
would work if R1 = R2. The com- 
puter will only provide you with 
one answer. It will be valid but it 
won't be general. 

Under worst-case conditions 
my PET will find a solution in 



about 50 seconds. If an exact 
answer is possible, the execu- 
tion time can be much shorter. 
Figs. 2 and 3 show how to 
substitute 5 percent and 1 per- 
cent standard resistor values 
into the program in place of the 



standard 2 percent values pro- 
vided in the program listing. 
You should be aware of several 
problems if you attempt this. 

First, 5 percent values may be 
too sloppy. Second, there are 24 
standard 2 percent values re- 



110 DATA 48 

120 DATA 10,10.5,11,11.5,12.1,12.7,13.3,14,14.7,15.4,16.2,16.9,17.8,18.7,19.6,20.5 

130 DATA 21.5,22.6,23.7,24.9,26.1,27.4,28.7,30.1,31.6,33.2,34.8,36.5,38.3,40.2,42.2,44.2 

140 DATA 46.4,48.7,51 .1 ,53.6,56.2,59,61 .9,64.9,68.1 ,71 .5,75,78.7,82.5,86.6,90.9,95.3 

Fig. 3. Substitute these lines if you want to use 1 percent resistors in your voltage divider designs. 



quiring 576 comparisons and 50 
seconds execution time. There 
are 48 standard 1 percent values 
requiring 2304 comparisons. 
Thus, use of 1 percent values 
will require more than 3 minutes 
(worst case) to find a solution. 
Your specific needs will deter- 
mine which type of resistors to 
use. 

In any case, by using this pro- 
gram you will reap two benefits: 
you will get the best possible 
answer; you won't have to work 
very hard. ■ 



MOVING? 

Let us know 8 weeks in advance so that you won't 
miss a single issue of Kilobaud Microcomputing. 
Attach old label where indicated and print new address 
in space provided. Also include your mailing label 
whenever you write concerning your subscription. It 
helps us serve you promptly. 



□ Address change only 

□ Extend subscription 

□ Enter new subscription 

□ 1 year $18.00 



□ Payment enclosed 



□ Bill me later 



If you have no label handy } print OLD address here. 



Address 



Name 



Address 
City 



State. 



Zip. 



print NEW address here. 



State. 



Zip. 



Kilobaud Microcomputing P.O. Box 997 • Farmingdale NY 11737 




is HARD COPY STORAGE a problem? 

KILOBAUD MICROCOMPUTING, as 

thick as it is, is more like a floppy 
when it comes to standing on the 
bookshelf. Try the KILOBAUD 
MICROCOMPUTING Library Shelf 
Boxes . . . sturdy corrugated white 
dirt-resistant cardboard boxes 
which will keep them from flopping 
around. We have self-sticking labels 
for the boxes, too, not only for 
KILOBAUD MICROCOMPUTING, but 
also for 73 Magazine, 80 MICRO- 
COMPUTING ... and for CQ, QST, 

Ham Radio, Personal Computing, Radio Electronics, Inter- 
face Age, and Byte. Ask for whatever stickers you want 
with your box order. They hold a full year of KILOBAUD 
MICROCOMPUTING, 80 MICROCOMPUTING ... or 73 
Magazine. Your magazine library is your prime reference; 
keep it handy and keep it neat with these strong library 
shelf boxes. One box (BX-1000) is $2.00, 2-7 boxes (BX- 
1 00 1 ) are $ 1 .50 each, and eight or more boxes (BX- 1 002) 
are $ 1 .25 each. Be sure to specify which labels we should 
send. Have your credit card handy and call our toll-free 
order number 800-258-5473, or use the order card in the 
back of the magazine and mail to: 

kilobaud tm 

MICROCOMPUTING 

Peterborough nh 03458 




v***** 




*"•* BINDERS 



Keep your library of Kilobaud MICROCOMPUTING from loss or 
damage in these handsomely appointed binders with rich blue 
covers and gold lettering. Each binder holds 12 issues, making 
an EXCELLENT REFERENCE HANDBOOK. Several binders form a 
quality library you can be proud of. 

Order yours today . . . 

only S6.50 each (BN1011) ... 2 for $12.00 (BN1012) ~" 

Use the order card in the back of this magazine or itemize your 
order on a separate piece of paper and mail to: 

MICROCOMPUTING BINDERS • PETERBOROUGH NH 03458 
Be sure to include check or detailed credit card information. 



144 Microcomputing, April 1980 



NEW! TPM* for TRS-80 Model II 
NEW! System/6 Package 

Computer Design Labs 



Z80 Disk software 



We have acquired the rights to all TDL software (& hardware). TDL software has long had the reputation of being the best in the 
industry. Computer Design Labs will continue to maintain, evolve and add to this superior line of quality software. 

— Carl Galletti and Roger Amidon, owners. 
Software with Manual/Manual Alone 



All off the software below is available on any off the 
following media for operation with a Z80 CPU using 
the CP/M* or similar type disk operating system 
(such as our own TPM*). 

for TRS-80* CP/M (Model I or II) 
for 8" CP/M (soft sectored single density) 
for 5 1 /«" CP/M (soft sectored single density) 
for 5 1 A" North Star CP/M (single density) 
for BW North Star CP/M (double density) 

BASIC I 

A powerful and fast Z80 Basic interpreter with EDIT, 
RENUMBER, TRACE, PRINT USING, assembly language 
subroutine CALL, LOADGO for "chaining", COPY to 
move text, EXCHANGE, KILL, LINE INPUT, error inter- 
cept, sequential file handling in both ASCII and binary 
formats, and much, much more. It runs in a little over 1 2 
K. An excellent choice for games since the precision 
was limited to 7 digits in order to make it one of the 
fastest around. $49.95/$15. 

BASIC II 

Basic I but with 1 2 digit precision to make its power 
available to the business world with only a slight sacrifice 
in speed. Still runs faster than most other Basics (even 
those with much less precision). $99.95/$15. 

BUSINESS BASIC 

The most powerful Basic for business applications. It 
adds to Basic II with random or sequential disk files in 
either fixed or variable record lengths, simultaneous 
access to multiple disk files, PRIVACY command to 
prohibit user access to source code, global editing, 
added math functions, and disk file maintenance capa- 
bility without leaving Basic (list, rename, or delete). 
$179.95/$25. 

ZEDIT 

A character oriented text editor with 26 commands 
and "macro" capability for stringing multiple commands 
together. Included are a complete array of character 
move, add, delete, and display function. $49,957$ 15. 



Z80 Text Editing Language - Not just a text editor. 
Actually a language which allows you to edit text and 
also write, save, and recall programs which manipulate 
text. Commands include conditional branching, subrou- 
tine calls, iteration, block move, expression evaluation, 
and much more. Contains 36 value registers and 1 text 
registers. Be creative! Manipulate text with commands 
you write using Zte). $79.95/$25. 

TOP 

A Z80 Text Output Processor which will do text 
formatting for manuals, documents, and other word 
processing jobs. Works with any text editor. Does 
justification, page numbering and headings, spacing, 
centering, and much more! $79.95/$25. 

MACRO I 

A macro assembler which will generate relocateable 
or absolute code for the 8080 or Z80 using standard 
Intel mnemonics plusTDL/Z80 extensions. Functions 
include 1 4 conditionals, 1 6 listing controls, 54 pseudo- 
ops, 1 1 arithmetic/logical operations, local and global 
symbols, chaining files, linking capability with optional 
linker, and recursive/ reiterative macros. This assembler 
is so powerful you'll think it is doing all the work for you. It 
actually makes assembly language programming much 
less of an effort and more creative. $79.95/$20. 

MACRO II 

Expands upon Macro I's linking capability (which is 
useful but somewhat limited) thereby being able to take 
full advantage of the optional Linker. Also a time and 
date function has been added and the listing capability 
improved. $99.95/$25. 

LINKER 

How many times have you written the same subroutine 
in each new program? Top notch professional pro- 
grammers compile a library of these subroutines and 
use a Linker to tie them together at assembly time. 
Development time is thus drastically reduced and 
becomes comparable to writing in a high level language 
but with all the speed of assembly language. So, get the 
new CDL Linker and start writing programs in a fraction 
of the time it took before. Linker is compatible with 
Macro I & II as well asTDL/Xitan assemblers version 2.0 
or later. $79.95/$20. 



DEBUG I 

Many programmers give up on writing in assembly 
language even though they know their programs would 
be faster and more powerful. To them assembly language 
seems difficult to understand and follow, as well as 
being a nightmare to debug. Well, not with proper tools 
like Debug I. With Debug I you can easily follow the flow 
of any Z80 or 8080 program. Trace the program one 
step at a time or 1 steps or whatever you like. At each 
step you will be able to see the instruction executed and 
what it did. If desired, modifications can then be made 
before continuing. It's all under your control. You can 
even skip displaying a subroutine call and up to seven 
breakpoints can be set during execution. Use of Debug I 
can payfor itself many timesover by saving you valuable 
debugging time. $79.95/$20. 

DEBUG II 

This is an expanded debugger which has all of the 
features of Debug I plus many more. You can "trap" (i.e. 
trace a program until a set of register, flag, and/or 
memory conditions occur). Also, instructions may be 
entered and executed immediately. This makes it easy 
to learn new instructions by examining registers/memory 
before and after. And a RADIX function allows changing 
between ASCII, binary, decimal, hex, octal, signed 
decimal, or split octal. All these features and more add 
up to give you a very powerful development tool. Both 
Debug I and 1 1 must run on a Z80 but will debug both Z80 
and 8080 code. $99.95/$20. 

ZAPPLE 

A Z80 executive and debug monitor. Capable of 
search, ASCII put and display, read and write to I/O 
ports, hex math, breakpoint, execute, move, fill, display, 
read and write in Intel or binary format tape, and more! 
on disk 

APPLE 

8080 version of Zapple 



SYSTEM/6 

TPM with utilities, Basic I interpreter, Basic E compiler, 
Macro I assembler, Debug I debugger, and ZEDIT text 
editor. 

Above purchased separately costs $339.75 
Special introductory offer Only $1 79.75 with coupon!! 




I 
I 














NEW! TPM now or TRS-80 Model 

II! 

TPM* 

A NEW Z80 disk operation system! This is not CP/M*. 
It's better! You can still run any program which runs with 
CP/M* but unlike CP/M* this operating system was 
written specifically for the Z80* and takesfull advantage 
of its extra powerful instruction set. In other wprds its 
not warmed over 8080 code! Available for TRS-80* 
(Model I or II). Tarbell, Xitan DDDC, SD Sales "VERSA- 
FLOPPY", North Star (SD&DD), and Digital (Micro) 
Systems. $79.95/$25. 



o°\ * ^e* ve*\** e 

/^ $160.00 1 

■■■I 



ORDERING INFORMATION 

Visa, Master Charge and C.O.D. O.K. To order call or 
write with the following information. 

1. Name of Product (e.g. Macro I) 

2. Media (e.g. 8" CP/M) 

3. Price and method of payment (e.g. C.O.D.) include 
credit card info, if applicable. 

4. Name, Address and Phone number. 

5. For TPM orders only: I ndicate if for TRS 80, Tarbell, 
Xitan DDDC, SD Sales (5'/4 M or 8"). ICOM (5V4" or 
8"), North Star (single or double density) or Digital 
(Micro) Systems. 

6. N.J. residents add 5% sales tax. 





Manual cost applicable against price of subsequent 
software purchase in any item except for the Osborne 
software. 



SYSTEM MONITOR BOARD (SMBII) 

A complete I/O board for S- 1 00 systems. 2 serial ports, 
2 parallel ports, 1200/2400 baud cassette tape inter- 
face, sockets for 2K of RAM, 3-2708/271 6 EPROM's or 
ROM, jump on reset circuitry. Bare board $49.95/$20. 609*599*2 1 46 



For information and toch queries call 



ROM FOR SMB II 

2KX8 masked ROM of Zapple monitor. Includes source 
listing $34.95/$15. 

PAYROLL (source code only) 

The Osborne package. Requires C Basic 2. 
5" disks $124.95 (manual not included) 
8" disks $ 99.95 (manual not included) 
Manual $20.00 

ACCOUNTS PAYABLE/RECEIVABLE 
(source code only) 

By Osborne, Requires C Basic 2 
5" disks $124.95 (manual not included) 
8" $99.95 (manual not included) 
Manual $20.00 

GENERAL LEDGER (source code only) 

By Osborne. Requires C Basic 2 
5" disks $99.95 (manual not included) 
8" disks $99.95 (manual not included) 
Manual $20.00 

C BASIC 2 

Required for Osborne software. $99.95/$20. 



For phone orders ONLY call toll free 

1-800-327-9191 
Ext. 676 

(Except Florida) 

OEMS 

Many CDL products are available for licensing to 
OEMs. Write to Carl Galletti with your requirements. 

* Z80 is a trademark of Zilog 

* TRS-80 is a trademark for Radio Shack 

* TPM is a trademark of Computer Design Labs. It is not 
CP/M* 

* CP/M is a trademark of Digital Research 

Prices and specifications subject to change without 
notice. 

DEALER INQUIRIES INVITED. 




COMPUTER 

DESIGN 

LABS 



^18 



342 Columbus Avenue 
Trenton, N.J. 08629 



^Reader Service — see page 257 



Microcomputing, April 1980 145 



KIM Vari-Stepper 



Set your own pace with an automatic single-stepper. 



Larry M. Tannenbaum 
PO Box 5013 
Fullerton CA 92635 



I have been using with my 
KIM-1 a simple and conve- 
nient circuit that complements 
the add-on described by Dr. Mar- 
vin L. De Jong in the September 
1979 Kilobaud Microcomputing 
("Catching Bugs with Lights," p. 
96). His device automatically 
displays the contents of a se- 
lected register while in the sin- 
gle-step mode, without having 



to use the KIM keyboard. My 
contribution is a variable speed, 
automatic single-stepper. With 
both of these units installed, the 
KIM will step through a program 
at a rate you select, and you can 
watch a register value change 
without even touching that tem- 
peramental, built-in keypad. 

The simple circuit is shown in 
the figure. I used a 555 timer to 
set the time interval between 
steps. The 1 meg potentiometer 
provides a good range of step 
rates: approximately 45 ms to 3 
seconds. Three seconds is use- 



Rl 
I OK 



IM 



R2 



$10 



7ZL 22 * F 
15V 



APPLICATION 

CONNECTOR 

PIN 

-O A (VCC) 



2 2K 



ET* 



SI "ON 
OFF 



V CC RESET 

DISCHARGE 

555 OUTPUT 

THRESHOLD 

TRIGGER GROUND 



SINGLE 
STEP 



S2 



-0> 19 (COL B) 
Y (COL C) 



MEMORY 
SCAN 



SCAN 
TL/ 2N2222 



-C> X (ROW 2) 



-O I (GND) 



Single-stepper circuit. 



ful if you want to carefully check 
the program as it progresses 
and stop it at a specific address. 
The faster rates are useful for 
moving quickly through part of a 
program, such as a loop, when 
you don't need to see the actual 
progression. 

The step rate can be changed 
at any time by turning the poten- 
tiometer. If you would like a dif- 
ferent range, experiment! A 2 
meg potentiometer will give you 
about 6 seconds maximum be- 
tween steps. If you want faster 
single-step execution, try 
smaller timing resistors (R1,R2) 
or a smaller capacitor. 

There is a limit to how fast 
you can go. You must allow 
enough time between steps for 
the KIM to perform its single- 
step software and fully scan the 
keyboard; otherwise, erratic op- 
eration may result. I don't have a 
scope to check this out, and I 
didn't feel like tracing through 
the software to determine the 
amount of time KIM needs, so I 
can't tell you what it is. 

Q1 can be any NPN switching 
transistor. I used a 2N2222. It is 
connected to the output of the 
timer and acts like a switch. 
When the 555's output goes 



high, the transistor shorts the 
"GO" key, fooling KIM into 
thinking that you pressed it. 
When the timer's output is low, 
the transistor is an open circuit, 
and KIM thinks you have re- 
leased the key. 

In order to use the stepper, 
you must set up the computer 
exactly as if you were manually 
single-stepping - . The single-step 
switch must be on, and 1C00 
must be stored in locations 
17FB, 17FA. The auto-stepper is 
turned on and off by S1. When 
off, the "GO" key works as 
usual. 

There is an extra bonus if you 
install switch S2. Connecting 
the collector of Q1 to applica- 
tion connector pin Y instead of 
19 causes " + " key closures to 
be simulated. Now you can 
check a portion of memory, us- 
ing a slow step rate, without 
pushing the " + " key a hundred 
or more times. This saves wear 
on my fingers and a lot of ag- 
gravation from bouncy keys. 

The circuit can be built on any 
board that's convenient. Parts 
placement is not at all critical. 
The usefulness of this little 
gadget shows that good things 
do come in small packages! ■ 



146 Microcomputing, April 1980 



The Personal Computer Line 

by OHIO SCIENTIFIC 




Personal Computers 

C1P: $349 A dramatic breakthrough in price and performance. Features 
OSI's ultra-fast BASIC-in-ROM, full graphics display capability, and large 
library of software on cassette and disk, including entertainment pro- 
grams, personal finance, small business, and home applications. It's a 
complete programmable computer system ready to go. Just plug-in a 
video monitor or TV through an RF converter, and be up and running. 
15K total memory including 8K BASIC and 4K RAM— expandable to 8K. 

C1P MF: $995 First floppy disk based computer for under 

$1000! Same great features as the C1 P plus more memory and 

instant program and data retrieval. Can be expanded to 32K static 

RAM and a second mini-floppy. It also supports a printer, modem, 

real time clock, and AC remote interface, as well as OS-65D V3.0 

development disk operating system. 



Professional Portables 

C4P: $698 The professional portable that has over three times the display capability 
of C1Ps. Features 32 x 64 character display in up to 16 colors, graphics, audio output, a 
DAC for voice and music generation, key pad and joystick interfaces, AC remote control 
interface and much more. Utilizes a 4-slot BUS (2 used in base machine), 8K BASIC-in- 
ROM, 8K of static RAM and audio cassette interface. Can be 
directly expanded to 32K static RAM and two mini-floppy disks. 

G4P MF: $1695 The ultimate portable computer 
has all the features of the C4P plus real time clock, 
home security system interface, modem interface, 
printer interface, 16 parallel lines and an accessory 
BUS. The standard machine operates at twice the 
speed of currently available personal compu- 
ters (with GT option it runs even faster!). The C4P 
MF starts with 24K RAM and a single mini-floppy and 
can be directly expanded to 48K and two mini-floppies. 
Available software includes games, personal, business, 
educational and home control applications programs as 
well as a real time operating system, word processor and a 
data base management system. 




Computers come with keyboards and floppies Where specified. 
Other equipment shown is optional 



Home/Small Business Systems 

C8P. $895 Same great features as the C4P in a tremendously expandable "main- 
frame package!' Features over three times the expansion capability of the C4P for 
advanced home and demanding business applications. Can be expanded to 48K RAM, 
dual 8" floppies, hard (Winchester) disks and multiple I /O devices such as Voice I/O and 
^ vH\wetsa\ \e\ephone interface. 







C8P DF: From $2597 The ultimate 

Home/Very Small Business Computer at a 
personal computer price. Features 32K RAM 
(expandable to 48K) and dual 8" floppy disks 
(stores eight times as much information as a 
mini-floppy). Has all personal computer 
capabilities including 32 x 64 display, color 
graphics, sound, DAC, joystick interfaces, 
home features including real time clock, AC 
remote interface, home security and fire 
detection interface and can be expanded to 
include voice I/O and a universal telephone 
system for answering and initiating calls! Its 
large memory capability and 8" floppies allow 
it to run most Ohio Scientific business system 
software including a compete accounting 
system, word processor and information 
management system. 

For literature and the name of your local 
dealer, CALL 1-800-321-6850 TOLL FREE. 




1333 SOUTH CHILLICOTHE ROAD 
^ 5 AURORA, OH 44202 • (21 6] 831 -5600 



Lee Wilkinson 

Rte. 5, Wilkinson Pike 

Maryville TN 37801 



BBBBBtiiiiii 



A Poor Man's 
Computer 
Paintbrush 



HHHHHHH 



Have you ever watched the 
man in the computer por- 
trait booth transfer images of 
people's faces into two-dimen- 
sional computer portraits? You 
probably said, "Boy, I sure 
would like to do a picture like 
that on my computer." If you 
were as bold as I was, you prob- 
ably inquired about the cost of 
this magical device. Finding 
that the $15,000 price tag was a 
little out of your hobby budget, 
especially since the portrait 
computer couldn't play Star 
Trek, you probably decided that 
the art world would never be 
availed of your electronic- 
artistic genius. 

Well, don't despair. This arti- 
cle describes how you, too, can 
"draw" computer portraits even 
without a TV camera. You will 
need, however, some type of 
hard-copy device. Anything from 
a TTY terminal on up will be suf- 
ficient. The wider the column 
width of your printer, the larger 
you can make your portrait. 

You may not be able to pro- 
duce one of these original 
"works of art" quite as fast as 
your local computer portrait 
studio counterpart, but think of 
the fun you'll have when friends 
come over and amazingly you sit 
down to play ... a computer 
portrait. 

148 Microcomputing, April 1980 



Getting Started 

The first step is to select a 
portrait or a picture that you 
wish to reproduce with your 
computer (Photo 1). Make a 
couple of non-glossy photo- 
graphic copies from the original 
(it helps to have a friend with a 
darkroom if you don't do the 
photographic work yourself) on 
the highest-contrast photo- 
graphic paper that you (or 
your friend) have available. 

Since normal photographic 
paper can produce as many as 
ten or eleven gray tones, the 
high-contrast paper "drops" out 
some of these tones (Photo 2). 
This allows you to more closely 
approximate the six tones you 
will be able to reproduce. An 8 x 
10 workprint seems to be a con- 
venient working enlargement for 
the steps to follow. The paper 
that I use is Kodak photo- 
mechanical transfer (PMT), 
which is a stabilization-type 
paper. However, any high- 
contrast photographic paper 
will reduce the tonal range just 
fine. 

Making a Grid 

Take one of your workprints 
and divide the 8 inch side 
(assuming you are using an 8 x 
10) into 60 divisions. You can 




„^itil* *" 

HHHHHiHHHHHHHft ~ 



** WINTER WONDERLAND ** 
BY LEE WILKINSON — MARYVILLE, TN. 



use drafting instrument divid- 
ers, compasses or whatever 
means are at your disposal. Us- 
ing a sharp-pointed, soft lead 
pencil, draw parallel lines on 
your workprint defining the divi- 
sions you just made. 

Now make 60 divisions on the 
10 inch side. Draw parallel lines 
for these divisions also. This 
produces a 60 x 60 grid on your 
workprint. Referring to the tonal 
chart (Table 1), you can now 
start with each line and code 
each box on your workprint with 
one of the tonal characters. 

Determining Tone Codes 

You will notice in Table 1 that 
the six gray tones range from X 
(the darkest) to S (the lightest). 



X— The darkest tone that can be produced 
(made by printing Ms and issuing a carriage 
return without a line feed, then overprinting 
the Ms with Ws). 
M— The next lighter tone. 
I — A mid-range tone (sometimes changed 
to the letter C with the ASCII conversion 
characters in the main program). 
:— A lighter mid-range tone designated as 
the letter K in the data statements to dif- 
ferentiate from carriage returns. 
.—Next to the lightest tone in the gray 
scale. Designated by the letter P in the data 
statements. 

space— The lightest tone produced. Desig- 
nated as the letter S in data statements. 
Used very sparingly for highlights, it gives 
dimension and depth to the portrait. 
C — Carriage return used to overprint a line 
with Ws to produce the darkest tone before 
a line feed. 

L— Line feed, used after all printing on a 
current line is completed. 
E— End flag to signal completion of portrait 
data. 

7ao/e 7. Symbols used in data 
statements. 



The symbols M, I, : and . produce 
the other four intermediate 
tones. This makes a total of six 
gray tones with which we can 
create an illusion on the two- 
dimensional paper. 

Keeping in mind that we will 



be working with these six tones, 
fill in each of the 3600 boxes on 
your workprint grid (Photo 3) 
with appropriate tonal char- 
acters. At first it may seem like a 
monumental task, but you'll 
soon get the hang of it. These 




Photo 7. The original portrait with the full tonal range. 



CCMMMCCCC:: : 

• ^-* V • • • • >— V^ • • 

: :C 




boxes will be used to construct 
data statements. As you can see 
by examining the program list- 
ings, these data statements 
constitute the bulk of our pro- 
gram. 

Translating to Data 
Statements 

Make a scale from a stiff 
piece of cardboard and grad- 
uate it with the widths of your 
boxes. These marks should be 
equal in size with the grid (Photo 
4) of your workprint. Number 
these divisions consecutively 
starting at number 1. The last 
number should be equal to the 
widest carriage position that 
your picture will occupy. 

Using the 60 x 60 grid, the 
scale will have 60 divisions. This 
scale will aid you greatly in 
counting tonal characters. 
Starting with the first row on 
your workprint, count the 
number of each tonal character. 
Work from left to right and 
record each occurrence of the 
tonal characters. 

Note that in the first row 
(Photo 3) there are 15 Ms. (Re- 



member that X is made by Typ- 
ing W over M.) Next, there are 1 -I, 
5-K (colons), 2-1, 16-M, 1-1, 4-K, 1-1, 
2-K, 4-1, 7-K, 2-1 and 1-C. The 1-C 
allows a carriage return without 
a line feed so that we may over- 
print the Ms with Ws to make the 
darkest tone. 

Now that the carriage is re- 
turned we print ten Ws (over the 
first ten of the 15 Ms), 17 S 
(spaces), 12 W and then 1 C and 
1 L for the carriage return and 
the line feed to start the next 
line. 

Refer to Listing 1 at the first 
data statement to see that this 
is exactly the way the first data 
statement is written. Continue 
writing your data statements in 
this manner until your entire por- 
trait has been translated into 
data statements. Your last line 
should contain the flag 1E. This 
is necessary in order to signal 
your main program that all data 
has been read; otherwise, an er- 
ror could occur. 

The Main Program 

Lines 20 and 25 of the pro- 
gram (Listing 1) simply com- 




** ROSE ANN WILKINSON 
PROGRAMED ON AN ALTAIR 8800 COMPUTER 
BY LEE WILKINSON — MARYVILLE, TN. 



** 



Photo 2. Copy of the original. This photo workprint is made on high- 
contrast paper. This copy is used to reduce the number of tones in 
the portrait aiding in the selection of the six tonal range codes that 
are used to reproduce the final computer portrait. 



Microcomputing, April 1980 149 




* 



jr • - • 11 

: -v x n a: •£-: 

*^ X ^ 
. . • : * XX-X-XX XT 

x. arx x -x x 

Photo 4. Translation of the tonal codes into data statements. Using "scaler" to aid in counting the occur- 
rences of the tonal codes with which the data statements are constructed. 



mand your hard-copy device to 
do the printing. You may need a 
couple of nulls here also. Some 
hard-copy devices require these 
nulls in order to delay printing 
until the carriage is returned and 
realigned to the first print posi- 
tion. 

Line 30 reads the portrait from 
the data statements. Lines 40 
through 60 split the data string 
into the variables A and A$. A 
then becomes the number of 
times the tone code will be 
printed. The tone code has also 
been assigned to A$. 

Lines 70 through 107 reassign 
A$ to the ASCII characters that 
you desire to print. For example, 
line 90 sets A$ to ASCII 46, 
which is a period (.). Line 107 
sets A$ to an ASCII 67, which is 
the letter C, rather than the 
originally coded I. I find this 
gives a smoother intermediate 
tone for this particular portrait. 
By changing the ASCII codes in 
lines 70 through 107, you can ex- 
tensively alter the results of the 
portrait. You can actually pro- 
duce a negative portrait by re- 
versing the ASCII codes. 

Line 110 is the condition for 
the end of the data statements. 
The for/next loop at lines 120 
through 140 do the repetitive 
printing, and line 150 repeats 
the whole sequence. 

Line 160 restores the nulls to 
zero in the event the main ter- 
minal can operate without the 
delays. Line 210 is used to re- 
sume the I/O on the main ter- 



minal rather than the hard-copy 
device. 

Additional Programs 

Listing 2, "Winter Wonder- 
land," took me approximately 
30 hours to translate in- 

* id • x£t h i^r : mm 
* x* iiin it 11 xix 
rt**riiy*riixrri 

x /TX<*Il j***x * " 

«*X*X IlrfJCLl ■ 
'XAJC0 i:'lr: : III 

X li(»« 

. -I 



to data statements. It takes a 
110 baud printer 20 to 30 
minutes to print the picture. 
Winter Wonderland is especially 
beautiful when overlaid with a 
transparent light blue sheet of 
plastic, matted with a black mat, 



framed, and viewed from 5 feet. 
My original intentions were to 
send copies of this computer art 
for Christmas cards to com- 
puter friends around the coun- 
try. However, like many of my 
other projects, this one has 
been temporarily shelved for a 
few months. 

Conclusion 

Both of the programs are writ- 
ten in a Digital Equipment-type 
of BASIC. Simple conversions of 
the data split lines will allow the 
program to run on a North Star- 
type of BASIC. 

This method of computer por- 
traits is admittedly slow. The ad- 
vantage of this method allows 
you control over the final picture 
to darken edges, lighten areas 
or even abstractions on the por- 
trait. That you can have a per- 
sonalized portrait that you 
created makes this program 
worth investigating at least a 
few times. I'll just bet that you 
place some of your computer 
portraits on your walls, too.B 



t -t < * »r 

xm irii: 



» » 




Listing 1. Portrait program. 



X X i 

I : \ * < : j : 



Photo 3. The photo workprint with 60 x 60 grid lines 
drawn and tonal codes written in the boxes. 



o 

* r- 

* VC 
« I 

CM 

*-i 00 

2 <Q 

Ou- 
(O 4J in 

2 »-. -• 

t-H O V© 

3 a> c 
•u o 

2 3 w 
2 a c 

< e "* 
o -* 

o .-1 



c 



<0 






w 
u> 
a> 
u 
a> 
c 



<v 

c 



I 

c 
o 

u 



<M Q. 



u 
en 
o 
as 



* 
* 
* 



0) 






(X 



a> 
w 



3 
C 



3 

a 



o 

CM 



u 



3 
(0 

E 

1 
a. 

• • 

a 

u v> 
H < 

5q 

DC < 

a. u 



in o 

CM CO 



to 

< 

* 

O 
2 

< 

■ 

c 

O 
f- 

2 



< 

< 

Q 



a. 

CO 



cc 



o 
so 

O 

e- 

o 
o 



c < 

o — 

U U 

0) -j 

4J W 

o J 

«J < 

u > 

ID II 

x: < 
o 

2 

ro U 
X 

• fc- 

< <*•> 

* H 

V) </> 

•-< < 




■ 
UJ 



2 

u 



c 
o 



■ 
u 

10 

kt 

TO 

o 

CM ^-» 



3 < 

•fT— 

</> 

O Cb 

2 U 

■J 



< 
> 
N 

< 



O 



o. 

a) 

VI 

3 

0) 

3 



<o 

x: 



a> 



o 



< 
<o v> 

JZ i- 
S X 

o 

5E « 

< 



O 



>> 
a. 

< 

W3 
U 
O 
U 
2 



(J 
CO 

< 
o 

c 
</> 

< 

u 

2 

< 

X 

o 



u 

IX 



O rH O O O 
CM V CN <N <N 

^-( 1— I r-A <— I 

O U o o o 
h a e- t-> e- 
o •• o o o 
00000 

•• ro •• •• •• 

m O vo rsi 00 

— O www 

cc •• a. cc ac 

X fr- X X X 
U 2 U O O 

II 1-1 11 II 11 

</> as </> v> v> 

< a < < < 

2 2 2 2 2 

u u u u u 

X X X X X 

t- e- t- t- ^ 

■ ■■SB 

S ■ ■ B » 

II II II II II 

< < < < < 

Ik [h lb [i< Ih 



O m 
00000 



150 Microcomputing, April 1980 



X 
CM 

i 

u 

H 

£ 

m 

h 

VC 



o 



X 

r- 

CM 



J O 



nfc 



-J J 



CJ CJ -J 



» 


* 2 x 

•. CM vo 


O 2 2 


- ■_) - - 


% 


CO » t 


5 -h to to 


in 


00 J to » * 


H «(N (N 


CM 


CM H C- J H 
- - ^" O H 

2 CJ * -i - 
* - Ch CJ H 


- CJ - - 


CM 

to 


m -. cm h 


£ 


* 2 * fc 

2 cm to to 

CM >ON9t 


% 


O CM (J «.£ 


o 


- crt co co 


«-t 


CM -H •§- o 


10 CM - » 


% 


- tO - X H 


en -Si 


£ 


x cn £ .. * 
<c <r h h h 


t X co co 

- CM H H 


vo 



- » -. CO CM 



H l-( {J * M 

<-t ID H S ^ 



x 

co 



X 
CM 

to 
X 



X 

00 



X 
CM 



to 



tO H 



x x 

CM H 



VO H H 



in vo <i 

to % % 

x h x 

CM VC H 

* «* % 
H JJ H 

•-I VO •-< 

». % % 

X H X 

VO CO VC 

H .. «. 

-x £ 

£ «» CM 
CM H H 



x x 

CM H 



x x 

0> H 



2 - - - 

HWOU 

•-4 CM H H 
•.«*.. » 

U -£ £ 

— > X — I CM 
» CM «-l H 

£ i— I -. to 
O - i-i i-i 
h u nn 



CJ 

h 

1 

to 
o 

to 
-J 

2 *-• 
^ - 

- — i 
u » 
-H X lJ 

«0OH 

£ * - 

CM t0 U 



CM •-• 

% «to 

X X 

cm r- 



CM 
X 



r-i r-i CM 



- £ £ 
£ co *r 
o - « 

H H ^ 
« CM VO 

i-i «. » 
"» X X 

vtfiH 



►"• 2 2 

to % V 
£ tO tO 

•* CO % 

H JH 
» IT» » 

x h to 

H » CO 
-CJ CO 



*J wl J 
r-i r-i r-i 

u cj cj 



5 35 

O ro «» 



£ X 



M J M l-l l-i t-l 

i-l H i-l CM CM CM 



x u x 



x x x 



H H J 

m r- h 

% % * 
msc u 

CM CM H 



to to to 
co vt> r- 

CO CM CM 

% % % 

111 

r- oo cn 

i-l i-H t-l 

to % •* 

_ U U cj 

H'J&B.HHrtHHH 



J J J J u _) 

H i-l i-l i-l i-l H 

to to % % % % 

u o o u u u 






£ » * » £ VO 
H Ifl tfl 45HH 
>HHP1H » 

• u 



00 » i-i i—i 

t tc x 

•-I VO T 



i-i in » 
" >£ 

iC £ CM 

vvOh 



£ £ £ 

co *r in 



2 2 2 

in in in 



to to to 

^r co cm 

CM CM CM 

•i toi to* 

2 2 2 

•-I CM CO 

CM CM CM 



2 2 2 

in in vo 

•— i — i ■— • iJ 

to to to*H 

to to to i 
o r- ^ u 

CM «-l i-l i-l 

to to to to 

2 2 2 2 

m oo o o 

CM CM CO VO 



•"•J 1- ' HHHHHjHHMMHHHHHHyUUUUUU 

•-ICMCM (MHi- 1 r1Hf\IHHHrtHjnrCDinnHHrtHrtHrt 



*** %*^ tototototototototototototo 

£"£ £££££t0££££££££££ 

H(NHH NMN CMCM^CMCMCMCMCMCM*rro^"«T 
<<<<<<< <<<<<<<<<<<<< 

<<<<<<< <<<<<<<<<<<<< 

ooooaaa 0000000000000 

Oi-tOi-IOOO OOi-IOOOOOOOOOO 

r~r~ooooONOi-i CMcoco^invor^oooNOi-iCMco 
cococococo^r^cr ^ , ^^*r^r«» , ^i^ , ^ir(ir>inir> 



£££££££U 

OOOOOOO1-1 
VO VO VO VO VO VO VO 

< 

<<<<<<<Q 
Q Q Q Q Q Q Q 

O 
OOOOOOOO 
^mvor^ooovoo Q 
ininminminvoo z 

,H,H_ 4 _(.-(_|_|,-,W 





























* 
* 

Q 






ffi 

00 


2 








































Z 






•> 


CO 




u 




































< 






■J 

»-l 


to 

to 

VC 


a 

* 


to 

2 








to 




























•J 






^H 


VO 


u 

— H 


•-H 

to 




3t 






•— 1 




























X 1 






to 


2 


to 


-J to 




•-H 




to 




























• 






X 


i-H 


ffi 


l-H l-H 




« 




2 
— 1 




























CO z 






CM 


to 


CO 


X to • 




to 


2 




























t- 






to 


O 


» 


>n 2 

» H N 




«-4 


i-H 


to 




























Q 






l-H 


•— 1 


l-H 




i-H 


to 


to 




























» 






r- 


to 


VTl 


l-H » » 




to 


to 































Z CO 






m 

to 


ffi 
CO 


CM 


CM X tO 
CO CM O 




2 
1-4 


l-H 


m 












> 
















J 






ffi 


J « 


X 


» «. 10 




to 


3t 


CM 


• 


c 








O 


■ 














I-l 






-H 


•-H l-H 


CM 


ffi to * 




to 


f-H 


"O 











O 


CO 














2 £ 






i—l 


"On 


to 


•-H i - ' 2 




i-H 


to 


% 


c 


■ 








»-t 


u 


















to 


U CO 


l-H 


to VO i-H 




in 


to 


w 


c 








O A A CC 


< 














X 






_1 


•J -H «. 


l-H 


t-t » •. 




^ 


i-H 


<N 


•S? 


'** 








VO u vw u 


Cm 














< 






l-H 


l-H X 


CO 


•"• 2 to 




CM 


to 


•• 




M 
1-1 








O 1-1 Ot 
O V V « 


C/) 














X £ 






to 

u 


- 3 in 

C_) CM » 


ffi 


•. i-H CM 
ffi » » 




2 

CO 


Z 


2 








O £ £ £ 


ac 














CO 1 

1 






l-H 


•-H « l-H 


in 

•* 


•«T to 2 
» ^ CM 




to 

CM 


•to 




a 


c: 










O u u u 


CO 














H 






l-H 


"* VO -H 

CM VC » 


hi 


J « » 




to 





0) 








cc cc cc 


cc 














z 






VT> 


•—1 


-4 2 to 




CM 

ft 


•to 


m 


5 




c 




-^ 00 

CM CM CM 




CM 














z 
to 

►H Z 






m 
ffi 


to 2 ° 

00 <N i-i 


U 

i-H 


» l-H i-H 

•-• to u 




ffi 
CM 

•to 


co 

CM 

•to 


k. 


>« 




•** 




to 1—1 1—1 


•— 1 














I-l 






l-H 
















a> 


-Q 




1— 1 

1 




< 00 

















2 * 

-J 






■-H 

to 


(J l-H l-H 


2 

CO 


CM uJ tj ffi 




to 

m 


CO 

to 


cn 

•* 


c 






c 




«« t-i e- 


H 












9) 


l-H 






to] 


•^ to to 


. 


» i-H ^H 5f 




m 


ffi 


CD 
m 


* 









v> O •• O 


O 












jC 


* 2 






^H 


«■ ffi C_> 


CO 


to •• » - 




to 


CO 


§ 


* 








t- 


u 














« 






to 


QQ CM ^H 


VO 


"» O ffl •-• 




HH 


to 


•i 


* 




1* 




£14 •• CO •• 


•• 












£- 


s CO 






CJ 


CO * * 


VC _) 


VO *-* CM CM 




r^ 


l-H 


t— « 








a> 




CO -~ ^-> 


^ 












X 


..CO 




0/ 


•-H 


-•"i 2 


» 1-1 


to to to to 




^ 


^" 


r^ 


cvi 






4J 




J CO O VO 


CM 












U 


^ J 


£- 


tol 


to 


l-H 00 T 


2 » 


2 2 to to 




m 


to 


to 




•O 


c 




v> •— 1-1 E-i ^ 


ro 














in 


X 


0) 


l-H 


co m » 


•-H (J 


<X l-H i-H l-H 




i-H 


X 


X 




a 


0) 


<H 




< J — — 


— ' 












M 


-1 >« 


U 


£ 


1T1 


m » to 


* l-H 


to to to to 






CTi 


z 


T3 


1* 




< </> (J </> </> 












O 


^-OQ 






m 


« co in 


(J «• 


O tO •"-• l-H 




l-H 


to 




< 


<n 


a 




•0 > cc •• cc 


CC 












vw 


ffi ■ 


O 


4J 


% 


co vc 


— 1 ^ 


rt VHh 




i-H 


|-H 


t—i 


■♦to^ 


u 


« 






C II X H X 


X 




< 










< .» in 


E- 


tol 


OQ 


Ctv •— 1 ^ 


» i—l 


1 VC CM « 




to 


f-H 


CTi 


.CO 


a 


c 


-C 




«o < u z u 


u 












M 


6- — -« 




(0 


*-h 


- -2 


ffi - 


ffi * * QQ 




ffi 


CO 


CM 


u 









-~~ II I-l II 


II 


c 








1— 1 


c* 


X 


tol 


•-H 


JJH 


Ci y) 


CM i CU i-H 

» cm cn k 




l-H 






•toj 


Q 


<M 


iJ 




<Z<~ </>QC</></>VOt-i 








t-t 


H ~* O 


U 


to 


•* 


1— 1 *— 1 «. 


to l-H 




to 


CO 

CO 


ffi 
CO 


Z 


•^^ 


•^H 




u <-< < a. < 


< 


1—1 




• * 






3 


Z — H 


< 




•J 


* » O 


l-H » 


l-H » » I-l 




l-H 




O 




3 




OX to*to 






^H 


o> 






C 


1-4 cQ 


X 


10 


-H U 


u u — • 


2 


r» to hh r» 




CO 


• •_) 






2 


0) 


(A 




*j h v> ^ z z z 


z 


z 


II 


< 


oo 






X < *-4 




«J 


» i-H 


■-H i-H » 


rr i-h 


CM i-H O » 






l-H i-H 


f— i 






Wi 






c < •> to u u 


CO 


CO 


OP 




I-l 




JJ 


x t-i 11 t-i 


£ 


c 


O » 


. » to 


» * 


* ^ co Cu 




X 


CO to 


VC 




a 


0) 


£ 




^ CO »-■</> X X X 


X 


X 


I-H 


H 






a» 


•• 1-1 ft 


CO 


i 


^H (J 


cn co in 


x to 


X (J «■ O 




1—1 


OQ l-H 


to 




u 


J= 


U 




II V/ < H H H 


t- 


H 




Z 


H 




to 


E- H z e- 


X 


E 


to *— 1 


•-H CM • 


VO CM 


^r i-h co •— • 




1—1 


ffi i-J 




t- 




ae 




HJ -»H w 






a. 


1-1 


X 




• 


Z Z X i-i X 




• 


l-H » 


» » l-H 


iVO 


* * CO * 




to 


•—4 to 


CM i-H 




z 


(0 


• • 




4-1 </> Cb <// « t s 


s 


1 


a 


CO 




u 


1-1 1-1 O X CO 


• • 


«J 


VC CO 


i-h i-h m 


l-H » 


►-H CO » l-H 




l-H 


*2 

l-H «— 1 






1-1 


I-l 


cc 




10 < u t- (j J a 


to CO a. 


CL 


z 






x x Cb a z 




(0 


in cm 


a> m j 


SCM 


CO l-H l-H CM 




in ,_) 


1-4 O 
CM i-H 




2 


«-l 


u 


in 


TJ"-*iJ I« • « 


I 


I 













X X 


CO 


a-> 


* * 


vo m «. ^h 


co »nn 




CO l-H 


i-H to 






3 


H 


< 


Z ^~ C3 H II II 


II 


II 








CO 




M ■• 


tol 


10 


CO 1-1 












00 CM 








C 


z 




uUl Jh»</iV>»(« 












£- E- 







«3- O 


ffi ffi 


ffl to 


ffi V ffi ffi 


-1 


ffi CJ 


ffi 2 

CO H 








►-I 


Q 


-h -J < CC < < < 


•a. 


«. 











£ 


Z Z 


to 


10 


•-H VO 


Cft CA •— 1 i-h 


00 ft 


*T CM CO VC 


■— 1 


VO —> 


m in 




* 


•u 


cc 


< 


I-l > II 












cS 


CO 


l-H 1— 1 


z 


«J 




















« 


3 


(X 


U 


Q.CU II V> Cb Cb b 


Cb 


Cb 








X 


X X 





10 


< < 


< < < < 


< < 


< < < < 


<. 


< < 


< < 


< < 




« 


CL 


1-1 


£X 


(/) M < < H HM 


1— 1 


>-l 













CL, Qu 





•c 


H Eh 


E- H Eh E~ 


E- H 


E- H H E- 


H 


H b~ 


E- E-< 


H H 


































< < 


< < < < 


< < 


< < < < 


< < < < < 


a. «c 


































Q Q 


Q Q Q Q 


O O Q Q O O 


Q Q Q Q Q Q Q 


































O -* 


O O O ^H 


O -H 


O r-l O O 


•—< 


O i-4 


O i-H 


<— 1 




s 


£ 






£ 






















000 





£ 


O O 


r-l CM CO CO 


■T •"T 


in m vo r~ 


f- 


00 00 


O". CT\ 







U 


in 


O 


CO 





1—1 


CM 




T 


in 


VC 


r- o\ 


i-H 


CO 


O O 


OOOO 


O O 


OOOO 


O 





O O 


l-H «-H 




DC 


a 


CM 


m 


cc *r in vo r- 00 o\ 


1—1 


— 1 


.— 1 




~H 


•—1 


— * 


—t — 1 CM 


CM 


X 



















z 
o 
to 



t 
t 

o 

E- 



to 




< 




X 









£ 




CO 




X 




.. 




«c 

CM iJ 




H Cb 




O Q 




t- z 




O CO 









•• £ 




-^ to 


to 


r» X 


CO 


VC •• 


£ 


•— ' 


l-H 


vrv no 


V- 


X -i 




X 


■ 


O O 


< 


M E- 


m 


</> O 




< O 


■ 



4-1 

c 

01 

E 
0) 



JC 

J 



>, 

»-2 

<o 

w 

to 

d) z 

o 

<D Z 

c 
< 



-to 

u to 

01 

£ o 

-4 x 

<c 

C 



H> -H 



z z </> < 

CO CO < 

X X o 

f» E- Eh 
H 

* S Z l-H •» 

l-H CO l-H </> 

c c X II < up 

II II X OP l-H 

</></> 1-4 H 

< < 2 Z Eh 

O X i-i X 

XX Z O X CO 

HH X X Z 



r~ o £ 

O — I CO 



000 
cm co *r 



to 
4-1 

X 

01 

c 

0) 

JC 



T3 
•0 
01 



£ 
CO 
X 

o 

CO 

o 

Eh 

o 



o 
in 



in * 
0) x 



CM O 



■ 
X 

CO s 
E- • 
O Z 
X Eh 
£ 

O « 
O CO 

tol 

o J 

O 1-1 
00 > 

X >■ 

X 
X < 

i-i £ 

< 

E- I 

-J I 

< 
z 

Z O 

< to 

z 

Z 1-1 
O X 

_) 

Q i-i 
CO jt 
£ 

< X 
X CO 

■J 



C CM 

— H f-H 

•0 •— 

E ffi 

< 

U Eh 

o 

U-l Eh 

z 

CO l-H 

r-H X 
-H X 

3 •• 
C t- 

z 



0C >4 
X ffi 

s s 



in vo 



ffi ffi 

< < 

Eh H 

E-4 H 

Z Z 



10 E-i 
0» X 

4-1 CO 

z 

•• 
*J E- 

z 

X i-h 

3 X 

X 

•D •• 

oi in 

0) >-H 
VIH 

o 

01 Eh 

c 



0) X X X 1-4 

(A X X X N 

QJ *f M •• £ 

>h H Eh H X 1-4 

Z Z Z X 

£ l-H l-H 1-4 CC 

U X X X o 

X X X X X 



«-l i-H X i-H i-H 



OOOO 

VO I""- 00 o\ 



o 
o 

CM 



«0 

c 

•iH 

E 

kH 

0) 



<0 

E 



c 

3 

4J 

0) 



01 

c 

•-H 
4J 

3 

o 



3 
X 

E 
0) 

kH 
• • 

CO 

_a 
o 
x 
z 
o 
o 



CM 



i-H 
to 

o 



to 



2 
o 



CM 

r- 



CM 



to 

to 
cn 



2 

u 



►H CM 






X 

r- 



01 



01 



. 2 • 

^H - CM 

-X CM 

J U CM ~ 

1— I f-H •• 5 
> -J » 

U 2 CM * 
^H CM *.(J 

- - X —4 

2 X '" - 

CM CM CM X 
»CM •. CM 

X - 2 - 

O 5 VO 1-4 

CM VO »i-H 

•• •. CJ » 

2 cj -• x 

F ^H » vo 

« » X - 

(J X ro i-h 



►H l-H CM X 

vo *r •» in 

to » X •-• 

£ £ ■«■ « 

vo ro «. £ 

to •» l-H O"! 
HH CM « 
l-H CM •» l-H 

to » X CM 
X X IT » 

r- r— >-h £ 

to to to CO 



J -I 



U J 



2 U 



•1 X 

to VO 
X 

X 

» ^ , 
X 

CM i-h X 

•» CM »-H 

X •* •» 

X 1-4 



X 
CO 



J l-H hH l-H 



u x 

i-H CO 



X 



X 

CO 



X i-i x 5 1-1 

•—I i-H »-4 CM i-H 



X 



x 5 
^ in 
cm * 

"U 

2- 
in » 

» l-H 

Cj ^r 



^X 

l-H CM 

»x 

X -1 

VO 1 

«X 

X '"T 



X 

CM 



CO CU 

•. in 

X 

r^ i-h i-i 

«. CM f-4 

X •• » 

CM X X 

» vc in 
X 

CM X £ 



•-H X l-l 



CM 

■ 

X 



CM i-H 



X 

CM 



CM 

to 

£ 

00 



<0 0) 

4J C 

10 -H 

tol 

10 

4-1 

C £ 
0) CO 
EX 
0) 
4-1 
10 
4-1 

to 

10 

4-1 

«3 
Q 

£ 
U 
X 



£ CM £ CO 
VO toto in toto 

i—l ^H 

•* 01 * 0> 
*-> C i-h C 
CM ^h CM .^ 

X X 

m vc 
■»£ -£ 

l-H (O l-H CO 

1— i cc •— • X 

£ £ 

in »» 



X co 

CM » 
■*X 

l-H ^T 

HT to 

toto 

l-H l-H l-H to X CO 

co r~ cm i-h f— 1 » 

to to to-H «X 

X CM 



X 
CM 

•» 

X 

00 

to 

£ 
X 



£ 
in 

H J 



CO l-H 

X 

CM X 



X CJ 

CM i-H 

>-« 2 



x to 

f-H cn 



x x 
cn i-h 

•» «k 

2 <-• 

CO f-4 

** f* 

U « 

•-1 co 

». •- 

£ ►-■ 

i-H CM 

i* *■ 
X £ 
CM «* 

f* - 

X l-H 

.-h m 

•» ** 

X X 

f-4 l-H 

Cu i-i 



-H 

u 

f-H 

2 

ro 

n 

X 

00 

i 



x 

to 

X 

f-4 

>-] to 



X 

co 



CO •» 

«CJ 

X --4 

CM » 

. »2 

J £ -* 

1— I «J1 •. 

» » to 

U Hir- 



CJ 

£ r- 

T »-H 

f* •* 

CM CM 

% •* 

£ X 

i-i <r 

L I* 

"-• 2 



-1 X 



-.co 
X 1 

-1 X 



o 1-4 2 ^ 

.-H CM CO CM 



i-h CL 

CM f-4 



X X 

vo — 1 



£ £ £ » 

in i-h i-i x 



l-H l-H f-H CL 
CM CO *T i-H 



X X X X 

in m in m 



HHH JH d H 



X T 

CO to 

-£ 

£-h 
cn i-h 



£ 

•- 1 .J £ 



CltJ H 
«.i-H CM 

£ » - 

— 2 £ 

-in cm 



cj » - 

i-i £ U 

-.CM i-H 

2 - » 

i-H l-H l-H 

-CO CM 

X * » 

O £ X 



X £ 

r~ cm 

». -. 

2 •- 

CO 'T 

u x 



£ I-" 

•-< CM 



X CL 
f-H CM 



CM —> CM 

to toi to 

to 1-1 X 

f-H CM .-H 

f-H «. f— t 

-X » 

•H -.CM 

••1-1 •• 
X --I X 
Nrtrt 

to % to 

CM CM CM 



X CO 

CM VO 



l-Hl-Hl-HI-H inOI-l to to • 



f-H •— I l-H •— I i_] 

to to to to f— 4 
£ £ £ £ » 

V CO CM CM CJ 



•-H f-H l-H CJ l-H 



< < < < < < < 

E- £h Eh Eh Eh H £h 

< < < < < < < 

O Q Q Q Q Q Q 

O O O O O O i-l 

o r-i cm co •» in in 

o o 00000 



£ £ 



< < 

H £h 

< < 

O Q 

O O 
vc r» 
o o 



£ » «■ 

O l-H £ 

fH ♦» en 

< < < 

Eh Eh E- 

< < < 

Q O Q 

O-^O 

00 00 cn 
000 



2 *-* X 

4fHfl 

to % to 
O £ *-* 

H00 <N 

<< < 
HEh Eh 

<< < 

QQ Q 

i-H O i-H 

cno o 

O i-4 i-H 



X £ 

f-H CO 

*• *» 

X l-H 

•-H CM 

*. •. 

I-H j; 

CM i-H 

*. .* 

X 1-1 
CM f-H 

». ». 

>- £ 

—t r- 
< < 

Eh E- 

< < 

o a 

<-t o 
•-4 CM 



X 

CM 



X 



hH x 

f-4 f-H 

«» f. 

X l-H 



X i-h X 

m vo t 

to to to 

2 to s 

CO i-H CO 

to to to 

Ohu 

i-H f-H f-H 

to to to 
£ X £ 

f-H f-4 i-H 

X X l-H 
1— I •— 4 1—4 

to to to 
£ 1-4 £ 



X 
l-H CM 

f-H •» 

*2 

£ -• 

I-HJ to 

"X 

IH 00 

CM -. 

«2 

£ co 

«»■ -• 

»X 

X CM 



•to •» 




XX 

f-H t-t 


"X 

x cn 

f-H i-H 


f. -. 


*. ^ 


•- 2 
in co 


SJ^ 



£ X 
CM T 

•. ** 

x 2 

f-H CO 

.. •* 

l-H U 

CO f-H 

- -.J 

£ £ — 

i-H CO ♦. 

- -O 
l-H l-H f-H 

co *r » 

• -2 

x x -H 



l-H tO 
CO CO 

f* -* 

x 2 

--4 in 

». •. 

I-H X 
CM f-H 



X 

to 

2 
co 

to 

CJ 
i-4 

» u 
£ -4 
VC - 

-CJ 

X -4 

i-H -• 

-2 

X T 

CM -. 
- X 

l-H l-H 

CO » 

-2 

£ — 
m - 

- x 
x 00 



x 

CO 

to 
X 



2 

CO 
CJ 



X 
in 

to 

2 
co 

to 
CJ 



£ 

X-i 
CM » 



£ -" - 

«. i-H £F 

X -VC to 

CM CJi-<X 

-. f-H ..VO 



X 
CM 



X 

00 

to 

2 
in 

to 
X 
VO 

2* 

CO 

to 

CJ 



CJ 

i-H l-H 

VO 

£ 

-4 £ 

-. CM 

l-H to 

CM _ 

» in 

£ 

l-H 

to 
l-H 

CM 

to 

£ 



£ 



CM 



—I i-h ae 






«T l-H 

- J r-H 



X 

r~ 

CM 



CO 

to 

CJ 



x 

CM 



X 



X 

in 



x 

CM 

to 

X 

CM 



CM f-H 



X 

CO 



X 
CM 



X 

CM 



X 

l-H CO 

X 

•• l-H 

£ -4 

l-H to 

X 

X f-H 

CO l-H 



CJ 

f-H 

2*-l 

^r f-4 

-. .. 

O CJ 



tol 

-. f-H 



-H .J CJ 

-. f-H f-H 

2 - - 

•n u 2 
» i-h in 

U - - 
-4 2 cj 

» in i-h 
£ 
co cj £ 

» f-H CO 



X 

CO 

in 

to 

2 
VC 



X l-H l-H 

•-H CM *-t 



£ 2 

CM ^ 

-. * 
X CJ 



in 



CM £ i-h 

»T VO 

X «. «. 
CM CL ^ 



O £ 

l-H CO 

2 « 

in r~ 



X 

co 



COCMf— li— li— If— It— I i-H f-H •» 



£ 
in 



x £ 
f-4 in 



x £ x 

i-4 VO i-H 



* -X 

l-H X i-H 
CM i-H -. 

- -2 

£ HH 
VO f-H to 

- -X 



H CO 

<n *»• 

*. -. 

£ 2 -J 

CM CO i-H 

to to to 

H CJ CJ 

CO f-H l-H 

to to to 

£ £ 2 

00 VO f-H 



Hf-HHl-ll-li-ll-HI-l^f-ll-lieLO 
CMi-HCOi-H-trf-H^i-HCM— 4fHf-H-H 



CM 



r- 

< 

< 

Q 

o 
co 



X £ 

h r- 
< < 

Eh E- 

< < 

O Q 

H O 

co ** 



X £ X 

f-H VO i-H 

< < < 
Eh H H 

< << 
Q Q Q 

•— I O i-H 

v in in 



£ •-• 2 

VO CM CO 

< < < 
Eh Eh Eh 

< < < 

Q Q Q 

O H CM 

VO VO VO 



£ X 2 

VO CM f-4 

< < < 
H Eh Eh 

< < < 

Q Q Q 

O H CM 

t— r^ c~ 



- x 

H <N 

m » 

-2 

£ co 

CO -. 

- to 

l-H 00 

r> « 

-2 

£ co 

CM » 

- X 

H CM 
CO f-H 

*» .* 

£ 2 

00 CO 

•» -. 
H CO 
H CM 

£2* 

VO CM 

< < 

(r> Eh 

< < 
Q Q 

O H 

CO 00 



*~to 

£ -X - 

vo to — IX 

H VO -CM 



CM 

to 
£ 

CM 



£ l-H f-H 



•h cjin 

- l-H «. J 

N jHj h H --HH 

— 1 * vc - 

£ J » CM » CJ 

VO i-h je; -. X •-• 

f-H -.COtOCM -.» ^CJ 

-CJ -O -XX £—• 

f-Hf-HHf-Hl-HinCM CO «. 

CM -. CO -. CM •. -. »3J 

-2 -2 -X£ hco 

£ h jr OiJC P100 f-i -. 

VO «.*T -.CMi-H «. «.t0 

- to - X - - h £<r 

f-H^Tl-Hr^l-H5f-H CM f— I 

CO -.CM .H ID to -.-. 

-2-2--X hs 

£ N it "i" S U) VC Tf^ 

co «.cm -.men -. -.» 

-X-X--X xx 

l-H i— I H IfiH J Ifl VO CM 

1-Hi-HCM -. f— I CO to -.f-H 

- 2 - -£ £ - 

£<ti:on JO>J 

00 f« f-H f— I f»f-H k^T 

- X - - 

HH O l-l l-H 



1-4 2 ^ 2 

co ^r i«in 

- -£ - 

£ X TX 
CM CM «.VO 

to .M . 
h 5ro2 
VO CO -.CM 

- -£ - 

£ X TX 

*T cn -.CM 

-• tobfj to 

~ 2'-'2 
co f-H »^r 

- -£ - 

£ X O X 

00 00 f-H f-H 

to to to to 

h 2*-«2 

>-4 CM f-H VO 

to to to to 
£ X £ X 
vo ^r r- CM 

< < < < 

Eh H Eh H 

< < << 

Q Q QQ 



X 

CM 

-J 

£ — 
co -. 

-U 

to —■ 

f-H -. 

-2 

X ro 

f-H to 

-X 

£ co 



X _. 



•- 2 

<I CO 

x to 
m r~ 

» f-4 

£ - 

r- 2 



X CJ 
CM H 

-• -. 

x s 

H CO 

•to *>, 

H CO 

h r- 

to i-h 
X - 

^ 2 
- ■** 

£ - 

co cj 

■* f-H 

to - 

~H £ 

-. f-H 

£ - 

ro a. 



x 

r- 



x 

i-H 

CL 



X 

CM 



CO 

to 
CL 



h j; 

CM CM 

■- *to 

X H 

l-H VO 

-. f. 

I-H "lC 

cm cn 

•. -. 

X X 

CO r-i 

CM » 

-X 

X co 



H » -. CJ X 



X X 

"«T f-H 



H tO 

«tr i-h 



X 

H _| 



X X 

cm o» 



H «X -H «HH 
CMCJHHi-HCJi-Hi-H 



£ 2 

vo ao 

•to to. 

H tO 

H CM 

-. .. 

£ 2 

c- co 

< < 

H Eh 

< < 

Q Q 



OHO 

<n cn o o 

•-H i-H CM CM 



•-H O H 



£ 2 £ x 

00 co cn cm 

< < < < 

Eh Eh H Eh 

< < < < 

Q Q Q Q 

O i-H O i-H 

CM CM CO CO 

CM CM CM CM 



CO CJ NT CJ 

-.i-H -. f-4 

£ -£ - 

CM 2 H H 
l-H CO l-H l-H 



< < 

H Eh 

< < 

Q Q 

O H 

^f •*»• 

CM CM 



< < 
Eh Eh 

< < 

Q Q 

O H 

m in 

CM CM 



x - 

CM H 



CM CL 

f* r-i 

£ - 

CM H 



< < 

H E- 

< < 

Q Q 

O H 

vc vo 

CM CM 



«. CM 

CL to 

CM CL 

- CO 

l-H •. 
CM H 

*. f-H 

£ - 

CM X 

i-h in 

< < 

H Eh 

< < 

Q Q 

O H 

r- r- 

CM CM 



X - 

co S 
» «»■ 

HH -. 

CM CJ 

-. H 

£ - 

CM £ 



< < 

< < 

Q Q 

O H 

ao 00 

CM CM 



X X 
CO CM 



- ^r h 

X - - 

cn x x 

-. cn cc 

x - - 

T X X 

-. •— 1 m 
x - - 

o in x 

1—1 CO 00 

to to to 
XXX 

f-H CM r-i 

XXX 

i-H C~- i-H 

to to to 

cl a. x 

H CO CO 

to to to 
XXX 
00 CM H 

to to to 
H Q, X 

r-i 4ST CM 

to to to 
XXX 
H CM CM 



£ i-4 

CO f-H 

-. *. 
H X 
X CO 

to l-H 

X - 

00 H 



H X 

H CM 



X H 



CL X 

CM CO 

x'x* 
m h 

-. *. 
X X 



X X 

cm r- 



CJ 



x 

CM 

in 

to 

2 

VC 

to 

CJ 



£ 



vo 



X 

in 



x 

in 

to 

a. 

f-4 

to 
X 

r-i 

to 

X 



X 



CMCMCO^"COCMH f-H 

to % to to to to to -. 

£££££££ £ 

cMcocoTTinvc. co J 00 



<<<<<<<<< 
EhEhEhEhE-EhE-E-Eh 

<<<<<<<<< 

QQQQQQQQQ 
OOOOOOOHO 

cnoHfNcoTininvo 

CMCOCOCOCOCOCOCOCO 



Microcomputing, April 1980 151 



W 

r» 



& a 



m 

W 



2 
en 

U 



CQ 
CM 



ffi 



CO 
en 



r» 

en 

to 

in 



oo 

CD 



CQ 
en 

< 

E- 
< 

Q 



» .J 

Rt 

-u 

w -t 
r- «• 

In » j 

w co - 
o -u 
in jh 
» t-t * 
3: -X 

'HflH 
to ft to 

CM «. ft 

Cj *r •• 

^ *2 

«• w — • 

u"> » w 

•. cj en 

n ft in 

m » • 

*oo 2 

CO VO <N 

•— I to «. 

M lflr-1 

f I to to 

» CQ 03 

aj en «n 

CM «. • 

>HH 
ft VO P- 

vo en ■ 

CO * CQ 

» CQ en 

CD ft •> 

r» •— t »h 

- » vc 

t-t t-t en 
r- *»• .. 

«> ». CQ 
CQ CQ On 

vo in <~t 

< < < 

< < < 

Q Q Q 

o o o 

CM en 5T 



J J 2 



u u w 



2 2 2 

r-t en en 

to % % 
WWW 

jnNin 

•— i * * * 

»2 2 -< 

QJ «— t •— • •— • 

f4 to % % 

"WWW 

* m cm —( 
In » - » 

-2 2 2 

05 cm v •-* 

OS to to to 

«w w w 
2 ft .-i co 
in in » ^- 

W 2 ^ 2 

ON CM «. ft 
^ » W * 

- W CO w 

2 cm ^r ft 

CM - «■ » 

'2 2 2 

03 CM fl <W 
CM «. » » 

-<J W W 

^ fl ft ft 

?4 to to to 

-co 2 U 
Cj in in —i 

f-t ■— i » «. 

- - U CQ 
oo cu —> en 

CM CM to « 

« >. co 0u 
»-i 1-4 r~ «-i 

»r- ri to 

to en * co 
CQ ' O. -H 
CO CQ t-l i-» 

toCM » «. 
t-t <— I »-t t-l 

,-h to m co 
en t-t en en 
to cm « « 
CD - CQ cQ 
O CQ C- >—- 
CM CM •— I —I 

< < < < 
E» tr- E- E~ 

< < < < 
Q Q Q Q 

O O O O 

in vo p» co 



w 

CM 

m 

2 
i-t 

to 

w 



2 
en 



CO 



w 

CM 



2 

ft 

to 

w 



w 
o 
m 

to 

2 
<-t 

to 
w 



2 £ 



co oo 

VO <7> 



—• vo 
m cm 



CO 
CM 



CM 



CO 

VO 



a. u cu 

hh in 

to to to 

CO (J CQ 



W 



CM 

W 

ft f-i 2 

to to CM 



W 

ft 

R 

•—I 

to 

ffi 



a. 

en 

to 
ffi 



ffi 

CM 



CM 
CM 



ffi 
CM toJ 



W 
CO 



CM 

ffi 

VO 



ffi 
en 



W 
CM 



2 r-> 



w 

VO 



2 

w 

-• w 

CM 

u 

-• u 

to f| 

co 

en cQ 



CM 

ffi 



a. 

CM 

m 



CM 

W 

ft 

to 

2 



a. 

CM 



m 
m 

CM 



ffi 
CM 



-•■-I i-t r- •-( ■-( 



l-H l-H CM (J 



ffi » 

"* 2 



1-1 ,J * 

toi-i CO 

ffi •• ^r 

P» u — < 



o w 



w 
o 



w 

CM 
c{ 



a. 

co 
in 



ffi 



O 



w 2 •"• 

t-i CM CM 



w 



w 



en 

QQ r-i 

-u 



2 



w 

en 

i 

w 



w 

en 

to 

2 
m 



n a. 

en *h i-i 



»2 

CQ t-i 
CM «. 

» w 

W CM 

ft to 

0:2 

l-H to 
* W 

co in 

en « 

»2 

CU H 



►H (J 

<» toJ — i 

to t— 1 » 

cu « cq 

CM U O 



Jffl ^rM 



r-t »-l i-H XT CM 



w 

CM 



H JBi (-I 



■» w 

•J w »-• 

i-l CM » 

• »2 

U t-i i-i 



CQ to to 

^r 3 Q. 

to f-t CM 

CL, to to 

cr\ U) (D 
» CM CM 

m to to 

V JO. 

» (N ft 

Ou ^ * 

VO W ffi 

tovo a\ 

CQ to to 

I-I 5 I-I 



2 
en 

to 

w 

f-l 



2 

en » 

W 

U co 

ft en 

to to 

ffi -l 2 

^ i-i v 



WOW «-• 



0. 

CM 

w 



NHH 



CD 

in 



UH*H ft 5 

ft to CM OV to ft 



Cu w 
vo in 

to to 

U CQ 2 
ft CM ft 



M. «to Q^, 

0. 3 cm- 
civ en ft 

to to to 

co w to 

ft en cm 



CTv 

» ft 
w » 

CM CD 
toCM 



-— I W 

W - tod 

CO ffi to 

torn 3 
3 ft ft 



toJ a. 

fl CM 

to ft 

H CQ 



toQ, W 

W T CM 



X ft ft CQ 2 ffi 2 

F- to to fl ft CM CM 



ft ft CM 



ua.uiQ.2D. 
cm en ft 



CM ft ft ft 



U ffi W ffi 

ft vo ^ in 

< < < < 

< < < < 

a q a a 

ft O ft o 

CO CPi cr. o 

ft ft ft CM 



2 ffi 2 «o w 
cm in cm ** ft 



ffi W ffi 



< < < 
e- to- t- 

< < < 

Q Q Q 

ft O ft 

O ft ft 

CM CM CM 



< < < 

H t- S- 

< < < 

a a a 

O ft o 

CM CM m 

CM CM CM 



toQ, 

W VO 
CM ft 

2 CO 

~H VO 

< < 

E- E- 

< < 

q a 

ft o 
en ^* 

CM CM 



W 0- W 

r~ cm ft 



w - 

O ffi 

in » 

< < 
E- E- 

< < 

a a 

ft o 
*r m 

CM CM 



2 ffi 2 co 2 

fl CO CM ^" ft 



CO 

< < < 

E- E- E- 

< < < 

q a a 

ft o — I 

in vo vo 

CM CM CM 



m in cd 

to CO Cr. 

QQ to to 

njo, 

ft ft CO 

to to fl 

a. w » 
vo *»• t-t 

HfTJ 

to to to 

ffi 2 ffi 
VO ft vo 

to to to 

»-i W f< 
CM CM rH 

to to to 

ffi 2 ffi 



U 0- w u 
ft ft en ft 

to to to to 

2 ffl 2 Cu 

VC * Hf 

to to to to 

W 0. w ffi 

in cm ft o 

« « » ft 

3 ffi 2 - 
fi r- cm a. 

to to to f— I 

W f> w - 

m ft ^" co 

to to * m 

s £? 2 «* 
ft r*- fi o. 

to to » (N 

w cu w - 

H H CM CD 
toCM tofl 

J • S fl » ft 

ft i-t CM « rn CM 



ffi 

a 

CM 

M 

co 
in 

cu 

CM 

toJ > 
t— I flQ 
to *T 
U - 
ft CU 

to fl 

2 CM 



u 



ffi 

fi cu 



w 

VO 

en 



W 

CM 

ffi 

in 

cu 

CM 
ffi 

en 



ffi 
en 



U W 
ft CM 

U ffi 

ft «» 

to to 

2 Cu 

fl CM 

W ffi 
CM ^ , 

to to 

2 w 



w 



in 



cu 

co 

toJ fi 



w cu 

CO CM 

2 co 
ft r~ 

w cu 
ft r» 



toft s * 
rj en ft i-t 



'Cu 
2^ 



tor- tocu 
W - W en 
in co r» cm 
en vo en » 



W cm 

en » 

» cu 

3 t 



< < < 
E- E- H 

< < < 

a a a 

O -H O 

r- r- co 

CM CM CM 



* M 2 

fl CM CM 

to to to CQ 

W ffi W O 

cm en ft ft 

< < < < 
E- E- E- E- 

< < < < 

a a a a 

ft O ft o 

CO CTv CTi O 

cm cm cm en 



Ov w en 



cm r- 

< < 
E- E- 

< < 
Q Q 

ft o 
O ft 



w o 

CM ft 

to to 

2Cu 

ft CO 

*l «to 

W ffi 

in ft 

•k •» 



w ffi 
m cm 

<< 
E- E- 

< < 
QQ 

HO 
ft CM 

en en 



W « 

^j. CU 

to to 

2 H 



w cu 

fi en 

2 CQ 

CM CM 

to to 

u cu 

ft CM 

to to 

CU ffi 

CM VO 

< < 

E- E- 

< < 

a a 

fl o 

cm eh 

en en 



CM CO 

w 

CM CU 

CM 
ffi 

O _) CQ 
ft ft CM 

toJ W O f" 

ft fl ft CM 

to to to to 

U cu 2 w 

ft CM VO CM 

to to to to 

3 ffi w Cu 
fi p~ ft ft 

to to to to 

W Cu 2 ffi 
m fi cm p^ 

to to to to 

2 ffi (0 cu 

CM ft ^ ft 
to to to ft 

w cu 2 •> 

r- m en i-i 

« fi » m 

2 > LO » 
fi ft ft CU 

to m « oo 
W * 2 * 

ft CU ■—• t-t 

to <y> •- vo 
2 * 05 «■ 
CM ft CO CU 

to en en vo 
CO ». » to 

p- cu 2 *-* 

en in in fi 

to to to to 

2 ffi W ffi 
cm in ft ft 

to to to to 

w cu 2 *-' 

CM ft CM CM 

to to to to 

2 ffi w ffi 
vo en ft ^r 

< < < < 
E- E- E- E- 

< < < < 
a Q Q Q 

ft O ft o 

en ^" ^* in 
r*^ r^\ (^i c^ 



- w 
(j en 

ft » 

2 -■ 

ft to 

to QQ 

W ™ 

r~* - 
to cu 

CM "to 

- W 
W <N 
VO - 

-ffi 

2 "» 

ft to 

to CU 
W CM 
ft » 

toffi 

2 ro 



CM 
CU 



w 



ffi 



CU 

en 



CQ 
en 



CQ 
CM 



a. 

•J en 



W CM 

o - 

T ffi 

to co 

i-t a. h • 

to O » I— | 

U3 fl (J VO 
CM to ft to 

to fl toQ, 

2 vc. 2 t- 

CM tofl > 



w 

CM 

to 

2 

en .j 2 
to fi vo 

U » • 

-i o u 

to ft ft 

CQ to « 

ft 2 Cu 

to ft en 

Cu « •. 

ft (/J CQ 
- to CM 

CQ » > 

0J to to 

CM W) W 

» ft t-t 

fTl to to 

ft 2 «n 

fl CM VO 

iJ to to to 

•-* W W fl 

to rn cm ft 

(j » » » 

•-* ffi 2 Cu 

to «T ^ ft 

K -* * * 

•s" cu w m 

toft en cm 

0) » » » 

ft co 2 cu 

* fi ^ i-i 

2 - * - 

ft CU w w 

to cm fi en 

U) » » » 

co i-i 2 ffi 

> vo ft in 

2 to > * 

ft CU W f< 

to o cm ^r 
Ui ft en to 

P- to to Q, 

to i-i 2 ^c 
2 in cm 



CM 



to cu 

W CO 
CM to 

to I— I 
U vo 

ft to 

to Cu 

M vo 

CM to 

-ffi 

W O 
CM ft 

< < 
E- c- 

< < 
Q Q 

ft O 

in vo 
en en 



W vo * Q, (/j i-t 
UJ CO ft CM 

00 to to to 

CM CO 2 ffi 
in ft cm 

2 - - - 

en t-i 03 cu 

ft CM CM CM 



to a, 
2 ^ 



w >-* 

Pto to 

-ffi 

< < 

E- E- 

< < 

q a 

ft o 

vo r- 
en en 



U ffi 2 CQ 

ft vo ft vo 

< < < < 
E- E- E- E- 

< < < < 
Q Q Q Q 

ft O ft O 

pto- 00 CO Ct"V 

en en en en 



CQ t-t 

CM ft 

In t*. 

W Cu 
fi toJ en 

to fl to 

CU to CQ 

Num 
«. ft « 

ffi - t-t 

ft to ft to 
to ft to CU 

(J CM 03 CM 

ft * m * 

toQ, to CQ 

2 fi 2 «> 
ft « •—« « 

-ffi toQ, 

03 ^ W en 

ft to ft » 

toQ. to m 

2 cm 2 c° 

ft to t— I to 
to 03 toQ, 

03 ft W "0 

cm * in » 

toQ, to ft 

2 ~« 2~ 
ft * en «. 

to QQ toQ, 

03 en 03 cm 
cm to in to 

» i_i m i-i 

2 en tofi 
?N » 2 - 

to cu t a. 

03 fi toin 

V IN (fl to 

to to CM l-H 

2 *-' *•— * 
cm ft 2 - 

» to ft Q, 

03 CU to«r 

ft CM 03 - 

to » CM l-H 

2 »-• » "-' 

CM fl 2 » 

to to ft CU 

W CU -CM 

en ft o * 
en * ft ft 
•• ft »— • 
2 u"> m 
tN toft 

toffi to CO 

03fiQ.fi 

en ft cm ft 

< < < < 
E- E- E- E- 

< < < < 

q q a a 

ft O ft o 
CTN O O ft 



W 



W 



w w 

fl P- 

•. en 
U 

-• 2 



en 



CM 



W 

5- 



ffi J - 

toJ «T ft W 

ft to to ft 

» i-t CJ - 
C_> en ft (j 

ft » to ft 

toQ. 2 » 

J1H H 

ft to to CM 

* ffi W •• 

03 en «sr a. 

ft ft to CM 

to to S to 

2 cu — i ffi 
(N CM to en 

to » 03 * 

03 fi O t-t 

in ft ft ft 

to to to to 

2 cu 2 cu 

CM ft ft VO 

to to to to 

w t-i w m 

O oo en ft 

*T to to to 

to Q. 2 •"• 

2 — i iN ft 

CM to to to 

»■ t-i w w 

03 en CM ft 

ft » » » 

> cu 2 ffi 

2 CM en a» 

I— I to to to 

to i-t 03 t-t 

03 en in —t 

h nn «» 

to to to to 

U ffi 2 ffi 
fi <Ti ^ en 

< < < < 
E- H E- E- 

< < < < 

a a a a 

ft O ft o 
ft cm cm en 
»j. ^j. rr •t 



2 
«-t 

to 

w 

ft 



2 M 



0u 
CM 

CQ 



CU 
CM 

ffi 
CM 



v ffi 

fl CM 



RS 



w w 

ft CM 

ft to 
toffi 

2<* 



w 

toQ, 

2CM 



ffi 



w en 
cm en 

2*00 

ft ««T 

< < 

H E- 

< < 

a a 

ft o 
en T 



ffi 

^r toJ 

« ft 
cu to 

CM O 

•. ft 

ffi ' 

■"■ 2 

> ft 

Q, to 
CM W 

> 00 

ffi to 

2f 

-to 'k 

ft 03 
CM O 

toen 
cu •> 

""& 
» en 

W to 

en o3 

toCM 

fl to 

4J CM 2 

fl CM fl 

to to to 

CJ ffi w 
•— i en en 

to to to 

2 -> 2 

. ft CM ft 

to to to 

W ffi w 
00 ft fl 

to to to 

2 -• 2 
«r ft ft 

to to to 

W ffi u 
en in ft 

<< < 
E- E- E- 
< < < 

Q Q Q 

ft O ft 

tt in in 



ffi ffi w 

*» ft en 

to to to 

ft cu 2 

ft ft ft 

to to to 

CU •-) ffi w 



ffi U Cu 2 

pto fi CM ft 

to to to to 

Q. 2 W W 
m ft cm a» 

to to to to 

ft w cu 2 
ft in ft in 

to to to to 

w 2 w w 
ft en —i en 

to to to to 

ffi w ffi 2 
Cr. ft 00 ft 

to to to to 

i-t 2 — ' W 
ft fi ft <j\ 

. to . CM 
q, 03 Cu >■ 

m ov cm 2 

to to to rn 

W 2 CQ * 
VO CM CM 03 

to to to en 
fl w Cu « 
en cm ft 2 

cu 2 W - 

ft en Ov w 

to to to ft 

W W Cu - 

f4 ft ft (J 

to en » ft 
fi to 03 - 

" 2 CM CO 

fi m » fi 
<• •. i-i to 

ffl w en w 
pto rn ft ft 

to to to to 

W 2 Cu Cu 
ft ft cm en 

to to to to 

ffl W ffl ffl 
cm cm co en 

to to to to 

l-t O — ' cu 



2 
i-t 

to 

w 

—I 

to 

2 



w 

CM 

to 

CJ 



ffl 

00 



ffl 

en 
W 

CM 

to 

Qu 

m 

ft*. 

ffl 
vo 

a. 

CM 
ffl 

to 

w 



cu 

CM 

toJ - 

ft w 
to ft 

u - 



_> 

ft C-> 

toft 

u » 

—I CQ 

W *•-■ 

CM2 - 
^f^ cu 

ffl toCM 

mw - 

•vo w 

cu -CM 

""l * 

toCO CU 

to* -1 

in 03 to 

toOO ffl 

W 'en 

CM2 - 

to— I Q, 

Cu to^r 

•* W •> 

toin 03 

CQ tofl 

'5 - 

tofl CQ 

q, to rn 

CM CO -« 
toCM * 

ffl toQl 

injN 
toj toft » 

ft Q. -cq 

toft CO VO 

CJ -a • 

HtflHO. 

to VO -CM 

2 -2 ' 

vo a. ft w 

toCM to^- 

w -w - 
in co en cu 

to ft ft CM 

^ 2 * » » 
» en cu 2 ffl 



W 

CM 



* R 



w 



< < < < 

E- E- E- E- 

< < < < 

a a a a 

O ft O ft 

vo vo rto pto 

toj> ^r ^r ^* 



a 
en 

to 
ffi 

o 



< 

< 
Q 

O 
co 



■> Q. 2 i 
to ft <N( 

03 - to to 

^ W W Cu 
to fl VO — I 

M » * * 

in i-i 2 — ' 

» oo en ^ 

CO » to to 

en CQ Wffl 
top- ft pto 

1 * * * 

rn ft cj ft 



w 

CU ft 
•J CM to 

ft to X 

to QQ ft 

CJ — ' - 
ft -co 

» Q. VO 

03 ft - 

P~ "OS 

toQ, CM 

2 en •. 
en * 2 

»« -■ 

03 en «. 

CM to CO — • 

fi 00 en —» 

to O to to 

2-t2 cu 

ft toCM fl 

to CU - to 

W en 03 

en * in 

fl cQ — t 

tor- to 

SoTR 

» .-I « 

w -co 

fl 03 CM 

• VH 

2 - - 

ft ffl 2 
top- fi 

CO » to 

o ft w 

— I Pto vo 

to to to 

2 ffl 2 



W 

CM 
en 

i 



w 

CM 

t*» 

2 

to 

u 

—I 

to 

ffl 



w 
m 

m 
oo 

a. 

CM 

ffl 

O 



CO — ' 
ft » 

-w 

W CM 



W 
iJ T 



03 - to to 

en ffl cu ffl 

cm *r cm in 

< < << 
H E- E->E- 

< <<< 

a a qq 

HOHO 

00 ON CTVO 



w m w 
vo cm en 

to to to 

2 ffl 2 
en cm ft 

to to to 

W t-t u 
fl CM fl 

2 CQ ffl 
fi oo in 

< < < 
E-« H E- 

< < < 
Q Q Q 

fl o — I 
O — l «-l 

in in in 



U «-• 

—I • 
- W 

R-: 

» ft 

w *»• 

CM ft 

to to 

2 03 
fi ov 

< < 
E- E- 

< < 
Q Q 

CM O 
r-l CM 

m in 



-W 

w vo 

m * 

j co oo 

ft O to 

toCM CO 
CJ -CM 

ft a, > 
tof. 2 

2 »<*n 
CM W - 

-CO W 

03 --• 
ft CQ * 

» ^j- 2 
2 * m 
oo w * 

toCM 03 

W -^ 

VO l-t CM 



ffl * 

W — • W 
CM ft <-l 

< < < 
E- E- E- 

< < < 
Q Q Q 

fl O fl 

cm en en 
in m in 



'2 ffl 2 

CQ m CM CM 

fto. to to to 
ft w w w 

toCM ft ft 
Q, to to to 

fi 2 ffl 2 

toen cm cm 

CO - - to 

o w w w 
fi fi m pto 

to to to ft 

t-i 2 — ' - 
<n en en 2 

to to to en 
CU W Cu > 
<-t it in W 

toCM •• CM 

CQ to fl* to 

fi 2 cm 2 

ft ft ft en 

< < < < 

< < < < 
Q Q Q Q 

O ft O ft 

^ ^" m in 
m in in m 



MORE DATA PER DOLLAR— only from V R Data Corporation 




TO 





MINI DISK DRIVES NOW 



V R Data Corporation, Intl. distributor of brand name hardware, 
software and business systems is known worldwide for quality, 
dependability, prompt, personal service and discount prices. 

\ $350.00 

Over $100 less than Radio Shacks! L — 

WE ARE COMMITTED TO THE TRS-80 and THE TRS-80 USERS 

Fully compatible with Radio Shacks operating system TRSD0S M and 

drives. Just plug in and run! 

>0ne, two. three or four drive configurations, 102k to 408k bytes. 

>AII systems include a patch program to upgrade your TRSD0S IM to 

40 tracks. 
►Cases are finished in gray to match your system. 

IMMEDIATE DELIVERY: Why wait 5 months for mini disk drives from 

other suppliers — get better drives — quicker — and at lower prices 

now! 

ORDER NOW TOLL FREE 800-345-8102 "^ 



*•>>!' MORf D4 F4 Pf H OOl |7\N i^Hi^iHHHiiMIHHHHIIi^iHBHH 
777 Hrndrrson Houlciard N-h • foUroft Industrial Park • Folcroft, PA 19032 • (215) 4615300 
FOREIGN and DOMESTIC DISTRIBUTORSHIPS AVAILABLE • TOLL FREE 1(800) 345-8102 Orders only! 



152 Microcomputing, April 1980 






tflJl 

•-I i-H M 



£ 2' 



u 

^ 01 

•• CM 

CDJ > 

Nh J 

«. » r-H 

Q. U » 
*H — ' <A 

in jh 

.-I CO » 

cu co o 

<-t VO •-! 
-CM ■> 

to -CO 

m s —i 

CO - o 

MflH 

«» rH » 

►H »■ 03 

CM * CM 

•• OJ «. 

03 «. eu 

Ou * CO 

"*** 

M » CQ 

-CM «. 
CO * »-H 

n 3t ro 

» .-H «. 

a. - co 
m co -• 

* co •» 

£0 H Q, 
.—I ■» I— t 
MJ » 

*• ro 03 
CO - V 
*-t CO CM 

»CM «. 



CO 



u o o 

<-t i-l H 

A3 F 



ffi 2 

CM f^ 00 » 

•» •> -co 
a. co o-i ^ 

HOn «• 

03 » ffl h 

ro 3c ro - 

•. m » co 

a. «• a. <n 

«*> co •-« » 
j » — i » 3j 

•-• CO - CO --• 
(J » fM ..CO 

»r» co <n «■ 

^ •-( r-t i-4 ^ 

#"* to % % r— * 
» t-t * t-H » 

co — • F <-n co 

o »• •• »m 

<-• CO CO CD » 
»CM O (N ^ 

5 - •-* «. vo 

N H » t-l » 

-— < 2 ^ co 

CO "» I 1 "» *-• 
*-H fl3 * CQ * 

» «. r» * i-i 

* •-< » M «• 
CM r-t J l-H CO 

«. ». r-t « r~- 

co m » 03 * i 

h m uj m j i 

»H (B rt n 

■ »»*»< 

O H J H CO • 

—I oo m r- t 

«. •. % «. «. • 

co ffi co oo 2 



•»co 

CO «. 

o-* 

f-l » 

»co 
co o\ 
a> - 

-X 

Ou —t 

CM «. 

"CO 

03 rsi 

CM «. 

a. in 
cm •> 

"CO 

co«* 

CM - 

03 •-< 
O « 
•"-•CO 
«.<N 
I-l * 

ffi - 

CM CO 
..CM 

»-l « 

-"» 

ffi » 
CM CO 

»o 



to 

CM 



»-« to 
u u - 

i-t rt (J 



CO 

r~ 



•J ffi CO 

HNrt 



CO 
CM 



CO 



to 
in 



CO 
CM 



CO 



CO 
CM 



CO 



O ►-! m 2 



^-l 03 ^) CM CM .-• i-t 



*-* ffi h U) • 



•-• »-l HH H Nmrl f-H r-( 



arcoto 



to to 



CO t-> 



. "CM 

m 3: - 

CO •-! QQ 



CO *- 3E 
VO CM r-l 



CO 
CM 

Ml 

CO 



CM CM •. 



to 
r- 



CM CO 

to • 

CO CO 



. ro 



rH ID 

U »-» CO 
i-t ^H CM 

% % « 

moo 



"3: 

CO " 
^C0 J 



-HCM3: u 

» »CD i— I 



m j <j\ 

. ro . 

ffi "ffi 

VO CO CO 



3: a. 3: a. co 



CO CO 



CO CL. " • 

o into 3: 

— ( .i-t CM 
«C0 " - 

vocococomcoffi3:36in3:co 

HHHHVCHOON •— i i— I CM i— I 



"3: ffi 

a, i-h on 
i— i . » 

"CO •-• 

CO *-• CM 

ro * * 

"3C ffi 
as F CM 
in » - 

" co a. 
a. — i •-• 
r- •-* " 

* "CO 
»— « 3» •— i 
•— t •— i » 

" " CO 

m to «n 

CM 00 ",_] 

. "ffi i^ 
t-i 3» in » 

— « CM »(J 

. . 0m i— * 

ffi CO c- » 

r- cm » 3; 

" " CO — • 

co 3: oo " 
m i-i •-( co 
» «. » CM 
a. co 0u " 
<r> o> r- 3t 



ffi ffi 

CM »H 



f-l CM 

ffi CO 

r> cm 

H JO 

co i-i tn 

Ik % to 

ffi o •-« 

CM i-l CM 

to to to 

a, s a. 

CM ^1 CM 

to to to 
CO CO ffi 
CO CM CM 

. . . 

a. 3: a. 

VC ^ CO 

. . . 

CO CO CO 
CO CO CM 

a, 3: cu 

m co r^ 

to to to 
CO CO CO 
VD O VO 

a. "O. 

co 3» VO 
^ CO ^ 



iJ *-> CO 

^ * * CO 

o to 3: " 

i-l CO i-l CO 

» » »<M 

3: ffi to " 

i-l ^ CM OQ 

to to to *(F 

tO •-« 36 " 

VO CM i-l l-l 

- » » CM 

3: Q. co " 

CM CM ■«»• Q, 
» » » CM 

co m 3s " 

CM CO CO CO 

•» ^ fc ^r 
3: o- co " 

i-l CO ^ O, 
«. » CO VO 

CO CO " " 

voi j co 

2i-i"" 

N in w m 

» « i— i r- 

CO Q. " " 

OOVJQ. 
CO ^ co o\ 

"CO " " 
3: m co >h 
cm «.—4 in 

. cu " " 
co m 3: a. 

r-\ »H CO CM 



3: to to 

•-4 i-l »H 

to to to 

co ffi 3 
cm in .-I 

to to to 

3E »-i to 

r-l >-\ CM 

to to to 

co a. 3: 
*»■ cm m 

to to to 

3: ffi co 

V i-l r-l 

to «. CM 
CO l-H " 

VOH J 
» » i-l 

3: ffi 



"J " 

o -* to 

i—l » i-l 

"O " 

"3: " 

ffi *-i o 

CM »i-l 
"CO » 

I-l l-H h-l 

•-I » CM 

CO CM (O 

vo " i-i 

"CO " 



a s 

to co 

in ^ , 

m » 

* 2 



co 

CM 

36 

•-I 

CO 



CO 
VO 



CO 

» » vo 
CO 0U " 

co cm 3: 

CM "i-l 
. 03 " 

3: m co -3 

CO » i-l i— I 



"2 J 

CO — I ffi 

CO «. VO 

"CO " 

ffi CO I-l 

in i-i i-i 

to to to 

ajuij 

(NNhh 



O ffi 

i-l ^H 

CO i-l 



CO 

to -« 

CM " 

1 F 

2 

m co 

«. CM 
co 

-« 2 

CM r-l 

2 to 

-1 CM 

» i-l 
CO 

2 F 

i-l <J\ 



CO 

2 

«-H 

co 

i-H 

2 



CO 
CM 



CO 
CM 



1 CM 



10 

2 
in 

co 

l-H 

to 

2 



CO 

vo 



o 



*** CO 



CO CM —l i-H 



2 ffi to 2 

CM 00 — I —I 

COHj CO 
HHlNPl 



CO 



CO 



co co m * oo co ffi 
«.^h »Fmnoo 

Cu " Ou to to to to 

vo 3 o> to m j h 
» in » co i—i i— i i— i 



2 ffi (O 2 

CO i-H CO »-H 



co i-h 2 to 

CO «-H CO CO 



•-• CO ffi o 
cm r~ in i-h 

«.CM to to 

ffi "Q. 2 

CM » —i i-H 

^CM «. » 

l-H " l-H CO 

r~ co r~ co 

CM CM CO » 

" " "2 

co 2 ffi — ' 

VO i-H «-H to 

" " "10 

l-H CO »-• 00 



CM 



co 
oo 



ffi 

CO 



ffi 



< < < 

E- (- H 

< < < 

a a a 

O H o 

vo vo r- 

in in in 



< < < < < 
E- E- t- H 6-. 

< < < < < 
Q Q Q Q Q 

■-H O i-H O i-H 

r~ oo oo vr> c?^ 

m in m in m 



<< < 

HE- E- 

<< < 

act q 

OH (M 
OO o 
vovo vo 



00 " 00 " 

V 2 CM CO 

■-H vc i-h m 

< < < < 
E- E- Eh H 

< < < < 

Q Q Q Q 

O >-t O i-H 

i-H i-H CM CM 

VO VO VO VO 



CO l-H 

«-h m j 

" "i-H 

ffi ffi " 

fl J iH(J 



o co 2 



ffi ffi 

CO CO 



r» Cr. 

ffi ffi 

O o 

H JH 

» I— I * 
CO "CO 
CM (J CM 



o 



ffi 



to 

.-H 
CM 

CO 

^" 

to 

2 



CO 
VO 



CO 

in 

i 

CO 

o 



o 



O " 

~* 2 

"CO 

2 " 

co co 

••H 
CO " 

^2 

»»-H 

CM CO 
"CM 

CO " 

CM S 

"CO 

CM CO 

"CO 

CO CO 

vo " 

CM S 

"«» 

oo co 

"•-I 

CO cm 

CO " 
"O 

2^ 

vo - 

"Ct, 

to •-• 

•-H * 
"CO 

2-" 

i-H k 

"ffi 

CO o 



^HCM 

cmS 
to 2 



to 
o> 

m 

to 
o 

•-H 

to 

ffi 



o 

•-H 

to 

2 



CO 



o 



o 



o 



•-H i-H i-H 3 



2 to 

CO i-H 

co" 2' 

CM —I 

2* co 

co r~- 

«.m 

to " 

r" o 
in <-i 

O ou 

H CM 

to. •• 

Q. CO 

i-H i-H 

CO l-H 



ffi CO 
r-l VO 



Q. 
CM 



vo 
ffi 

to 
l-H 
CM 

•to 

o. 



CO 

m 



2 

m j s 

"»-H V 

CO " " 

v o co 

»i-4 V 

vo 2 " 

"O x 

CO CM CM 



O -* 



ffi 
CM 

a. 

CM 



to r» 
a. 

ON 

" ffi 
oo co 

CO •. 



I-H »-l i-H 0U 



"Ou 
Q, CO 
C\ " 

■to 



O co 1-1 



-1 2 o iJ 

^■HOOH 

to to to to 

a, co ffi o 
co «* r" i-i 



cm a 

i-H »-H 

" J " 

CO i-h 00 

in "f- 

* o "«-J 

H H MH 
ON " 1— I " 

co x in (j 



CO 



ffi 



CM CO CO u ffi to ffi 

H MHHr- H(0 

<<<<<<< 

E- E- E- E- E- E- E- 

<<<<<<< 

a a a a a a a 

O »-l O i-H O »-H O 

co co *r ^ in m vo 
vo vo vo vo vo vo vc 



2 m O 2 

i-h 00 •— I CM 

< < < < 
E- E- E- E- 

< < < < 

a a a a 

HOHN 

voc- r- r- 
vo vo vo vo 



m 2 co 2 
00 cm r- i-h 

< < < < 
E- E- E- E- 

< < < < 

a a a q 

O i-H O i-H 

00 ao <y» o» 
vo vo vo vo 



ffi 2 ffi to 

r^ —a oc v 

< < < < 
E- E- H E- 

< < < < 

a a q a 

O i-H O i-H 

O O i-H i-H 

r» r> r^ r^ 



m 2 a. 2 

^ HOlH 

< < < < 

H E- E- E- 

< < < < 

a a a a 

O •— I O *-i 
CM CM CO CO 

r* r- r- r^ 



o * in 

.CM to< 

a. " a. " 
o to o 2 

i-H VO i-H CM 

< < < < 

E- E- E- E- 

< < < < 

ct a a ct 

O »-H O •-> 

r~ r- r- r^ 



co a, 

o CM 



l-H vo 

o\ cm 

"Q. 

a o 

r-. r-l 



co «. 

" cu 

a. t 

on i-h 



•-H i-t O 



CU J " 

CO *-\ to 
to "in 

l-H O " 

CO r-H CL 

* "CO 

2^ 

CO i-H " 
. "ffi 

a. to co 

CO CM CM 

to to to 

i-i2'-' 

CM i-H CM 



CO CO 

"in o 

f_) " t-i 

i-H U " 
"•-H (J 



"CM l-H 
00 "CO 
CM CO " 

.CM OQ 
Ou .i-H 
•-H 0u " 

.i-H l-H 
l-H ..CM 

CO l-H to 

•"-1 a, 

Ou " VO 

i-H 0U i-H 

.in to 

l-H .CO 
CO I-l CO 

»•— I r-i 

Cu . . 
OO.Q, 
H«»fM 
»i-H . 
CO "ffi 
CM CO CM 

-r^ —t 
a " " 
r- ou i-h 

HflOH 
" . ^H 

00 CO " 
CM O 0U 
CM CM V 



a. a. " 

HMJ 



o 

-I J 

. i-H 

Ml * 

l-H 5»- (J 

. .i-H 

o to " 

j 2 * * 

•J i-H CM 3 CO 

i-h j . . in in 

" i-H cj co " o 

CJ " i-H 00 CO " 

i-H CJ " i-l 00 2 

" r-t 3C . »-H V 

3: » vo 3: . " 
co j .co u to 

" VO CO " i-h o 

co " 00 co "Cm 

in (o h 00 m " 
•-h •» " i-h r*- o 

.i-H "J to . »H 

2 "CO U CL, " 

CO 3f . r-i *T l-H 
" CO CO " "CO 

co " vo i-h m " 
r-t co •-• r^ in cu 

•-H CO ... *—i 
>H CJ 0U l-H " 

Cj »Hin v h 

•HI O " " " CM 

" i-H l-H 00 ffi " 

1-1 " r» cr. o a> 

VO KH «H HPO 

. r~ Cu . . " 
Cu . co Cu Cu ffi 

in cu •-• 00 r- in 

1— I CO " . . " 

»H CO CO H H 

CO . V CO CO o 

•HI CO " «HI " •"• 

•hi r~ oq "ffi " 

" " VT> »H CM 0u 
ffi ffi " CM 1-1 O 

*r co cu . .i—i 
i-h i-h r~ cu cu " 

• « .vo m h 

H H CO " " ""> 

CO OS V ih CO " 

HHHINVffl 



to 
r- 

co 



CO 

r- 



co 

CO 
CM 

*to 

o 



ft ft 



cu 

VO 



to 

H 
CM 

. 

o 

H 00 

IH CU 

CO CO 



CO 
CM 

•» 

2 

CO 

to 

CO 
CM 
CM 



l-H CM 



CO 
CO 
CM 



a 

CM 



CO 



cu 

CO 



co 

CO 
CM 

h 

a 
00 



►H O 



CQ IH 

CO CM 

. . 

CU cu 

v r- 

•* •. 

03 *-* 

m ID 

•* •* 

•H Cu 

O VO 



ffi 

VO 

. 

Ou 

co 

to 

CO 

CM 

•* 

CU 
CM 



m 
a 

in 



CM 

•to 

ffi 



CM IH IH 

•-H o J in 



co 

CM 



CO 
CO 
CM 

•to 

o 



CU 

o 



cu 

•« 

CO 

CO 
CM 



in 



cu 
co 



CO 
CM 



CU 
CM 



CO 



o 



J " i-l i-H 

H tj H . 

. »"H . CJ 

O "O - 1 



2 

CO 



-_) U 



CO —i -i 

•-H . . 

CO cj O 

to i-l i-l 

2 " " 

"> 2 2 

» m «<r 

to » . 

•v co co 

NNH 

to CO CO 

O " " 
-"2 2 

» co xr 

CU to to 

CM CO CO 

to CO CO 

ih CM CM 

r- to to 
toO o 

CU i-H --I 
«T . . 

" Ou Ou 

m r^ 00 

» 0Q 00 

i-h r- cm 



? *3E 

CM CO CO 

to vo •• 
CO CO CO 
V to CO 

co 2 " 
"-H 3 

2 "*■ 

— 1 CO " 

"CM CO 

CO CM V 

r-l to CO 

"O " 

to flu . 
CO CO CO 
co .O 
CM KH CM 

.in . 
O toCJ 

•H Ou i-H 

to i-H to 
OU » HH 

co co v 



CM cu cu 

to ir in 

cu •— 1 « 

CM to 1-4 



2 
in 

•* 

to 

i-H 

2 -• 

•H » 

" o 

co J — 1 

CTl I— I to 

•H to^ 

to (J l-H 

2 ^ " 

— • "CO 

"? ° 

tO CM H 
VO " " 

— 1 co 2 

to CO vo 
2 ** " 

F toyj J 

to 3 CM rH 

co in i-h to 

r- » •■ QJ 

•h co o "< 

^ K0 r-1 to 

(J r-t to J 
r-t * 4-4 VO toJ toJ 
to CJ VO to i-H i-H 
l-H •—• » (|J to to 

CO «fflH[J(J 



Ou CO CU 

co m m 



cu cu co 

CO V »T 



co r» »h 
<< < 

E- E- E- 
<<< 
CtCtCt 

O O r^ 
VO f^ C>- 

1*" r~ r~ 



IH 1-1 co 
Oh CO CO 

< < < 

E- E- E- 
<<< 
CtCtCt 

O O -H 
00 CTi CM 

r- r» r-to 



to 2 co •-! 

CO CM CM i-H 

< < < < 

hhr-r- 

< < < < 

a a a a 

O ^H O «-H 
O O >H i-H 

OO 00 00 00 



CO CO >H J 

in in cm i-h 

< < < < 
E- E- E- E- 

< < < < 

act a ct 

O O O -H 

CM CO V V 
00 00 00 00 



a o< m a m h 

CO V CM CO CO . 

to » to to to yj 

ih IH CU CO CO o 

ao cm r» m vo cm 

<<<<<< 
H E- E- E- E- E- 
<<<<<< 

a a a a a a 

000000 
in vo r- 00 cm o 

00 00 00 00 00 CM 



ffl 

in 

•to 

CO 

r-t U 
CM —I 

< < 

E- E- 

< < 

a a 

O H 
i-H i-H 
CM CM 



CU O 
CO .-H 



CU _) 

CM l-H 



CU -J 

in 1-1 



ffi l-H ou 
cm 00 in 



•h 03 vo 
m I** —t 

r-t to to 
.M CO 

CU O CM 

in i-h « 

to to 4H 

ih cu in 

•H CO i-H 

to to to 

CU i-h CU 
CO CM CO 



00 V to 

VO « CU 

" ffl CM 

H •» H 

CM CM . 

. . CD 

CU ih V 

I*"- CM » 

to * |_| 

►h CD ""»• 

VO r-t to 

r-t to 0Q 

to ih r^ 

CO CM i-H 

CO to to 

•H CO IH 

to CM T 



0Q *T » . 

in * i-i cj 

H CO VO H 

to CM r—t to 

CU to to oQ 

«J* IH 00 co 

to CO V to 



FF 



CO CO 

co ao 



co 2 

CO CO 

< < 

E- E- 

< < 
a a 

O l-H 

CM CM 
CM CM 



CO O CO o 



< < 

E- E- 

< < 
ct a 

O —1 

CO CO 

CM CM 



< < 

E- E- 

< < 
ao 

O^H 
CM CM 



CO CU ih 
CO VO CM 

< < < 

E- E- E- 

< < < 
q a a 

000 

invor- 

CM CM CM 



CM IH 00 

HHVO 

< < < 
E- E- Eh 

< < < 

a a a 
000 

ao cm o 

CM CM O 

HH(N 



■>. .i-i CM 

. 00 00 to 

00 O •• 00 

m i-h oq co 
i-h » m » 

to IH to |-H 

H HM VO 

CM i-H in CM 

to to to to 

CO ffi CD ffi 
<T CO CO VO 
CM CM CM CO 

< < < < 

E- E- E- E- 

< < < < 

a a a a 
0000 

i-H CM CO V 
OOOO 
CM CM CM CM 



l-H CJ O 



ffi ffi 

c~ m 



in vo 

CM CM 

ffi ffi 
ao CM co 

CO CO H 

< < < 

E- E- E- 

< < < 

a Ct a 

000 
m vo r~ q 
o o o 25 

CM CM CM CO 



UP 






YOUR OWN TRS-80 SYSTEM AT TREMENDOUS SAVINGS 




Level II— 4k 
Level II— 16k 
Expansion Interface 
Mini Disk 0r1v« 
Centronics 779 Printer 
Centronics 101 Printer 
Anadex DP-8000 Printer 
Memory Kit -(16K) * mm installation 
Verbatim Diskettes ea 

3 
10 

C-10 Cassettes 5 

25 
Paper (9 1 > x 1 1 fanfold 
3500 sheets) 



REG. 


OUR 


PRICE 


PMCE 


$619.00 


$575.70 


$849.00 


$789.60 


$299.00 


$278.00 


$495 00 


$385 00 


$1599 00 


$1175.00 


$1595 00 


$1400 00 


$1295 00 


$ 99500 


$ 149 00 


$ 98.00 


$ 595 


$ 4 95 


$ 17 89 


$ 1200 


$ 59 00 


$ 37 00 


$ 4 95 


S 450 


$ 24 75 


$ 1875 



$ 3500 $ 2995 



NOW OPEN 

VR DATA'S Computer 
Repair Center 



Visit our new Store at 20th & Walnut, Phila., PA 



$3626.00 



TRS— 80 MODEL II 

• 64K RAM 

• V. MEG DISK 
VR Data's 1st Drive 

ADDITIONAL DISK DRIVE (1ST) 
ADDITIONAL DISK DRIVE (2ND + 3RD) 

BUSINESS SOFTWARE 

Model II 

Payroll 

General LEDGER 
(inc. AP, AR, etc.) 
DATA BASE 
MANAGEMENT 

SYSTEM $249 00 

Documentation only (each Package) $5.00 

GENERAL SOFTWARE 

NEW DOS+ 



$199.00 
$199.00 



$ tM.OO 

$1069 50 
$ 558 00 



Model I 

$99.00 
$149.00 



$149.00 



Electric Pencil 



35 tk. 40 tk. 

$99.00 $110.00 

Tape Disk 

$99.00 $150.00 
Upper/Lower Case Conversion 

Tape $19.95 Disk $24.95 
Diagnostics Tape/Disk $34.55 

Household Inventory Disk $19.95 

Loan Amortization Schedule $19.95 



APRIL SPECIAL 

Good Until 4 30 80 



Centronics 730 
Centronics 737 



$695.00 
$950.00 



NEW SOFTWARE 

TPM - Model I & II 

CPM Compatible 

Z80 Operating System 

10 Meg Removable Disk for 

Mod II 

Send for free catalog 



There sre new developments every day- 
writs or cell for the latest information. 



777 Henderwon Boulevard /V-6 
Folcroft Industrial Park 
FolcrvftPA 19032 

(215)461-5300 ^ 65 




l^ 




TOLL FREE 

1(800) 345-8102 Orders only! 



FOREIGN and DOMESTIC DISTRIBUTORSHIPS AVAILABLE 



^Reader Service — see page 257 



Microcomputing, April 1980 153 



If you enjoy driving, you're going to get a 
COMPUCRUISE. Once you see what it can 
do, you just won't be able to live without it. 



IB:SS 



® 



a 



This gadget fits into most dashboards ... no strain even in a tiny sports car like the Mazda RX-7 . . . and 
once you have it, every trip is like flying a 747. The darned thing tells you the time, how fast you're going, how 
far you've been on this trip or since the last regassing, how many miles per gallon you're getting, either at the 
instant or the average on the trip ... or gallons per hour at the moment or for the trip temperature outside 
. . . inside (or coolant temperature, if you prefer) ... oh, it has an elapsed time for the trip, a stop watch, lap 
time, an alarm . . . how much further for your trip, how many gallons more the trip will take, how much longer 
for the trip at your present average speed . . . yes, it gives you your average speed for the trip. You prefer it in 
metric, no strain . . . liters remaining, etc. Did we mention that it also has cruise control either at a speed set 
on the control board or at whatever speed you are traveling? The Compucruise will keep you busy and enter- 
tained during any trip . . . telling you more than you will ever want to know. 

The Compucruise is not difficult to install . . . though it does connect to everything except the cigarette 
lighter. Until you've tried computerized travel, you haven't found out how much fun driving can be. It will work 
on any car not having fuel injection . . . and there is a front-wheel drive accessory gadget available for only 
$4.40-#P001 (regularly $5.50). 

The price for the Compucruise is regularly $199.95 ... and a bargain at that price. Well sell you one of these 
fantastic gadgets for $1 59.95 with cruise control (Model 44-#P002), and $1 27.95 without (Model 41 -#P003).Send 
money . . . and start having fun! 



MAIL ORDER MICROS 



^53 



Dept AKB • PO Box 427 • Marlboro NH 03455 
Phone: [603] 924-3041 



QQQ 



Steal Stopper 



Ever had your car stolen? 

The first reaction is one of disbelief . . . 

. . . you know it was right there* 

What you want is a modern combination lock on your ignition . 
The Steal Stopper. It's easy to install and almost impossible to 
defeat. You can by-pass it, if you want, for parking attendants or a 
car wash. Other than that, you set up a secret four digit code and 
only will then be able to start the car . . . even if you leave the keys 
in the ignition. 

This protection retails for $50 ... but we have a special for you at 
$39.95. Don't procrastinate. Order #P004. 

Note: This product works best on Detroit cars. Mazda RX7 
owners must order additional module, #P008, which costs $8. The 
Steal Stopper can be modified for Mercedes, Porsche, Ferrari, or 
other high performance European cars by returning unit to 
manufacturer with $3. They promise quick modification and return 



PROCESSOR TECH 

HARDWARE 

Processor Tech Video 
Display Module— Memory 
mapped video for S-100, ex- 
cellent condition. 
#D009-$144 each. 



PROCESSOR TECH 

SOFTWARE 

2 Processor Tech Extended 
• Disk BASIC— This is full 
disk BASIC on 8" disk for 
HELIOS II disk controllers 
with PTDOS and greater 
than 16K. #D015S-$70 each. 

1 Extended Disk BASIC on 
it cassette— This is the same 
as previously mentioned for 
the Disk BASIC from Pro- 
cessor Tech. Needs more 
than 16K. #D017S-$62. 

6 Extended Cassette 

BASIC— This includes all 
file operations, advanced 
functions for doing more 
than playing games; for 
SOLOS, CUTTER, and CON- 
SOL Monitors. #D016-$22 
each. 
17 BASIC 5 from Processor 
Tech— This is a simple 
BASIC for a SOLOS, CUT- 
TER, or CONSOL Monitor 
and8Kof RAM. #D013- 
$11.60 each. 

4 Processor Tech GAMEPAC- 
for above BASIC— Various 
simple games. #D014-$10 .00 
each 



ASTROLOGICAL 

COMPUTER AND 

4-FUNCTION 

CALCULATOR 

ASTRO® 

Gives you a fascinating look into 
your personality traits. Compares 
16 different combinations. 
Matches your astrological influ- 
ences to any day— past, present, 
or future. Gives in-depth analysis 
of your compatibility with your 
boss, your spouse, your lover, 
your child. Regularly $49.95. 
#P0020— $39 95 SPECIAL PRICE. 



Processor tech sol 

4 SOL Computers— 8K RAM 
Monitor, S-100, excellent 
condition. #D004-$980 each. 
17 TREK-80 on cassette for 
SOL— This is one of the 
best real time space games 
available today; needs 8K. 
#0005-$ 11 each. 
7 Electric Pencil on cassette 
for SOL— Word processor, 
needs 8K. #D006-$80 each. 



MICRO TERM 

ACT TERMINAL 

MicroTerm ACT Terminal 
—Need a video monitor, up 
to 600 Baud, good condi- 
tion. #S035S-$190 each. 
SPECIAL PRICE 



COMPUCOLOR 

HARDWARE 

Compucolor Computer 8001 
(use as computer or 75 
MHZ Color Monitor)— 8K 
RAM, BASIC and DOS in 
ROM, good condition. 
#S025S-$ 1400 each. 
SPECIAL PRICE. 
Compucolor MiniFloppy 
— 5V4 inch, good condition. 
#S026S-$500 each. SPECIAL 
PRICE. 

Compucolor 8K RAM card 
—Static RAM, good condi- 
tion. #S027S-$190 each. 
SPECIAL PRICE. 
Compucolor Floppy Tape 
Drive— Uses eight-track car- 
tridges, good condition. 
#S028S-$60 each. SPECIAL 
PRICE. 



PANASONIC 

TAPE DECKS 

Panasonic RS261 US Stereo 
Cassette Decks— with auto-stop,| 
record level adjust, VU meters, 
used condition; all have had 
heads replaced and aligned. 
#T001-$50. 

Panasonic RS260 US Stereo 
Cassette Decks— same as above J 
but also has bias switch for 
chrome tapes. #T002-$50. 



BRAND NEW* TRS-80 LEVEL II 16K 

and accessories at FANTASTIC SAVINGS 

LEVEL II 16K COMPLETE $730 #TRS 001 

16K EXPANSION UNIT $425 #TRS-002 

32K EXPANSION UNIT $525 #TRS-003 

DISK DRIVES $425 each (Specify which drive you want) #TRS-004 

FRICTION MODEL PRINTER $889 #TRS-005 

TRACK MODEL PRINTER $1350 #TRS-006 

TERMS: Shipment normally within one week of receipt of your order (with 
cashier's check, money order, or credit card) for microcomputer and three 
weeks for accessories (checks take two weeks extra to clear bank). ADD $2.50 
PER ITEM for HANDLING. Everything will be sent to you with UPS freight 
charges COLLECT. 

'NOT UPGRADED USED OR RECONDITIONED LEVEL I's WITH OLD 
KEYBOARDS BUT BRAND SPANKING NEW TRS-80's IN FACTORY CAR- 
TONS WITH FULL FACTORY WARRANTY! COMPARE PRICES AND 
QUALITY AND ORDER FROM MOM's. 



MUSIC 

Software Technology S-100 
Music system on cassette 
—This is an S-100 Music 
system: contains the proper 
hardware. #D0058-$ 19.60 
each. 



ALS-80 

14 ALS-80 Operating 

system— This system re- 
quires 12K RAM from D000 
to FFFF; as well as either 
the SOLOS or CUTTER 
monitor; it includes an As- 
sembler/Editor. #D018- 
$11.60 each. 



92 



NORTH STAR 

HARDWARE 

North Star Floating Point 
BASIC card— With special 
BASIC, new. #D0059S-$270. 
North Star Floating Point 
BASIC card (kit)— With 
special BASIC, S-100, new. 
#D0060S-$190. 
North Star Floppy Disk Con- 
troller card— Single density, 
S-100, new. #D0061-$248. 
S-100 Edge Connec- 
tor — Gold Contacts, new. 
#D050-$2 each. 
Extender Card for S-100 
(kit)— New. #D051S-$20 
each. 



COMPUTER TRAINER 

IASIS COMPUTER IN A 
BOOK— 8080 Microcomput- 
er, comes built into training 
manual, excellent condi- 
tion. #D020S-$225 



ICOM 

DISK DRIVE 

ACCESSORIES 

ICOM Dual Disk Drive- 
Single density, 512K 
storage, S-100 controller, in- 
cludes CP/M ROM. good 
condition. #S030S-$1400. 
SPECIAL PRICE 
ICOM PROM and 8" Disk 
for SOL FDOS— This disk 
requires an ICOM S-100 
Disk Controller tns\a\\ed. m 
an S-100. #D031S-$150. 
ICOM CP/M on 8" Disk for 
S-100— Requires an ICOM 
S-100 controller in an S-100 
cabinet, #D032S-$90. 
ICOM FDOS II on 8" Disk 
for S-100— Requires an 
ICOM S-100 controller in an 
S100 cabinet, no documen- 
tation. #D033S-$170 each. 
ICOM FDOS II on 5 V," Disk 
for S-100— Requires an 
ICOM S-100 Mini-Floppy 
Controller in an S-100 
cabinet. #D034S-$155. 



154 Microcomputing, April 1980 



SHUGART 

MINIDISK DRIVES 

1 Shugart MiniDisk Drives 
—No cabinet, good condi- 
tion. #S037-$300 each. 
SPECIAL PRICE. 



IMSAI HARDWARE 

1 IMSAI 8800 Mainframe 
I* S-100— Excellent condition. 
#D0087S-$800. 
1 IMSAI 80/15 S-100 Develop 

* ment System— Partially 
assembled, needs a CPU 
card, excellent condition. 
#S0088S-$500 as is. 
SPECIAL PRICE 

1 IMSAI 80/1 5 S 1 00 Develop 

* ment System— Kit, main 
frame cover missing, needs 
a CPU card, excellent con- 
dition. #S0089S-$450 as is. 
SPECIAL PRICE 

1 IMSAI 4K RAM card— S 100, 
good condition. #D0055- 
$89.60 



IMSAI 

SERIAL I/O CARDS 

2 IMSAI Serial I/O card 2-2 
(kit)— Two serial ports, full 
RS-232 control, S-100, new. 
#D0091-$124. 

2 IMSAI Serial I/O card 2-1 
ir (kit)— One serial port, full 
control RS-232 control, 
S-100, new. #D0092S-$90. 



IMSAI 

PARALLEL I/O CARDS 

1 IMSAI Parallel I/O card 

it 4-4 — Four parallel ports, 
S-100. excellent condition. 
#D0093S-$176. 
1 IMSAI Parallel I/O card 4-1 

it (kit)— One parallel port, 
S-100, new. #D0094S-$65. 



IMSAI SOFTWARE 

2 IMSAI IMDOS V2.02 on 8 

• Disk for S-100— No 

documentation, but this is 
apparently IMSAI's version 
of CP/M for S-100 systems 
with an IMSAI Disk Con- 
troller. #D0056S-$96 each. 
1 TARBELL Cassette Inter 
it face (kit)— Kansas City In- 
terface. Tarbell Phase en- 
coding, S-100. new 
#D0064S-$80. 



Phone: (603} 924-3041 



HEAD ALIGNMENT KIT 

Best cassette recorder tape head 
alignment kit available. Solves 
^loading problems. #K001-only 
$9.95. 

PHONE INTERFACE 

5 Novation Modem 

#3102A— Connects to any 
phone, originate only, good 
condition. #S021-$165 each. 
SPECIAL PRICE 

1 Novation Modem #43— Con 
lit nects to any phone, 

originate only, good condi- 
tion. #S023S-$155. SPECIAL 
PRICE. 



VECTOR GRAPHIC 

S-100 

3 Vector Graphic ROM/RAM 
card— 12K empty ROM 
sockets, 1K RAM, excellent 
condition. #D00 78$ 119.60. 

5 Vector Graphic Analog In- 
terface—Allows hobbyist to 
interface analog experi- 
ments, S-100, new. #D0079- 
$79.20. 

INSTANT SOFTWARE 

HALF PRICE SPECIAL 
CLOSEOUT— ONLY $4 
TRS-80. Level I, Games 

Knights Quest/Robot Chase 4K-J 

#ISI0003. 

Cave Exploring 16K-#ISI0010. 

Doodles & Display 16K-#ISI0030 

Fun Package H6K-#ISI0041. 

TRS-80. Level I, Finance 

Status of Homes 4K-#ISI0012. 

TRS-80. Level II, Hobby 

Model Rocketry Analyzer- 
#ISI0024. 

PET 

Personal Weight Control/Bio- 

rhythms-#ISI0006. 

Digital Clock-#ISI0085. 

TDL ZAPPLE 

3 TDL ZAP 1 K Monitor-Sim 

* pie monitor. #D0073S-$10. 



Inventory 
Clearance 



BOOK CLEARANCE 

UP TO 50% OFF 

Take a Chance with Your Calcula- 
tor (Lithium-publisher) #BK1002 
—was $8.95. now $4.50. 

Chemistry with a Computer (Edu- 
comp-publisher) #BK1010— was 
$9.95. now $5.00. 

Computer Dictionary (Camelot- 
publisher) #BK1018— was $5.95. 
now $3.00. 

FORTRAN Programming (Came- 
lot-publisher) #BK1019 — was 
$7.95. now $4.00. 

FORTRAN Workbook (Camelot- 
publisher) #BK1020— was $4.95. 
now $2.50. 

A Quick Look at BASIC (Camelot- 
publisher) #BK1043— was $4 95. 
now $2.50. 



TDL SOFTWARE-DISK 

1 TDL FDOS & SuperBASIC 

* on 8" Disk— This requires 
an ICOM Disk Controller 
and at least 20K of memory, 
plus a ZAPPLE Monitor in 
an S-100 Cabinet (Altair. IM- 
SAI, etc.). #D0065S-$125 

1 TDL System Software on 

* 5V4" disk— This set of 
system software requires a 
North Star Disk Controller, 
and a TDL Systems Monitor 
Board I, and consists of 
12K BASIC. Relocator/Link- 
ing Loader, Z-80 Editor, and 
Text Processor. #D0066S- 
$170. 

1 TDL System Software on 

* 5V4" disk— This is the same 
as above, but does not re- 
quire the Systems Monitor 
Board I. #D0067S-$190. 

1 TDL System Software on 

* 5V4" disk— Again, as above, 
but requires a HELIOS Disk 
Controller and the TDL 
Systems Monitor Board II 
(not I). #D0068S-$170. 



HONEYWELL 

15 Honeywell ASR-33 Communi- 
cations Consoles with TTY, 
paper tape reader and punch. 
Used, working when removed 
from service. Shipped freight 
collect or you pick up. Weight 
300 lbs. $395. Order #P006. 



MOUNTAIN 
HARDWARE 

7 Mountain Hardware AC 

it Controller— Remote AC out- 
let control, S-100, new. 
#D040S-$90 each. 



BALLY GAMES 

2 Bally VideoCode Cassettes 
* —They consist of two 
games: Speed Math and 
Bingo Math. #D029S-$10 
each. 



HEURISTICS 

SPEECH LAB 

1 Heuristics Speech Lab— 

it S-100, used, fair condition. 
#S042S-$90 as is. SPECIAL 
PRICE 
1 Heuristics Speech Labs— 

S-100. new. #D043-$151 
each. 



MORE 
FROM 



SPECIAL PRICE includes more than 20% 
discount. * indicates extra price reduction 
since last ad 

Quantities are limited, immediate refund if 
ordered item is no longer available. 'Phone 
ai>s>NeTed by machine. Orders taken with 
credit cards. Questions answered by mail. 

TERMS: FOB Marlboro. NH USA. Limited 
stock; everything guaranteed as described; 
you pay postage on returns. PRINT orders 
clearly. Minimum order $10 plus $2.50 ship- 
ping and handling charge in USA only. 
DOUBLE THAT ELSEWHERE. Orders over 
$50 add 5% for shipping in USA; 10% 
elsewhere (we will refund excess). Orders 
shipped UPS or insured mail only. No CODs 
please. Send US funds by check or money 
order. For credit card purchases, add 4%, 
list AE. MC or VISA, number, and expiration 
date. Mail to MOMs, Department AKB, 
PO Box 427, Marlboro NH 03455. 
Condition of Inventory: 
New = original container 
Excellent = new, but not in original 

container 
Good = tested or used in store 



^ Reader Service — see page 257 



Qty 


Catalog # 


Description 


Unit Price 


Total 




















































Delivery: 3 to 6 weeks. Personal chec 
take about 2 weeks to clear ba 
before we ship. 
Enclosed $ 


s £\ 


ft/7M 


Shipping & Handling 

f* rari it Pa rrt / _l A 0/ v 






^■HBaMBBl ■■■ ^ ■« 


V-ircull v^dra ( ■+■ 4/0 ) 

Total 

Exd Da 






Riii af mp wica MAIL ORDER MICROS - 

UMI At MC l VISA D^t AKB • PO Bo. 427 • Moriboro NH 03455 






Phono: [603] 924 3041 

Card no. 


to 




Name 

Address 

City 

Ship: □ UPS 
















State 7 


■p 




□ Insured mai 


Signature 







Microcomputing, April 1980 155 



(( THE ULTIMATE TRS-80 SPEED-UP! 



% 



MAIL ORDER MICROS 

Dept AKB • PO Box 427 • Marlboro NH 03455 
Phone [603] 924 3041 

SPECIAL 10% DISCOUNT 

FROM LIST PRICES 

SCOTT ADAMS ADVENTURES 
FOR TRS-80 • SORCERER • APPLE 



#1 ADVENTURELAND 

YOU'LL WANDER THROUGH AN ENCHANTED 

LAND ENCOUNTERING WILD ANIMALS AND 

MAGICAL BEINGS WHILE YOU TRY TO 

RECOVER LOST TREASURES. 

Order #SA001T for TRS Level II 16K, 

#SA001S for Sorcerer 16K, #SA001A for 

Apple 24K- $13.45 each, on cassette. 

#2 PIRATE ADVENTURE 

SAIL TO TREASURE ISLAND 

AND TRY TO RECOVER LONG JOHN SILVER'S 

LOST TREASURES. 

Order #SA002T for TRS Level II 16K, 
#SA002S for Sorcerer 16K, #SA002A 
for Apple 24K- $13.45 each, on cassette. 

#3 MISSION IMPOSSIBLE ADVENTURE 

SAVE THE WORLD'S FIRST AUTOMATED 
NUCLEAR REACTOR WHEN YOU COMPLETE 

YOUR MISSION. 

Order #SA003T for TRS Level II 16K, 
#SA003S for Sorcerer 16K, #SA003A 
for Apple 24K- $13.45 each, on cassette. 



#4 VOODOO CASTLE 

SAVE COUNT CRISTO FROM THE 

FIENDISH CURSE OR FOREVER BE 

DOOMED -BEWARE THE VOODO MAN 

Order #SA004T for TRS Level II 16K, 

#SA004S for Sorcerer 16K, #SA004A 

for Apple 24K- $13.45 each, on cassette. 



#5 THE COUNT 

LOVE AT FIRST BYTE FROM 
YOUR BIG BRASS BED IN TRANSYLVANIA. 

Order #SA005T for TRS Level II 16K, 
#SA005S for Sorcerer 16K, #SA005A 
for Apple 24K- $13.45 each, on cassette. 

#6 STRANGE ODYSSEY 

YOU'RE MAROONED AT THE GALAXY'S 
EDGE AND DISCOVER RUINS OF AN 
ANCIENT ALIEN CIVILIZATION AND 

TRY TO COPE WITH UNEARTHLY 

TECHNOLOGIES WHILE YOU AMASS 

FABULOUS TREASURES. 

Order #SA006T for TRS Level II 16K, 

#SA006S for Sorcerer 16K, #SA006A 

for Apple 24K- $13.45 each, on cassette. 



#7 MYSTERY FUN HOUSE 

FIND YOUR WAY THROUGH THE 

STRANGEST FUN HOUSE BEFORE THE 

WEIRD PARK CLOSES. 

Order #SA007T for TRS Level II 16K, 

#SA007S for Sorcerer 16K, SA007A 

for Apple 24K- $13.45 each, on cassette. 



#8 PYRAMID OF DOOM 

AN EGYPTIAN TREASURE HUNT 

THROUGH A NEWLY UNCOVERED PYRAMID, 

COMPLETE WITH ANCIENT CURSE. 

Order #SA008T for TRS Level II 16K, 
#SA008S for Sorcerer 16K, #SA008A 
for Apple 24K- $13.45 each, on cassette. 



PLEASE USE COUPON ON PREVIOUS PAGE 



Mumford Micro Systems announces the release of the SK-2: The most versatile clock modification 
for the TRS-80 available. It features three speeds: normal (1.77MHz), 50% faster, or 50% slower; 
selectable at any time without interrupting execution or crashing the program. It may be 
configured by the user to change speed with a toggle switch or on software command. It may be 
tied to the expansion interface and will automatically return to normal speed anytime a disk drive 
is active It even has provisions for adding an LED to indicate when the computer is not at the 
normal speed. It mounts inside the keyboard unit with only 4 necessary connections for the switch 
option (switch not included), and is easily removed if the computer ever needs service. The SK-2 
comes fully assembled with illustrated instructions for implementing the various options and 
complete satisfaction is guaranteed — $24.95 

DUPLICATE SYSTEM TAPES WITH "CLONE" 

This machine language program makes duplicate copies of ANY tape written for Level II. They 
may be SYSTEM tapes (continuous or not) or data lists. It is not necessary to know the file name or 
where it loads in memory, and there is no chance of system co-residency. The file name, entry 
point, and every byte (in ASCII format) are displayed on the video screen. Data may be modified 
before copy is produced. CLONE — $16.95 

RAM TEST FOR LEVEL II 

This machine language program tests memory chips for open or shorted address or data lines as 
well as intermittents. It tests each BIT for validity and each BYTE in the execution of an actual 
instruction as in real program execution. Bad addresses are displayed along with the bad data and 
proper data. One complete test of 48K takes just 14 seconds. Also includes a test for errors 
induced by power line glitches from external equipment. RAMTEST $9.95 

PROGRAM INDEX FOR DISK BASIC 

Assemble an alphabetized index of your entire program library from disk directories. Program 
names and free space are read automatically (need not be typed in) and may be alphabetized by 
disk or program. The list may also be searched for any disk, program, or extension; disks or 
programs added or deleted; and the whole list or any part sent to the printer. Finally, the list itself 
may be stored on disk for future access and update. One drive and 32K required. INDEX $19.95 

EDIT BASIC PROGRAMS WITH ELECTRIC PENCIL 

This program allows disk users to load Basic programs or any other ASCII data file into the disk 
version of Electric Pencil for editing. Now you can edit line numbers, move program segments, 
duplicate program segments, and search for the occurance of any group of characters. 
PENPATCH....$9.95 

SPOOLER FOR PARALLEL PRINTERS 

This program is a full feature print formatting package featuring user defineable line and page 
length (with line feeds inserted between words or after punctuation), screen dump, keyboard 
debounce. and printer pause control. In addition, printing is done from a 4K buffer area so that the 
LPRINT or LLIST command returns control to the user while printing is being done. Ideal for 
Selectric or other slow printers. Allows printing and processing to run concurren 
SPOOLER.... $16.95 



Include 75C postage. California residents add 6% sales tax. 
Complete satisfaction or full refund. 

MUMFORD MICRO SYSTEMS 



BOX 435-C Summerland, California 93067 (805) 969-4557 



r 



"N 



Mumford Micro Systems announces 

INSIDE LEVEL II 

A guide to the effective use 
of your TRS-80 ROM 

By John Blattner, Ph.D. 



INSIDE LEVEL II is a comprehensive guide to the internal operations of the 
Level II Basic software which pinpoints the Level II and DOS command and 
function entry points, giving optimum set ups, calling sequences, and 
execution times for all the mathematical routines. This allows you to 
incorporate the sophisticated routines already resident in your ROM with your 
own machine language programming. 

In addition, a method is described which allows the programmer to pass any 
number or type of variables back and forth between machine language 
subroutines and the Basic calling program. This includes integer, single, and 
double precision variables as well as arrays and strings. Instructions are also 
given for an efficient method of expanding the Level II USR function to allow 1 
different calls. 

In Part II, a detailed scheme is presented for writing a composite program 
structure that uses the most efficient functions of both Basic and machine code 
to create a program format that loads under the SYSTEM command and yet 
executes in both languages. This permits detailed file names and checksum 
verification of loading, and allows you to write Basic programs with the speed 
and efficiency of a compiler. 

Clear examples are given to allow the programmer to implement the material 
presented with a minimum of effort. Some experience with assembly language 
is assumed. In addition, a large body of other information useful to the 
programmer is provided including tape formats, important RAM addresses, 
keyboard format, and sample program listings. It comes spiral bound for 
$14.95, plus tax and postage. 






Include 75« postage. California residents add 6% sales tax. 
Complete satisfaction or full refund. 

MUMFORD MICRO SYSTEMS 

BOX 435-C Summerland, California 93067 (805) 969-4557 



156 Microcomputing, April 1980 



Time at a Glance 
on Your TRS-80 



Dave Rose 
PO Box 20873 
Atlanta GA 30320 



Your computer becomes a digital clock; it never sits idle. 



If you are like most TRS-80 
owners, you find yourself in 
front of your computer for no 
more than a few hours a day at 
most, whether it be for fun, 
business or both. How many 



times have you said to yourself, 
"Wouldn't it be nice if my 
TRS-80 could do something 
really useful during the time I'm 
not using it?" 

Even if you've never asked 
yourself that question and even 
if you already have a digital 
clock (which this article 
describes), this program may 
be of interest to you. You may 
envision some intriguing possi- 
bilities in the ability to "paint" 



20 

30 

35 
40 
45 
50 



Digital Clock program. 

PROGRAM CODED: 

** RII - ROD 10 SHACK TRS-88 ** 
** LEVEL II ONLV, ±6K ** 



- BVTE COUNT: 



8238 



PROGRAM EXPANSION, VARIATION 
POSSIBILITIES, AND ANV OTHER 
QUESTIONS SHOULD BE REFFERED 
TO THE PROGRAM HARDCOPV 
DOCUMENTATION. . . 



84 ' - CALIBRATION INSTRUCTIONS 
FOLLOW THIS LISTING . . . 

90 ' ##############«*################ 
######## WHAT TO DO ####«##* 
#### INSTEAD OF HITTING OFF #*«# 
#### DIGITAL CLOCK PROGRAM #*## 
######## BV DAVE ROSE ######## 
#### BOX 20873, ATLANTA, GA #### 

100 #*######### 3O320 ##«######*#### 

110 " THIS PROGRAM PRODUCES A DIGITAL 
CLOCK WITH 3- INCH-HIGH NUMBERS. 
EACH NUMBER IS ACTUALLV A "WORD" 
MADE UP OF 188 GRAPHICS AND CON- 
TROL CHARACTERS. 

120 THE PROGRAM LISTING HAS BEEN 

LIBERALLV SPRINKLED WITH "REM" 
STATEMENTS TO AID VOU IN UNDER- 
STANDING HOW THIS WAS ACCOMP- 
LISHED FEEL FREE TO DELETE 
THESE STATEMENTS IF VOUR OWN 

130 ' MEMORV NEEDS SO DICTATE. . . . 

IT TAKES A LONG TIME TO "BUILD" 
THOSE GRAPHICS WORDS, SO WE DO 
THAT BEFORE WE SET THE CLOCK. . . 
260 CLS: PRINT* 399, 

"THIS WILL ONLV TAKE 9. 87 SECONDS" 



three-inch-high numbers on 
your Level II, 16K TRS-80 
screen. That's exactly what this 
program does: it produces 
graphics for a digital clock that 
can be seen clearly from as far 
away as 100 yards! In addition 
to the clock routine, the pro- 
gram can also transform your 
TRS-80 into a giant-number 
digital counter. 

The possibilities for shop 
and office adaptation here are 
obvious, especially in situa- 
tions where many people can 
see your computer screen. 
When you're through comput- 
ing for the day, simply load and 
run this program instead of 
turning the unit off. Voila! Now, 
instead of just sitting there ab- 
sorbing skeptical thoughts 
from the office (or home) staff, 
your TRS-80 is suddenly pro- 
viding a sure-to-be-appreciated 
service! 

I use mine at home, where 
the computer is in the bedroom. 
With the brightness turned 
down, I have a combination 
night-light/clock, which is 
readable even to my sleepy 
eyes! And the nice thing is that 
my TRS-80 is now doing some- 
thing useful whenever I'm not 
playing with it. 

Once you understand the 
fairly simple methodology 
utilized in the program, there is 
no reason why you can't create 
similar programs of your own 
. . . programs that could pro- 
duce letters, signs or any other 
figures on your TRS-80 screen, 
in any size you desire, and for 
any application. 

The secret lies in the creation 
of "words" made up not of let- 
ters, but graphics symbols. In- 
stead of consisting of the usual 



ASCII codes, these words are 
constructed (using the CHR$ 
and STRINGS functions) from 
graphics codes and certain 
control codes. A look at the pro- 
gram listing shows how this is 
done. 

The Program 

Steps 0-250 are your usual 
REM-type statements. As noted 
in the listing, I used many 
REM statements to help clarify 
the methods used (after all, 
most of the fun of any new pro- 
gram is what you learn from it!). 
However, you should delete 
these lines if you need the 
memory space. 

Each of the numbers to be 
constructed consists of 188 
graphics and control charac- 
ters. Creating a string of this 
length using CHR$ and 
STRINGS statements is no sim- 
ple task. You have to contend 
with either pages and pages of 
data statements or pages and 
pages of CHR$ statements. 
However, salvation in this case 
rests in one fact: most numbers 
are similar in makeup. For in- 
stance, the rounded bottom of 
the number is also the bottom 
portion of the numbers 9, 6, 3, 5 
and 8! So once several small 
building-block-type words are 
established, they can be con- 
catenated into the 188- 
character monsters that are the 
three-inch-high numbers. 

This obviously needs to be 
done before the clock mecha- 
nism is activated, because it 
does take up a lot of time and 
we don't want to goof up the 
timing routine. That's the 
reason for step 260. 

Step 1900 has a dual pur- 
pose. It clears 3150 bytes of 



Microcomputing, April 1980 157 










1900 CLEAR 3156 : DEFSTR B, C, P 

1910 DIM B<12), PC15) 

1920 ' WE BEGIN BV FORMING SMALL 

GRAPHICS "WORDS" WHICH CAN BE 
COMBINED TO FORM THE NUMBERS. 



Giant digital clock. 



memory for string manipula- 
tion and also uses the DEFSTR 
function to define those 
variables beginning with B, C or 
P as string variables. This func- 
tion is extremely valuable in 
any program that requires a lot 
of string handling. Not only 
does it save wear and tear on 
the $ key, but, more important, 
it frees a lot of memory that 
would otherwise be used up by 
those dollar signs. 

Steps 1910-2320 create the 
smaller building-block words I 
mentioned earlier (the top and 
bottom of 0, the middle of 3, 
etc.). 

Steps 3000-3540 use these 
building blocks to construct 
the actual numbers, which con- 
sist of 14 graphics characters, 
followed by 15 control charac- 
ters, followed by 14 graphics 
characters, etc., seven times 
over. The control characters 
serve to back the cursor up 14 
spaces, then drop it down to 
the next line. The end result is a 
number 14 characters wide and 
seven lines tall. Some of the 
numerals (the seven, for in- 
stance) are unique, and so 
must be constructed practical- 
ly one character at a time. 

Notice that the numeral- 
words are named C(0) through 
C(9). The convention of using 
the same subscript number as 
the number that the word 
depicts eases the task of call- 
ing these words from memory 
for display purposes. Notice 
also that the smaller, building- 



block words are erased from 
memory (such as in steps 3190, 
3230) once their job is complet- 
ed. This frees memory space 
that would otherwise be use- 
lessly tied up. 

Steps 3600-4100 contain the 
clock routine. Of interest here 
is the delay subroutine at step 
4100. At first it seems to be a 
useless subroutine, until you 
notice that the program is us- 
ing its own execution time as 
part of the timing mechanism. 
When it's time for a number to 
change, the new number is 
painted over the old one. This 
causes the loop to execute 
much more slowly on that par- 
ticular pass. A delay routine 
then becomes necessary to 
smooth out the loop execution 
time. 

You might say, "Why don't 
you just repaint the entire 
display with each iteration of 
the loop?" Well, actually that 
works pretty well, except that 
the display is then filled with 
annoying tracer marks as the 
cursor goes zooming through 
the screen. It looks like bad 
reception on a black-and-white 
TV set. 

Calibration of the clock for 
your particular machine will un- 
doubtedly be necessary. It 
seems that all TRS-80S are not 
created equal! I tried the pro- 
gram out on three different 
units, and although it ran 
beautifully, the clock had to be 
recalibrated in each case. The 
details for calibrating the clock 



1920 



I960 
1970 

2000 

2020 

2040 

2050 
2060 
2080 

2100 

2110 
2140 
2160 
2180 

2200 

2220 

2240 
2260 
2280 
2380 
2328 

3060 



' FOR INSTANCE, STEPS 2020 TO 
2050 CREATE THE ROUNDED TOP 
FOR THE 2, 3, 6, 8, 9, AND 

FOR X=l TO 12: B<X)=STRING*<:X, 32) 

NEXT X 
FOR X=l TO 15: P<X)=STRING*<:X, 191) 

NEXT X 
CB=STRING$<14, 24 ) +CHR$ < 26 ) 
CZ=CHR* < 160 > +CHR* < 188 ) +P < 10 > 

+CHR* < 188 > +CHR* < 144 > +CB 
CX=P<3)+CHR$<135)-H3<.6)+CHR*<:i39) 

+PC3)+CB 
CC=CZ+CX 

CD=Pc3)+B<8)+P<3)+CB 
CV=P C3) +CHR* < 188 ) +B <. 6 ) +CHR* ( 184 ) 

+PC3)+CB 
CW=CHR* (138) +CHR* C 1 43 > +P C 10 ) 

+CHR* < 143 > +CHR* < 129 > +CB 
CE=CV+CW: CF=P<14)+CB 
CG=B < 11 ) +P ( 3 > +CB 
CH=P < 3 ) +B <. 11 ) +CB 
C I =B < 6 ) +P < 6 ) +CHR$ (183) +CHR* ( 145 ) 

+CB 
CJ=BC2)+STRING*<i8, 176)+CHR*<:190) 

*P<2> +CHRS < 159 > +CB 
Ck.=CHR*tlS4>-«-P<:3>+STRING*<:8, 143) 

+CHR* ( 131 ) +B < 1 ) +CB 
CL"P<3>+CHR*<149>+6<18>+C8 
CM=CHR* ( 1 76 ) +CHR* ( 188 ) +P < 1 ) 
CN=CHR* ( 1 76 > +CHR* < 188 ) +P < 4 ) 
CO=B < 6 > -t-P ( 3 ) +B < 5 ) +CB 
CP=CHR$ ( 1 76 ) +CHRS < 1 88 > +P ( 2 ) 

+CHR* < 143 ) +CHR* < 1 31 ) 

#### NOW WE BUILD A ZERO 



3020 C<0)=CC+CD+CD+CD+CE. CO""" 
3040 ' 

#### THEN AN EIGHT 

3060 C<S)=CC+CE+CHR$<27)-»-CC+CE 
3080 ' 

#### A SIX 

3100 C<6)=CC+CH+LEFT*<CF, 4) 

+RIGHT*<XZ, 25)+CX+CE 
3120 ' 

#### A NINE 
3140 C<9)=CC+CV-M_EFT*tCW, 5) 

+RIGHT*<CF, 24)+CG+CE: 
CW="" 
3160 ' 

#### A FIVE 
3180 C<5)=CF+CH-H_EFT*CCF, 4) 

+RIGHT*<:CZ, 25)+B<4) 
+RIGHT*<:CX, 25)+CG+CE 
3190 CZ-"" : CH="" 
3200 ' 

#### A THREE 
3220 C(3)=CC+B<4)+RIGHT$<:CV, 25) 
+CI+B<4)+RIGHT$<CX, 25) 
+CE 
3230 CV= " " : CX= " " CE= " " : C I = " " 
3240 ' 

#### A TWO 
3260 C<2)=CC+CG+CJ+CK+CL+CF-«-CB 
3270 CC= " " : CG= ■ " CJ= H " : CX= " " : CL= " " 
3280 ' 

#### A ONE 
3300 C<1)=BC6)+CM-M3<5)+CB+B<3)+CN 

+B<C5)+CB 
3310 C < 1 ) =C < 1 ) +CO+CG+CO+CG+B < 3 ) 

+P<9)+BC2) 
3320 ' 

#### A FOUR 
3340 C < 4 ) =B ( 9 ) +CH+B < 2 ) +CB+B ( 6 ) 



158 Microcomputing, April 1980 



+CN+B(2>+C8 

225© C<4)«C<4)+B<3>+LEFT*<CPj 5) 

+P<4>+B<2>+CB 

2255 C < 4 > =C <: 4 > +CHR* < 168 > +R I GHT* < CP, 5 > 
+B < 2 > +P < 4 > +B C 2 > +CB 

226G C < 4 ) =C <L 4 ) +P ( 2 > +STR I NG* < 5, IBS > 
+P < 4 > +S TR I NG* C 2, 1 88 > +CB 
+STR I NG* < 8, 121 ) +P < 4 > 
+STR I NG* < 2, 121 > +CB+B < 8 > 
+P<4>+B<2> 



2288 
240W 
2420 
2440 



2460 

2480 

2500 
2520 
2540 
2550 

2560 
35SO 
2590 
2600 

3€40 
3€70 
2680 
2 7*00 
3720 
2720 
37 60 
3770 
2730 

2790 

2795 
2800 

3S20 

2840 
3S6Q 
2888 

300 

•20 

4000 
4010 

4020 

403.0 

4040 
4050 
4090 

4100 

4490 

4495 
4500 

4520 

4540 

4560 

4588 



INPUT" 
TF»INT<TEX18> 

INPUT" 

TD=INT<TCX18.> 

INPUT" 

TB=INTcTfl,-10> 

CLS: 



#### A SEVEN -;FR0M SCRATCH) 
C < 7>=P<±4> +CB+B < 10 > +CHR* < 184 > 

+PC2)+CHR*C159>+CB 
C<7> =C < 7 > +B < 7 > +CP+B < 1 > +CB+B <4> 

+CP+B<4>+CB 
C < 7 > =C < 7 > +B < 1 > +CHR* C 160 > +CHR$ < 184 > 

+P < 2 > +CHR* C 1 59 ) +CHR* < 125 > 

+BC7>+CB 
C < 7 ) =C < 7 > +CHR* < 168 > +P < 2 > +CHR* < 159 > 

+CHR* C 129 > +B < 9 > +CB 
C<7>«C<7>+CHR*(178)+P<2>+CHR*<149) 

*B<±±y 

FOR K=l TO 12: BOO-"": NEXT K 
FOR K=l TO 15: POO-"*: NEXT K 

CB = " " • CP= " " 

CLS: PRINT STRING*<X 26); 

1 DIGITAL CLOCK- 
PRINT " 2. DIGITAL COUNTER" 
INPUT "WHICH DO VOU WANT"; QQ 
ON QQ GOTO 2680, 4490 
PRINT£283, " " 

PRINT" NOW SET THE CLOCK. . . " 
PRINT" WHAT IS THE CURRENT." 

PRINT 

HOUR"; TE 
TE=TE-CTF*10> 

MINUTES"; TC 
TC=TC-CTD*18> 

SECONDS"; TA 
TA=TA-<TB*10> 
CQ-CMR* < 1 76 ) +CHR* < 191 ) 
+CHR*C149> 
PRINT0478, CQ; STRINGS 2, 24); 

S TR I NG* < 2j 2S > .; CQ 
ZD=77: ZF=77 : ZE=77 : ZC=77 
F0RN=1T077 NEXTN : TA=TA+1 
IF TA<=9 GOTO 4008 

ELSE TA=M: TB= TB+1 
IF TB<=5 GOTO 4000 

ELSE TB=0: TC=TC+1 
IF TCC=9 GOTO 4008 

ELSE TC=0: TD=TD+1 
IF TD<=5 GOTO 4000 

ELSE TD=0: TE=TE+1 

IF TE>9 THEN TE=8 . TF=TF+1 
IF TF=1 AND TE=3 THEN TA=8 : 

TB=0 TC=0: TD=0: TE=1 : TF=0 
IF TFOZF THEN PRINT0320; C<TF> 

ELSE G0SU6 4180 
IF TEOZE THEN PRINTt*2:25, C<TE> 

ELSE GOSUB 4106 
IF TDOZD THEN PR IN f 8254.. C<TD> 

ELSE GOSUB 4188 
IF TCOZC THEN PR I NT&363, C<TC^ 

ELSE GOSUB 4100 
PRINT8 855, TB.; TA 

ZC= TC : ZD=TD : ZE=TE ZF=TF : GOTO 2888 
END 

FOR X=l TO 42 NEXT: RETURN 
CLS: PRINT8220, 
"PRESS ANV KEY TO ACTIVATE" 
FOR X=l TO 1800: NEXT CLS 
CS=INKEV*. IF CS="" GOTO 4500 

ELSE TH=TH+1 
IF TH<=9 GOTO 46O0 

ELSE TH=0 TI=TI+± 
IF TI<=9 GOTO 4600 

ELSE TI=8: TJ=TJ+1 
IF TJ<=9 GOTO 4600 

ELSE TJ=0: TK=TK+1 
IF TK<=9 GOTO 4608 




Clock as a night-light. 



routine have been made a part 
of the program listing so that 
even if you lose this article, 
you'll still be able to use the 
program effectively. 

Steps 4490-4650 contain the 
counter routine. This is basical- 
ly just a single-iteration count- 
er. The numbers are displayed 
just as in the clock routine. The 
INKEY$ function is utilized here 
so that hitting any key will 
cause the counter to incre- 
ment. This routine was includ- 
ed primarily to give you a start- 
ing place for tailoring these 
enlarged display techniques to 
your own needs. 

Program Expansion Ideas 

I've noted here some ideas 
for possible alteration and/or 
expansion of this program. 
Most are simple and involve on- 
ly minimal changes to the pro- 
gram structure. 

1. A digital timer. 

2. An alarm clock (this one is 



easy if you have a printer with a 
software-accessible bell or 
tone). 

3. A digital measuring device 
(using the out and inp func- 
tions). 

4. A counter that increments 
the display by different 
amounts according to which 
key is struck (the keys 1 
through 9, for instance, could 
cause the display to advance 
their respective amounts). 

5. A device that would per- 
form different math operations 
on the number in the display, 
according to which key is 
struck (this application has 
awesome classroom possibili- 
ties). 

That should be enough to get 
the imagination pumping! By 
the way, if you are one of those 
lucky folks who are blessed 
with a disk system, then I have 
especially good news for you. 
You can use the real-time clock 
that is part of your disk 
operating system as your clock 
routine! This exempts you from 
any calibration problems what- 
soever. All you need do is make 
a couple of small changes in 
the program: delete lines 3600- 
4100 and insert a routine to 
compare what's in the dis- 
play to the DOS TIMES string 
and ensure that they are the 
same. Also, be sure that the 
TIMES string is set to the cor- 
rect time before running the 
program. ■ 



4600 

4620 

4640 

4660 
4680 
470© 
4720 



ELSE TK=0 TL=TL+1 
IF TLO0 THEN TL=0: TK=0 

TJ=0. TI=0. TH=0 
PRINT0220.. C<TK>: 
C<TJ> 
C<TI> : 
C<TH> 



PRINT<?226, 
PRINT£2:52, 
PRINT0268, 
GOTO 4588 



4748 



47t.fc? 



4788 



TO CALIBRATE THE CLOCK: 
ALL CALIBRATION IS DONE 
BV EDITING STEP NUMBER 
2800. USE THE FOLLOWING 
METHOD : 

1. INITIAL CALIBRATION- 
ADJUST THE ITERATION 
NUMBER WITHIN THE FOR- 
NEXT LOOP 

2. FINE TUNING- 
ADJUST THE NUMBER OF 
SPACES WITHIN THE FOR- 
NEXT LOOP 

2. EXTRA FINE TUNING- 
ADJUST THE NUMBER OF 
SPACES BEHIND THE 
SECOND COLON 



4806 END 



Microcomputing, April 1980 159 



Instant Software: 

BASIC S ophistication 

ENERGY AUDIT 



Every once in a while you come 
across a piece of software that 
makes you stop and say to your- 
self, "That's the way it's supposed 
to be done." This quintet of pack- 
ages is just that kind of elegant 
and efficient software. 

On this page, we feature: an En- 
ergy Audit package for homeown- 
ers and the Accounts Receiv- 
able/Accounts Payable system. 
Both of these TRS-80 programs 
feature the speed and conve- 
nience of floppy disks. 

On the next page, three cas- 
sette-based packages: our Music 
Master— for those interested in 
computer music and our two Utili- 
ty packages. Whichever you may 
choose, our attention to detail and 
dedication to producing user-ori- 
ented programs means you'll al- 
ways be satisfied with ISI. 




When it comes to spending money for energy to heat a home, everybody's 
a "skinflint." With today's rising fuel prices and staggering inflation, you 
need ways not only to cut down on your home heating bills but also to con- 
serve our diminishing energy supplies. 

One of the best ways to invest your money is to insulate your home. You'll 
save money, and your home will appreciate in value. But, you're asking your- 
self, "How do I start, where should I insulate, and what will it cost me?" The 
Energy Audit package can answer all these questions and more. 

The programs in this package will give you detailed instructions on how to 
examine your home, collect information on its structural components and 
layout, and create a data file. The program will then analyze this data, show 
where you're losing money because of excessive heat loss, and describe the 
most cost-effective methods for saving energy and money. 

You may select any area of your home for detailed scrutiny, input your 
own cost figures, calculate savings potentials for different options, and 
incorporate whichever you want into your own home-investment budget. In 
effect, you can create a computerized "model" of your home. You'll be able 
to see the changes that will be made in your energy budget as a result of ad- 
ding a wood stove or refinishing an attic. 

When your friends and neighbors see how much money you're saving, 
they will want their homes analyzed too. You could even start your own busi- 
ness, showing your customers exactly where and how to insulate their 
homes for maximum savings. The Energy Audit package is the perfect sell- 
ing tool for any contractor or building supplies dealer. 

With the Energy Audit package you'll know what your home needs, where 
it needs it, and how much it will cost you. 

Or maybe you enjoy paying utility bills? 
Pkg. 0089R (cassette version) $49.95. 
Pkg. 0052RD (disk-based version) $75.00. 



note?* 

P'SKs 



ACCOUNTS RECEIVABLE/ 
ACCOUNTS PAYABLE 



Now, in one package, you can have a complete Accounts 
Receivable/Accounts Payable (AR/AP) system! These pro- 
grams will handle all the drudgery involved in processing 
AR/AP entries. 

Each program is capable of handling up to 760 accounts and 
as many as 1500 entries per month. Should you need to handle 
more accounts, you can divide them into as many sub-groups 
as necessary and keep a set of data disks for each sub-group. 

The Accounts Receivable program can print invoices, state- 
ments, and address labels for each customer. It will also 
generate a Month End report, a Customer Activity report, and a 
Daily Sales report. 

The Accounts Payable program will generate a Month End 
report, an Account report, a Daily Activity report and a Check 
Payment report. 

The AR/AP package is ideal for any small business. The pro- 
grams are self-prompting and are easily used by anyone famil- 



iar with AR/AP operations. 

These programs can save you money, because they can print 
your company's letterhead at the top of each invoice and state- 
ment, using plain, fan-folded paper. 

Accounts Receivable/Accounts Payable: Software for the 
Professional. 

THIS PACKAGE REQUIRES THE FOLLOWING MINIMUM 
SYSTEM 

1. A TRS-80 Level II microcomputer, 16K of memory. 

2. An Expansion Interface with at least 16K of additional 
memory. 

3. Three mini-disk drives. 

4. A pin-feed line printer. 

5. Any TRS-80 Disk Operating System. 



Ask for Package 0075RD 



$199.95. 




Instant Software Inc. 



Peterborough, New Hampshire 03458 603-924-7296 



r 



MUSIC 
MASTER 




Breathes there a programmer with soul so dead 

who never to himself has said, 

"I wish I could get music out of a TRS-80!" 

Now you can. Music Master lets you compose music, play your keyboard as if it 
were a piano, and experiment with programming to produce music suited to your 
taste. This package includes: 

• MICRO ORGAN -Change your computer into a musical instrument. You'll have a 
range of four octaves with three voices. The program will let you play flats and sharps 
to imitate the sounds of an organ, a harpsichord, or a piano. 

•KALEIDOPY — Now you can have a computerized "player piano." Generate a sym- 
metrical graphjcs pattern and then see it transformed into music. 
•COMPOSER — Experiment with computer-generated music. This program allows 
you to select the length of the piece, the scale it will be played in, and the tempo. The 
instructions even include a "messing-around" section that tells you how to create 
your own special effects. 

• KEYMANIA — This game will test not only your memory, but your musical ear. From 
one to four players can try to remember and repeat the melody the computer creates. 
You can select* the number and range of notes in the tune, the duration of each note, 
and the intervals between notes. 

They may laugh when you sit down at the keyboard of your computer, but not after 
they hear what the Music Master package can do. 

(This package uses an optional audio amplifier, e.g. Radio Shack # 277-1008). 
For the TRS-80 Level II 16K. Order No. 0084R. $7.95. 



For a free catalog listing over 200 programs write: 
Instant Software Catalog Dept., Peterborough, N.H. 03458. 




UTILITIES 



TRS-80 UTILITY I Ever wonder how some 
programmers give their programs that 
professional look? Instant Software has 
the answer with the TRS-80 Utility I 
package. Included are: 

• RENUM — Now you can easily renumber 
any Level II program to make room for 
modification or to clean up the listing. 
(Only for use with 16K of memory.) 

• DUPLIK-This program will let you 
duplicate any BASIC, assembler, or ma- 
chine-language program, verify the data, 
and even copy Level I programs on a 
Level II machine. 

For the TRS-80 Level II 16K. Order No. 
0081 R $7.95. 



TRS-80 UTILITY II Let Instant Software 
change the drudgery of editing your pro- 
grams into a quick, easy job. Included in 
this package are: 

•CFETCH- You'll be able to merge 
BASIC programs, with consecutive line 
numbers, into one program. CFETCH can 
also search through any Level II program 
tape and display the file names for all the 
programs. 

•CWRITE — Combine subroutines that 
work in different memory locations into 
one program. CWRITE works with BASIC 
and/or one or more machine-language 
programs. It will even give you a general 
checksum to verify that your program 
hasn't dropped any bits. 

Another fine tool for your TRS-80 Level 
II 16K. Order No. 0076R $7.95. 




If the store nearest you does not stock Instant Software, use this order blank to purchase your software 

directly, or call Toll -Free 1-800-258-5473. 



Order Your 
Instant Software today! 



Name 



Address 
City 



State 



Zip 



L 



□ Check □ Money Order □ 

Credit card# 

Signature __ — 



masiet charge 



□ 

Exp date 




Quantity 



Order No. 



Program name 



Shipping 



Unit Cost 



Total cost 



Total order 



$100 



date 



I 
I 

Mail to: "I ■ | 

TSlGf ll OOTT\rVCir© P"ces Valid In USA Only | 

Peterborough NH 03458 USA Dept. 40D0 | 



Instnnt Software Inc. 



*A trademark of Tandy Corporation 



Peterborough, New Hampshire 03458 603-924-7296 



Ask for Instant Software at a computer store near you 



Alabama 

Anderson Computers 

3156 University Dr., Huntsville 

Computerland of Huntsville 
3020 University Dr., Huntsville 
Olensky Bros. 
3763 Airport Blvd., Mobile 

Arizona 

Hem Shack 

450 6-A N. 16th St., Phoenix 

Millets TV & Radio 

621 East Broadway, Mesa 

California 

Byte Shop of Fairfield 

87 Marina Center St., Suisun City 

Byte Shop 

8038 Clairmont Mesa Blvd., 

San Diego 

Byte Shop of Mt. View 

1415 West El Camino Real, Mt. View 

Byte Shop of Sacramento 

6041 Greenback Ln , Citrus Heights 

Capital Computer Systems 

3396 El Camino Ave., Sacramento 

Computers Made Easy 

819 East Ave. Q 9, Palmdale 

Computer Store of San Leandro 

701 Mac Arthur Blvd., San Leandro 

Computer World 

6791 Westminster Ave., Westminster 

Computerland 

16720 S. Hawthorne, Lawndale 

Computerland of San Francisco 

117 Fremont St.. San Francisco 

Computerland of W LA 

6840 La Cienega Blvd., Inglewood 

Coast Electronics 

3118 No Main St., Morro Bay 

Computerland 

24001 via Fabricante No 904. 

Mission Viejo 

Hobby World 

19511 Business Ctr. Dr., Unit 6 

Borthndge 

I.C.E. House Inc. 
398 North E. St., San Bernardino 
Jade Computer Products 
4901 W. Rosecrans, Hawthorne 

Microsun Computer Center 

2989 North Main St., Walnut Creek 

Opamp/Technical Books 

1033 N. Sycamore Ave., Los Angeles 

Q.I. Computers, Inc. 

15818 Hawthorne Blvd .. Lawndale 

Radio Shack Dealer 

8250 Mira Mesa Blvd., San Diego 

Santa Rosa Computer Center 
604 7th St., Santa Rosa 

Silver Spur Elect. Comm. 
13552 Central Ave., Chino 

The Computer Store 

820 Broadway, Santa Monica 

Colorado 

Byte Shop 

3464 S. Acoma St., Englewood 

Colorado Computer Systems 
311 W. 74th Ave., Westminster 

Computerland of North Denver 
8749 Wadsworth Blvd., Arvada 

The Computer Store 
2300 Welton St., Denver 

Connecticut 

American Business Computers 
454 Thames St., Grot on 

Computerlab 

130 Jefferson, New London 

Computerland 

1700 Post Rd., Fairfield 

Computer Works 

1439 Post Rd. E., Liberty Plaza, 

Westport 

D.C. 

The Program Store 

4200 Wisconsin Ave., N.W., 

Washington, D.C. 

Florida 

Adventure International 

200 Bald Cypress Ct., Long wood 



AMF Electronics 

11146 N. 30th St.. Tampa 

Boyd Ebert Corporation 

1328 West 15th St., Panama City 

Computer Center 

6578 Central Ave., St. Petersburg 

Computerland of Ft. Lauderdale 

3963 N. Federal Hwy., Ft. Lauderdale 

Computerland of Jacksonville 

2777-6 University Blvd. W. 

Jacksonville 

Computer Shack 

3336 Beach Blvd., Jacksonville 

Curtis Waters Enterprises 

236 Talbot Ave., Melbourne 

Heathkit Electronic 

4705 W. 18th Ave Center, Hialeah 

HIS Computermation 

1295 Cypress Ave., Melbourne 

Sound Ideas 

2201 -C N.W. 13th, Gainesville 

Ukatan Computer Store 
Airport Rd., Destin 

Williams Radio & TV Inc. 
2062 Liberty St., Jacksonville 
Georgia 

Atlanta Computer Mart 
Atlanta 

Computerland of Atlanta 
2423 Cobb Parkway, Smyrna 

Hawaii 

Computerland of Hawaii 

567 N Federal Hwy., Honolulu 

Radio Shack Assoc. Store 
1712 S. King St., Honolulu 

Idaho 

Electronic Specialists 
8411 Fairview Ave.. Boise 

Illinois 

Bloomington Normal 

Computer Works 

124 E. Beaufort, Normal 

Computerland 

4507 North Sterling, Peoria 

Computer Station 
3659 Nameoki Rd., Granite City 
Midwest Micro Computers, Inc. 
708 S. Main St . Lombard 

Indiana 

Computer Center of South Bend 
51591 US 31 North, South Bend 

Data Domain 

221 W. Dodds, Bloomington 

Iowa 

Memory Bank 

4128 Brady St., Davenport 

Kansas 

Central Kansas Computers 
6 S. Broadway, Herington 

Louisiana 

Computer Shoppe Inc. 

3225 Danny Park, Suite 222, Metairie 

Maine 

Radio Shack 

315 Main Mall Rd., So. Portland 

Maryland 

Jack Fives Electronics 

4608 Debilen Circle, Pikesville 

The Comm Center 

9624 Ft. Meade Rd., Laurel 

Massachusetts 

ComputerCity 

175 Main St., Charlestown 

ComputerCity 

50 Worcester Rd., Framingham 

Computerland of Boston 
214 Worcester Rd., Wellesley 

Computer Packages Unlimited 
244 W. Boylston St., West Boylston 

Lighthouse Computer Software 
14 Fall River Ave., Rehobath 

New England Electronics Co. 
679 Highland Ave., Needham 

The Computer Store 

120 Cambridge St., Burlington 

Tufts Radio & Electronics 
206 Mystic Ave., Medford 



Michigan 

Computer Center 

28251 Ford Rd., Garden City 

Computer Connections 

38437 Grand River, Farmington Hills 

Computerland of Grand Rapids 

2927 28th St. S.E., Kentwood 

Computerland of Rochester 
301 S. Livernois, Rochester 

Computerland of Southfield 

29673 Northwestern Hwy., Southfield 

Computer Mart 

560 W 14 Mile Rd ., Clawson 

Hobby House 

1035 W. Territorial Rd., Battle Creek 

Ye Olde Teacher Shoppe 

1823 Wltmyre St., Ypsilanti 

Minnesota 

Computerland of Hopkins 
11319 Hwy F, Hopkins 

Zim Computers 

5717 Xerxes Ave , N. Brooklin Center 



Mississippi 

Dyer's, Inc. 

200 E Main St., West Point 

Missouri 

Computervan, Inc. 

51 Florissant Oaks Shopping Center 

Florissant 

Consolidated Software 

16501 Greenwald Court, Belton 

Montana 

Intermountain Computer 
529 So. 9th St., Livingston 

Personal Computer 

121 Red Oak Dr ., Carl Junction 

The Computer Store 

1216 16th St W #35, Billings 

Nebraska 

Computerland of Omaha 
11031 Elm St .. Omaha 

Midwest Computer Co Inc. 
8625 I St.. Omaha 

Midwest Computer Co. Inc. 
4442 S 84th St.. Omaha 

Midwest Computer Co. Inc. 
4403 S. 87th St.. Omaha 

Nevada 

Century 23 

4566 Spring Mountain Rd., Las Vegas 

New Hampshire 

Bitsnbytes Computer Center 
568 Pleasant St., Concord 

ComputerCity 

1525 S Willow, Manchester 

Portsmouth Computer Center 
31 Raynes Ave., Portsmouth 
Radio Shack Assoc. Store 
Fairbanks Plaza, Keene 

New Jersey 

Computer Encounter 
2 Nassau St., Princeton 

Computerland 

35 Plaza Rte. #4, W Paramus 

Computer Mart of NJ 
501 Rte. 27, Iselin 

Radio Shack/J&J Electronic 

Mansfield Shopping Ctr. 

Rt. 57 Alien Rd., Hackettstown 

The Bargain Brothers 
Glen Roc Shopping Center 
216 Scotch Road, Trenton 

The Computer Emporium 

Bldg. 103, Avenues of Commerce 

2428 Rte 38. Cherry Hill 

New Mexico 

Legey and Associates 

2908 Tahiti Ct N.E., Albuquerque 

Mitchell's Music (Radio Shack) 
407 W. Church, Carlsbad 

South West Computer Center 

121 Wyatt Drive, Suite 7. Las Cruces 

New York 

Aristo Craft 

314 Fifth Ave.. NYC 

Bits & Bytes 

2800 Straight Rd., Fredonia 

Computer Corner 

200 Hamilton Ave., White Plains 



Instant Software Inn 



Peterborough. New Hampshire 03458 603 924 7296 



Computer Factory 

485 Lexington Ave.. NYC 

Computer House, Inc. 

721 Atlantic Ave., Rochester 

Computerland of Nassau 

79 Westbury Ave., Carle Place 

Computer World 

519 Boston Post Rd., Port Chester 

Comtek Electronics, Inc. 

2666 Coney Island Ave., Brooklyn 

Comtek Electronics, Inc. 
Staten Island Mall 
Store 220A, Staten Island 

Home Computer Center 
671 Monroe Ave., Rochester 

Key Electronics 
Schenectady 

Mr. Computer 

Imp Plaza. Rte 9, Wappingers Falls 

Softron Systems 

308 Columbia Turnpike. Rensselaer 

The Computer Tree Inc. 

409 Hooper Rd.. Endwell 

Upstate Computer Shop 

629 French Rd., Campus Plaza 

New Hartford 

North Carolina 

Byte Shop of Raleigh 

1213 Hillsborough St., Raleigh 

Ohio 

Altair Business Systems, Inc. 
5252 North Dixie Dr.. Dayton 

Astro Video Electronics 
504 E. Main St., Lancaster 

Cincinnati Computer Store 

4816 Interstate Dr., Cincinnati 

Computerland 

4579 Great Northern Blvd., 

N.Olmstead 

Computerland 

6429 Busch Blvd., Columbus 

Computerland 

1288 Som Rd , Mayfield Heights 
Computer Store of Toledo 
18 Hillwyck Dr., Toledo 

Forbees Microsystems Inc. 
35 N Broad, Fairborn 

Microcomputer Center 
7900 Paragon Rd , Dayton 

Micro-Mini Computer World 
74 Robinwood, Columbus 

Universal Amateur Radio. Inc. 
1280 Aida Dr.. Columbus 
21st Century Shop 
16 Convention Way, Cincinnati 

Oklahoma 

Vern Street Products 
Radio Shack Dealer 
114 W. Taft St.. Sapulpa 

Oregon 

Computerland of Portland 
12020 S.W. Main St., Tigard 

Computer Pathways Unlimited. Inc. 
2151 Davcor St SE, Salem 

Pennsylvania 

Art co Elect. 

302 Wyoming Ave., Kingston 

Artco Elect 

Back Mountain Shop. Ctr 

Shavertown 

Computer Workshoppe 

3848 William Penn Hwy, Monroeville 

Computerland of Harrisburg 

4644 Carlisle Pike, Mechanicsburg 

Erie Computer Co 

2127 West 8th St., Erie 

Personal Computer Corp. 

24-26 West Lancaster Ave.. Paoli 

Personal Computer Corp. 

Frazer Mall, Lancaster Ave.. Frazer 

Rhode Island 

Computer City 

165 Angell St., Providence 

South Dakota 

CB Radio Shack 

21st and Broadway. Yankton 

Tennessee 

Computerlab 

671 S. Menden Hall Rd., Memphis 

H & H Electronics Inc. 

509 N. Jackson St., Tullahoma 

Texas 

Computer Port 

926 N. Collig, Arlington 




K.A Elect. 

9090 Stemmons Frwy., Dallas 
Pan American Elect. Inc. 
1117 Conway, Mission 

Ram Micro Systems 

6353 Camp Bowie Blvd , Ft Worth 

Utah 

Quality Technology 

470 E 2nd So., Salt Lake City 

Virginia 

Home Computer Center 
2927 Virginia Beach Blvd 
Virginia Beach 

Southside Radio Comm. 

135 Pickwick Ave., Colonial Heights 

Washington 

American Mercantile Co. Inc. 
2418 1st Ave. S . Seattle 

Computerland of South King Co. 
1500 S 336 St. Suite 12 
Federal Way 

Personal Computers 
S 104 Freva, Spokane 

Ye Old Computer Shop 

1301 G. Washington, Richland 

West Virginia 

The Computer Corner Inc. 

22 Beechurst Ave., Morgan town 

The Computer Store 

Municipal Parking Bldg., Charleston 

Wisconsin 

Byte Shop Of Milwaukee 

6019 West Layton Ave., Greenfield 

Wyoming 

Computer Concepts 

617 W 16th St., Cheyenne 

Puerto Rico 

The Microcomputer Store 
1568 Ave Jesus T Pinero 
Caparra Terrace 

Guam 

The Fun Factory 

851 Marine Dr., Tamuming 

Canada 

CANADIAN DISTRIBUTORS 
Micron Distributing 
409 Queen St.. W. Toronto, Ont. 
M5V 2A5 

Computerland of Winnipeg 

715 Portage Ave , Winnipeg. Man. 

Compumart 

411 Roosevelt Ave., Ottawa. Ontario 

Computer Mart. Ltd. 

1055 Yonge St.. Suite 208 

Toronto, Ontario 

Galactia Computers 

103rd Ave , Edmonton, Alberta 

Micromatic Systems Inc. 

101 8136 Park Rd., Richmond. B.C. 

Micro Shack of W. Canada 

333 Park Street, Regina. Sask. 

Orthon Holdings Ltd. 
12411 Stony Plain Road 
Edmonton, Alberta 

Total Computer Systems 
Ajax, Ontario 

England 

Tamays & Farr Ltd. 
4 Morgan St., London 

France 

Sideg 

45 Rue de la Chapelle, Paris 

Sivea s.a. 

20, Rue de Leningrad, Paris 

Italy 

HOMIC s.r.l. 

Piazza De Angeli 1, Milano 

West Germany 

Electronic Hobby Shop 
Kaiserstr 20, Bonn 

MicroShop Bodensee 
Markstr. 3, 77*8 Markdort 

Australia 

Computerware 

62 Paisley St.. Foot sera y VIC 

Deforest Software 
36 Glen Tower Drive 
Glen Waverly. VIC 

Softronics Micro Systems 
Lindfield 

Sure-Load Software 

P.O Box 26. Weston, ACT. 

South Africa 

Eddie Talberg 

P.O. Box 745. Johannesburg 



APPLE II 



B#WUNG SECRETARY 




Calculates all of the following items: 
For individual — name, team#, handicap, 
running total pins, number of gomes 
bowled, overage, no. of 200'S, no. of 
500 series, no. of 600 + series, hi gome 
(scratch), hi series (scratch). 
For team — team#, team name, wins, 
losses, pet., team total pins (scratch), 
team avg., team hi gome, team hi series 
All simply by entering 3 weekly scores 
per bowler! Also maintains subs records 
and allows for blind scores. Provides for 
weekly reporting with printer option. 
(Disk and 46 K required) $24.95 

Full line of Programmo and Muse soft- 
wore available. To introduce you to 
Mighty Dyte take 15% off ony order. 

MIGHTY BYTE COMPUTER INC 
P.O. Box 213 
HO-HO-K U8, NEW JERSEY 07423 
(201) 445-8256 ^ 205 

. VISA AND MASTERCHARGE ACCEPTED 



<oduct versatility and value.. 



IN NEW YORK CITY 

OHIO SCIENTIFIC & aristo/ 

POLKS FULL STOCK AND SER- 
VICE ON CHALLENGER MICRO- 
COMPUTERS. 

CHALLENGER C1P8K $399 00 

C1P 5" FLOPPY 20K $1198 00 

SUPERBOARDC1P $279 00 

CHALLENGER (COLOR) C4P 8K $698 00 
C4P FLOPPY 24K 5" $1698 00 

CHALLENGER C8P $895 00 

COLOR-DUAL 8" FLOPPY C8P $2597 00 
C-3 48K DUAL FLOPPY 8" $3995 00 

C-3 > 23 MEG HARD DISK $9900 00 

C-2-0EM 48K DUAL FLOPPY 8" $2699 00 
PLUS ALL SOFTWARE & PERIPHERALS 

Mail order invited if machine can be 
sent back to us for service 220V 
conversions available for systems- 
write for quote Write for free cata- 
log. M C VISA. AX CARDS ACC r P T,: ^ 

Aristo/Polks . 212/^34 

314 5TH AVE (32ST)N Y.C .N Y 10001 
930 6-DAILYBTHURS TIL 9BSUNDAY 11-5 



. .. Look to Aristo/Polks for re» 




LEVEL 1 4K 

EDUCATIONAL 

SOFTWARE 

ELECTRONIC SERIES: 

h programs ;>/ws graphics (overs resistance 
Ohm's l.iw capacitance tapacitive reactance 
resonant <ir<mts enern% and poner Cassette 



\a 1Jil7*HCP 
METRIC SERIES: 



v/ </ 



h programs tor < onsumers I ,i< h program iru little* < om 
puter iit'ncr.itcd tests Lovers jtrefixes lenttth \\rinht 
\ohimc ami temperature 
( assette V> 12257VH v> y , 

Let us market YOUR programs. Either 

royalty or direct puchase. Send S.A.S.E. 

for details. 

Include *1 r > r > lot postage .ind handling Send ( h»-< k MO to 
K 1 



®[R[K£\ SOFTWARE 



BOX 6203 
AKRON, OH 44312 



^212 



CDfTIPUCDLDR 
IflTECDLDR 

SALES • SERVICE • SOFTWARE 
BUY* SELL* UPGRADE 

WHOLESALE— RETAIL 



UPGRADE— your intecolor or 
compucolor to the latest con- 
figuration. 

SERVICE— providing local ser- 
vice and service on the west 
coast for east coast firms. 

INTERNATIONAL— users 

group. 

SOFTWARE— over 700 pro 

grams in our library. Join to 
purchase low cost software. 

PROGRAM EXCHANGE-5 to 

10 programs for each accept- 
able submission. 



DATA EXCHANGE-prmter in 

terfaces. S100 bus. new op 
systems, etc. 

CLUB DISCOUNTS— on com 

pucolor software and hard- 
ware. 

MEMBERSHIP BULLETINS— 1 

year— $30.00 

FOREIGN ORDERS— add 

$10.00, add $16.00 if check is 
not on a U.S. bank. 

FORMATTED DISKS— $4 each 
— 10 minimum — $2 per order 
postage. 



S. P. ELECTRONIC SYSTEMS 

5250 Van Nuys Blvd. 
Van Nuys CA 91401 
Phone 213/788-8850 



^143 



MON-FRI 10AM 6PM 
SAT 12-3PM 



PROGRAM & RUN EPROMS 



The MORE board plugs on to a 

KIM,SYMorAIM 

this union makes a potent EPROM program- 
mer/runner. 

FEATURES INCLUDE: Sockets for 3K of 2114 
RAM expansion • zero force sockets for both 
burn/verify and run EPROMS • includes all 
EPROM personality keys to allow run, copy, burn 
and/or verify for 2708, 2716 (t 5, + 12V) and 2716. 
2758, TMS 2516 (5V only) • 16 bit output port with 
LED on each bit • -5 and + 26V regulated supplys • 
MORE board requires only + 5V and + 12V at 200 
ma • address any K on 8K boundries • extends 
KIM'S edge connectors • P.C. board is plated 
through double sided epoxy • Manual, MORE 
board, all personality keys, software on tape (KIM 
format) and listings -- $169.95 • Extra -- 2708 
EPROM with software $20.00 

^204 

T.T.I. P.O. Box 2328 Cookeville. TN 38501 

Phone: 615-526-7579 



NUDES 

BARE BOARDS? What is the use of the Best Bare 
Board/Kit, I/O Board if no one knows about it? This 
board has everything! 48 lines of parallel I/O, com- 
pletely programable including hand shaking and bidi- 
rectional ports The serial I/O is programable for asyn- 
cronous/syncronous/bisyncronous communication. 
Included in this Board is probably one of the most 
useful and underated I/O components available, a 
counter/timer chip This chip can be used as a pro- 
gramable baud rate generator, a real time clock, a 
counter, a programable one shot, a programable divide 
by N counter, and several other uses besides!! Incred- 
ible as all this may seem, We are not through yet! This 
Board has 1K of RAM space and 3K EPROM space All 
this on One Board! The Master I/O Board is $39.95 
plus $2 shipping & handling; the Complete Kit includ- 
ing one 2708 EPROM is $138.95 plus $2 shipping & 
handling For $49 95 additional we will send you the 
complete Zapple Z-80 Monitor, one of the best debug 
monitors available, customized for the Master I/O 
Board including 3 EPROMS and documentation 

Order from R W Electronics. 3165 N Clybourn. Chi- 
cago, IL 60618. 312/248-2480 Master Charge & Visa 
welcome We ship worldwide Call or Send for Catalog 
Circle reader service card no. 



Kit 
$138.95 



C am 




^210 

Board 
$39.95 



DI$C0UNT 

COMPUTER PRODUCTS 

Master Charge & Visa Accepted 
(Please give card no and expiration date) 



APPLE 

APPLE II 16K $999. 

Micro Music 

Board for Apple 1 68. 

OHIO SCIENTIFIC 

SUPERB0ARD II 259. 

C1P4K 329. 

C1P8K 359. 

C4P 8K 598. 

C4P MF 1498. 

C8P 795. 

C8P DF 2349. 

C2 OEM 2399. 
Novation lie. 

Cat Modem 179. 



MAIL& PHONE ORDERS ONLY! 
SHIPPING EXTRA 
DELIVERY FROM STOCK TO 6 WEEKS 

P.O. BOX 308 

Thiells. N.Y. 10984 (914) 429-9631 



Tims Instrumonts 




Model 810 




Basic Printer 


1649. 


Centronics 




779-2 


1049. 


Tractor Feed Printer 


Epson Tx-80 




Tractor Printer 


688. 


Comprint Computer Printer 


International 




Comprint 912 S 


598. 


Hiultini 




1410 


798. 


1420 


891. 


1500 


998. 



16 K UPGRADE 

$66 95 

TRS80, APPLE II, 
AND SORCERER 



HIGH QUALITY PRIME 16K RAMS FOR MEMORY 
UPGRADE. THE KIT INCLUDES. THE RAMS. 
SHUNTS AND INSTRUCTIONS TO ALLOW EASY 
UPGRADE IN MINUTES. ALL PARTS CARRY 12 
MONTH WARRANTY. 

TO ORDER, SPECIFY KIT AND ENCLOSE CHECK 
OR MONEY ORDER. ADD $2.00 POST AND 
PACKING; TEXAS RESIDENTS ADD 5% SALES 
TAX. 



IAN ELECTRONICS 

P.O. BOX 14079 

AUSTIN, TEXAS 78761 



^209 




KEYBOARD EXPANDOR 

FOR 

APPLE II* 

C&H Micro announces the transformation of the AP- 
PLE II into a complete upper and lower case system 
KEYBOARD EXPANDOR. a hardware-software modifi- 
cation of the APPLE II. actually allows the shift keys to 
be used just like a conventional typewriter. 

The hardware change is a one-wire modification re- 
quiring one solder point. The software is a 1/4K trans- 
parent machine language routine which augments the 
Monitor. All APPLE characters and editing keys main- 
tained. Cap and Shift Locks and an Inverse mode dis- 
play option included. Compatible with methods dis- 
playing ASCII such as Paymar's LCA and the HI RES 
CHARACTER GENERATOR. Totally compatible with 
DOS. allowing use of U/L in TEXT files, PRINT and 
REM statements. DOS file names, and Immediate 
mode. 

Full documentation Software provided on disk. Or- 
ders, with certified check or money order for $2000, 
should be sent to: 

C&H Micro 

P.O. Box 249 

Clifton Park, NY 1 2065 

* Apple is a registered trademark of Apple Computer Inc. 



^ Reader Service — see page 257 



Microcomputing, April 1980 163 



Do-All-Plus 



The original Do-AII was a winner. This CBASIC conversion is even better. 



Thomas E. Doyle 
5222 Big Bow Rd. 
Madison W I 53711 



One of my duties as treasur- 
er of the Madison Area 
Repeater Association (MARA, 
Inc.) is to prepare financial re- 
ports for publication in our 
newsletter. MARA is an amateur 
radio club that owns and op- 
erates an amateur radio repeat- 
er system. As the club grew from 
a membership of 12 to its pres- 
ent membership of over 200, the 
time required to prepare these 
reports increased considerably. 
The newsletter is published 
four times each year, and each 
quarter I would look at my com- 
puter and think how much 
easier the job would be if the 
club records were on the com- 
puter. After considering the time 
required to write the programs 
to handle the tasks, I would get 
out the calculator, paper and 
pencil and prepare the report by 
hand. A decision by the club to 
publish the newsletter eight 
times each year provided the 
necessary incentive for me to 
write the programs. 

Writing Applications Programs 

I believe the first step in 
writing good applications pro- 
grams is to first forget about the 



computer and analyze the tasks 
as they are presently being done 
by hand. I reviewed the club 
books to categorize the nature 
of income and expenditures. I 
identified four income cate- 
gories: 

1) Dues paid by each member on 
a yearly basis 

2) Fund-raising activity— Swap- 
fest 

3) Sale of club property 

4) Donations to the club 

I discovered eleven expense 
categories: 

1) Tower space rental for repeat- 
er antennas 

2) Newsletter printing and mail- 
ing 

3) Phone bills 

4) Social — meeting refresh- 
ments, etc. 

5) Fund-raising activity— Swap- 
fest 

6) Donations to other groups- 
Red Cross, etc. 

7) Post office box rent 

8) Equipment purchases 

9) Repeater antenna expenses 

10) Printing — membership 
cards, etc. 

11) Misc. debits— checking-ac- 
count charges, etc. 

The existing financial reports 
consisted of a breakdown of 
club income and expenditures 
by category on a quarterly basis. 
In addition to preparing the 
financial reports, tasks include 
entering and correcting items, 
sorting items by date or cate- 



gory and printing lists of items. 
After determining the tasks to 
be performed, it is necessary to 
consider the available hardware 
and structure of the data file. 
For this application, information 
on each income or expense item 
will be stored on a disk file. One 
record on the file will be allocat- 
ed to each item. A record will 
contain four pieces of informa- 
tion on the item: 

1) Transaction code, which will 
identify the item by category 

2) Amount of income or expense 

3) Description of item 

4) Date on which the income or 
expense occurred 

The income and expense 
items will be stored together in 
the same file. The transaction 
code will identify the nature of 
the item as an income or an ex- 
pense. To allow for possible new 
income categories, ten trans- 
action codes were allocated for 
income categories. Since the 
first ten transaction codes were 
reserved for income items and 
the remaining transaction 
codes are reserved for expense 
items, programs working on this 
file can easily determine the 
nature of an item as an income 
or expense. 

The next step in writing good 
applications programs is to 
search the literature for pro- 
grams written by others to solve 
similar problems. Studying 
other programs is time well 



spent and may prevent the pro- 
grammer from reinventing the 
wheel. A literature search un- 
covered one program that would 
offer an excellent basis for solv- 
ing this problem: the Do-AII pro- 
gram by Randy Miller {Kilobaud, 
August 1977, p. 84). The Shell- 
Metzner sorting routine modifi- 
cations ("5 Minutes or 5 Hours?" 
Kilobaud, May 1978, p. 100) were 
added, and the program was 
converted to CBASIC and tried 
out. 

Program Modifications 

There were a few problems in 
using the Do-AII program in this 
application. Rather than rewrite 
the entire program, I decided to 
modify it. 

1) Add disk I/O, since the orig- 
inal program was set up for cas- 
sette. 

2) Store transactions by code 
number rather than description. 

3) Sort items by data, even if 
the items span more than one 
year. 

4) Modify the print function to 
include breaks between pages. 

There are two ways in which 
the disk I/O modification could 
be implemented. The structure 
of the Do-AII program could be 
left relatively intact, which 
would require that the entire 
data file be read into system 
memory from the disk. Opera- 
tions on the file, such as adding 
items, changing items and sort- 



164 Microcomputing, April 1980 



ing, would be carried out by 
making changes to the file while 
it is in system memory. 

After the changes to the file 
are made, the entire data file 
would be copied from memory 
to the disk. This method oper- 
ates at high speed and mini- 
mizes wear and tear on the disk 
system. The disadvantage of 
this method is that it requires a 
large system-memory area. 

Another way of adding disk 
I/O is to bring data from the disk 
file into system memory in small 
sections. This method has the 
advantage that it requires only a 
small amount of the system 
memory but it operates at a 
much slower speed in non-se- 
quential operations such as 
sorting. The amount of RAM in 
the system (48K) allowed over 
200 items to be in system mem- 
ory at once. This was adequate 
to hold more than one year's 
data, so I chose the first method 
of modifying the program. 

I added disk I/O to the Do-AII 
program by modifying the LOAD 
and DUMP routines. If the LOAD 
function is selected, the program 
asks if the data file is to be load- 
ed from the terminal or from the 
disk. If terminal input is speci- 
fied, the Do-AII program con- 
tinues normally. If disk input is 
specified, the program jumps to 
a routine (starts at Vine 11000) to 
load a data file with a name 
specified by the user into sys- 
tem memory. After the file is 
loaded, the program indicates 
the amount of free memory left. 

If the DUMP function (starts 
at line 3000) is selected, the pro- 
gram asks if the data is to be 
dumped to the terminal or to the 
disk. If the data is to be dumped 



to the terminal, the Do-AII pro- 
gram continues normally. If the 
data is to be dumped to the disk, 
the program jumps to a routine 
(starts at line 10000) that dumps 
the data to the disk. The name of 
the disk file under which the 
data is stored is selected by the 
user. 

A single-dimension string ar- 
ray called CATEGORY$ was set 
up to allow storage of the trans- 
action code as a single numeric 
quantity rather than a string de- 
scription. When the item infor- 
mation is printed out, the ele- 
ment in the CATEGORY$ array 
with an element number corre- 
sponding to the transaction 
code is printed rather than print- 
ing the transaction code itself. 
Since only a one- or two-digit nu- 
meric quantity, rather than the 
ten- to 20-character string de- 
scription, is used to indicate the 
transaction code, less space will 
be required to store the data on 
the disk and in memory. 

Modification of this program 
to allow a different set of in- 
come/expense category names 
requires only changes to the 
DATA statements located at the 
beginning of the program. Note 
that the second DATA state- 
ment consists of six blank ele- 
ments. This was necessary be- 
cause elements 1-10 were re- 
served for income categories 
and only four categories were 
required in this application. 

There is a problem when sort- 
ing data by date if the date infor- 
mation is in standard form. Con- 
sider two dates, 12/30/78 and 
1/1/79. If these two dates were 
ranked using normal sorting 
techniques, the 1/1/79 would 
come first. This problem arises 



Do-All-Plus program. 



REM DO-ALL-PLUS PROGRAM 

REM DO-ALL PROGRAM - KILOBAUD AUG, 77 PAGE 84 
REM SORT PROGRAM - KILOBAUD MAY, 7 8 PAGE 100 
REM T.E. DOYLE 2/4/79 

CATEGORIES=21 
MAXENTRIES=150 
ITEMS. PER. PAGE=28 
LINES. BETWEEN. PAGES=6 
DOUBLE. SPACE$=" YES" 
COMMAND. LIST$="LDSPARB" 



REM INCOME CATEGORY NAMES 

DATA "DUES","HAMFEST INC. ", "DONATIONS' 

DATA " "," "," "," ■•" "r" " 



'PROPERTY SALES' 



REM EXPENSE CATEGORY NAMES 

DATA "TOWER RENT" , "NEWSLETTER" ," PHONE BILLS" 
DATA "SOCIAL ","HAMFEST EXP. ", "DONATIONS" 
DATA "PO BOX RENT"," EQUIPMENT ", "ANTENNA 
DATA "PRINTING", "MISC. DEBITS" 



REM HEADING NAMES 

DATA "TRANSACTION" , "AMOUNT" , "DESCRIPTION" , "DATE 

DIM CATEGORY$ (CATEGORIES) ,HEADING$(4) 
DIM N(3,MAXENTRIES) , A$ ( 2 , MAXENTRIES) 

FOR INDEX=1 TO CATEGORIES 

READ CATEGORY$( INDEX) 
NEXT INDEX 

FOR INDEX=1 TO 4 

READ HEADINGS (INDEX) 
NEXT INDEX 

PRINT "REPEATER CLUB BUSINESS PROGRAM" 
PRINT 
1000 REM ENTRY POINT FOR INSTRUCTIONS 
INPUT "NEED INSTRUCTIONS"; ANSWERS 
IF LEFT$(ANSWER$,1)="N" THEN 1140 

REM PRINT INSTRUCTIONS 

PRINT "THIS PROGRAM CONTAINS SEVEN FUNCTIONS" 

PRINT "TO SELECT A FUNCTION - " 

PRINT "TYPE IN THE FIRST LETTER OF THE FUNCTION NAME 

PRINT "FOLLOWED BY A CARRIAGE RETURN." 

PRINT 

PRINT "LOAD - USED TO ENTER DATA FOR A NEW FILE FROM THE 

PRINT " TERMINAL OR TO LOAD A FILE FROM THE DISK" 

PRINT 

PRINT "DUMP - USED TO DUMP AN UPDATED FILE TO THE DISK 

PRINT " OR TO THE TERMINAL" 

PR INT 

PRINT "SORT - A FILE THAT HAS BEEN LOADED MAY BE SORTED BY" 

PRINT " ANY OF THE ITEM CHARACTERISTICS" 

PRINT 

PRINT "PRINT - A FILE THAT HAS BEEN LOADED MAY HE PRINTED" 

PRINT " COMPLETELY OR PARTIALLY" 

PRINT 

PRINT "ADD - ITEMS MAY BE ADDED TO A FILE THAT HAS BEEN LOADED" 

PRINT 

PRINT "REMOVE - ITEMS MAY BE REMOVED FROM A LOADED FILE 

PRINT 

PRINT "BALANCE - TOTAL EXPENSES, TOTAL INCOME AND BALANCE" 
PRINT " ARE CALCULATED AND PRINTED" 

PRINT 

PRINT "TRANSACTION CODE NUMBERS" 
PRINT "INCOME CATEGORIES" 
FOR INDEX =1 TO 10 
IF CATEGORY$( INDEX) <>" " THEN PRINT INDEX;"- " ;CATEGORY$ ( INDEX) 

NEXT INDEX 

PRINT "EXPENSE CATEGORIES" 

FOR INDEX =11 TO CATEGORIES 

PRINT INDEX;"- " ;CATEGORY$ ( INDEX) 
NEXT INDEX 

1140 REM ENTRY POINT FOR NEW COMMAND 
PRINT 

INPUT "COMMAND" ;COMMAND$ 
FOR INDEX=1 TO LEN (COMMAND. LIST$ ) 

IF COMMAND$=MID$ (COMMAND. LIST$, INDEX, 1) THEN 1210 
NEXT INDEX 

PRINT "NO FUNCTION OF THAT TYPE EXISTS IN THIS PROGRAM." 
GOTO 1000 
1210 ON INDEX GOTO 2000,3000,4000,5000,6 000,7 000,8000 

2000 REM LOAD FUNCTION 
P=l 

INPUT "LOAD FROM DISK OR TERMINAL" ;ANSWER$ 
IF LEFT$(ANSWER$,1)="D" THEN 11000 
PRINT 

IN FOLLOWING FORMAT" 

" , ";HEADING$(2) 



PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 



"ENTER DATA 
HEADING$(1) ; 
HEADING$(3) 
HEADING$(4) 



TRANSACTION 
DESCRIPTION 



CODE AND 
AND DATE 



"TYPE FOR 
"TYPE $ FOR 
2065 PRINT 

INPUT N(1,P) ,N(2,P) 

INPUT A$(l ,P) 
2090 INPUT A$(2,P) 

PRINT 

IF N(1,P)<>0 OR N(2,P)<>0 THEN 2120 

IF A$(1,P)="$" AND A$(2,P)="$" THEN 
2120 P=P+1 

IF LEN(A$(2,P-D )<6 THEN PRINT"DATE 

IF LEN(A$(2,P-1) ) >8 THEN PRINT "DATE 

IF P<=MAXENTRIES THEN 2065 

PRINT "TOO MANY ENTRIES" 

GOTO 1140 

2200 REM SET UP DATE NUMERICAL ARRAY 
PRINT "FILE LOADED" 
FOR INDEX=1 TO P-l 

X$=A$(2, INDEX) :GOSUB 9900 

N(3,INDEX)=X 
NEXT 

PRINT "REMAINING RAM = ";FRE 
GOTO 1140 



3000 REM DUMP FUNCTION 

INPUT "DUMP TO DISK OR TERMINAL" ; ANSWERS 

IF LEFT$(ANSWER$,1)="D" THEN 10000 

PRINT 

GOSUB 9520 

FOR INDEX=1 TO P-l 

PRINT N(l, INDEX) ; " , " ; N ( 2 , INDEX) 

PRINT A$(l, INDEX) 

PRINT A$(2,INDEX) 
NEXT INDEX 
PRINT "0,0" 
PRINT "$" 
PRINT "$" 
GOSUB 9520 
GOTO 1140 



AMOUNT" 
TO STOP' 



2200 

ERROR" : P=P-1 : GOTO 2090 
ERROR" :P= P-l : GOTO 2090 



4000 REM SORT FUNCTION 
GOSUB 9080 



Microcomputing, April 1980 165 



INPUT "TYPE * FOR SORT";T 

IF T>2 THEN 4130 
4050 M=P 
4055 M=INT(M/2) 

IF M=0 THEN 1140 

J=l : K=(P-1)-M 
4070 I=J 
4075 L=I+M 

IF N(T,I)<=N(T,L) THEN 4105 

GOSUB 9210 

I=I-M 

IF Kl THEN 4105 

GOTO 407 5 
4105 J=J+1 

IF J>K THEN 4055 

GOTO 4070 

4130 REM SORT BASED ON DESCRIPTION OR DATE 
IF T=4 THEN T=3 : GOTO 4050 
T=T-2 
M=P 

4160 M=INT(M/2) 

IF M=0 THEN 1140 

J=l : K=(P-1)-M 
4190 I=J 
4200 L=I+M 

IF A$(T,I)<=A$(T,L) THEN 4260 

GOSUB 9210 

I=I-M 

IF Kl THEN 4260 

GOTO 4200 
4260 J=J+1 

IF J>K THEN 4160 

GOTO 4190 

5000 REM PRINT FUNCTION 
L=0 

INPUT "COMPLETE OR PARTIAL PRINT ( C OR P )";COMMAND$ 
IF COMMAND$="P" THEN 5100 
GOSUB 9800 
GOSUB 9350 
FOR INDEX=1 TO P-l 

GOSUB 9410 

L=L+1 

IF L=ITEMS. PER. PAGE THEN GOSUB 9600 
NEXT INDEX 
GOSUB 9460 
GOSUB 9800 
GOTO 1140 

5100 REM PARTIAL PRINT BASED ON TRANSACTION CODE OR AMOUNT 
GOSUB 9080 

INPUT "NUMBER OF ITEM FOR LIMITS" ;T 
IF T>2 THEN 5230 
INPUT "ENTER MIN, MAX" ; LI , H 
5160 GOSUB 9800 

GOSUB 9350 

FOR INDEX=1 TO P-l 

IF N(T,INDEX)<L1 OR N(T, INDEX) >H THEN 5170 

GOSUB 9410 

L=L+1 

IF L= ITEMS. PER. PAGE THEN GOSUB 9600 
5170 NEXT INDEX 
GOSUB 9460 
GOSUB 9800 
GOTO 1140 

5230 REM PARTIAL PRINT BASED ON DATE 

T=T-2 
5240 INPUT "MINIMUM, MAXIMUM" ;B1$ ,C1$ 

IF C1$<B1$ THEN 5240 

IF T=l THEN 526 

X$=Bl$:GOSUB 9900:L1=X 

X$=Cl$:GOSUB 9900:H=X 

T=3 

GOTO 5160 

5260 REM PARTIAL PRINT BASED ON DESCRIPTION 
GOSUB 9800 
GOSUB 9350 
FOR INDEX=1 TO P-l 

IF A$(T, INDEX) >=B1$ AND A$ (T, INDEX)<=C1$ THEN GOSUB 9410 
NEXT INDEX 
GOSUB 9460 
GOSUB 9800 
GOTO 1140 

6000 REM ADD FUNCTION 

IF P<MAXENTRIES THEN 6040 
PRINT "TOO MANY ENTRIES" 
GOTO 1140 
6 04 PRINT "ENTER THE FOLLOWING DATA:" 
GOSUB 9150 
P=P+1 

IF LEN(A$(1,P))<25 AND LEN ( A$ ( 2 , P) )<25 THEN 1140 
PRINT "STRING TOO LONG-WARNING ONLY" 
GOTO 1140 

7000 REM REMOVE FUNCTION 

PRINT "ENTER THE FOLLOWING DATA" 
GOSUB 9150 
FOR INDEX=1 TO P-l 
IF N(l,INDEX)ON(l,P) OR N ( 2 , INDEX) ON ( 2 , P) THEN 7160 
IF A$(l,INDEX)OA$(l,P) OR A$ ( 2 , INDEX) <>A$ ( 2 , P) THEN 7160 
FOR K= INDEX TO P-2 
FOR T=l TO 2 
A$(T f K)=A$(T,K+l) 
N(T,K)=N(T,K+1) 
N(3,K)=N(3,K+1) 
NEXT T 
NEXT K 
P=P-1 
GOTO 1140 
7160 NEXT INDEX 
PRINT "NO MATCH FOUND - NO ITEM REMOVED" 
GOTO 1140 

8000 REM CURRENT BALANCE FUNCTION 
TOTAL. EXPENSES=0 : TOTAL. INCOME=0 



because the year information, 
which is the most significant 
part, is in the least significant 
digit positions. Note that if the 
dates being sorted do not differ 
in the year positions, the list will 
be sorted properly. 

To solve this problem, I in- 
cluded a routine (starts at line 
9900) to convert the date infor- 
mation from string form to a six- 
digit numerical value. The most 
significant two-digit positions 
contain the year, the next two 
contain the month and the least 
significant two-digit positions 
contain the date. For the two 
dates discussed above, the nu- 
meric date values would be 
783012 for 12/30/78 and 790101 
for 1/1/79. This numeric equiva- 
lent date is stored on the disk 
file in addition to the date in 
string form. Since I incorporated 
this change, I have had no prob- 
lems in sorting files by date. 

Printing a list of items in the 
original Do-AII program involved 
printing a heading followed by 
the items. If there are a large 
number of items, the program 
will print them out sequentially 
without leaving breaks for the 
start of new pages. The print 
function (starts at line 5000) was 
modified such that the program 
prints a heading at the top of 
each page and includes a break 
between pages. 

As is, the program will print a 
heading and 28 double-spaced 
items per page. This results in 
1 1-inch page lengths when print- 
ed on a Teletype machine (ASR- 
33). To eliminate the double 
spacing of items, change the 
value of DOUBLESPACES from 
YES, the value to which it is set 
at the beginning of the program, 
to NO. To change the number of 
items per page, change the 
value of ITEMS. PER. PAGE, 
which is presently set to 28 at 
the beginning of the program. 

Form-feed action is simulated 
by inserting a number of blank 
lines between pages. On a Tele- 
type machine six blank lines at 
the end of each page resulted in 
a page length of 1 1 inches. If you 
wish to modify the number of 
blank lines inserted between 
pages, change the value of 
LINES. BETWEEN. PAGES, 
which is set to 6 at the beginning 
of the program. 



The Do-AII program included 
provisions for a user-defined 
function. For this application 
the function was set up as a 
balance summary. This function 
(starts at line 8000) reads 
through the file information in 
memory and calculates total in- 
come, total expenses and net 
balance. The only other signifi- 
cant change to the Do-AII pro- 
gram was the inclusion of sev- 
eral print statements within the 
program to make it self docu- 
menting. 

This program will run under 
BASIC-E if you change the 
PRINT USING statements in the 
routines starting at lines 8000 
and 9140 to normal PRINT state- 
ments. 

Quarterly Report Program 

The financial report program 
is designed to process a data 
file set up by the Do-All-Plus pro- 
gram. The report program prints 
a summary of club transactions 
by printing a list of income and 
expense category amounts by 
quarter. The program asks for 
the name of the data file con- 
taining the transaction infor- 
mation, the date of the report, 
the year the report is to cover 
and the starting cash balance at 
the beginning of the year. 

After printing the income and 
expense information by cate- 
gory, the program prints total in- 
come, total expense and net 
balance information. With the 
cash balance at the beginning 
of the year included, the net 
balance total should equal the 
present cash balance. 

Rather than reading the entire 
data file into memory and then 
processing the data, the pro- 
gram reads only one record from 
the file into memory at a time. 
The disk file access is a simple 
sequential read operation, so it 
was not necessary to read the 
entire file into memory. 

After reading a record from 
the disk, the program deter- 
mines if the date falls within the 
year that the report is to cover. If 
the date falls outside the year, 
the next record will be read. If 
the date falls within the year, the 
date will be converted from six- 
digit numerical form to a one- or 
two-digit month form and then 
to the appropriate quarter. 



166 Microcomputing, April 1980 



Store Hours: 
Mon - Fri 9-5:30 
Ask for spec sheets 



EXTRA SPECIAL PRICES & DELIVERY 

Prices good until next Magazine issue 



Domestic & International 
Dealer Inquiries Invited 



PAPER TIGER PRINTER 

Includes Graphics (New low price) $ 949 

Best quality cables for TRS-80 & Apple, In stock $ 39 

TI 810 SERIAL PRINTER 

Shipping included on TI's $1725 

TI 820 SERIAL PRINTER 

Full package $1995 

QDP - 1 00 State Of The Art Reliable - Powerffull 
Complete - Up & Running Powered & Programmed 



SUPERBRAIN COMPUTER 

34K System $2995 

64K System (CP/M & Basic included) ^d $ 195 

INTERTEC INTERTUBE TERMINAL 

Checked and tested by us $ 797 

ATARI-VIDEO COMPUTER 

SYSTEM 800 

8K RAM, Basic, cassette recorder $ 895 

Software & disk drives available 



SINGLE BOARD COMPUTER 

4MZ Z-80. DBL sided. DBL density disk controller. 2716 prom burner. 2 parallel & 2 Ser 
ports, real time clock. Bios for CRM 2 2. monitor in prom This is absolutely the best board 
we have ever seen. It plus the Con Data 64K memory board gives you a complete system 
One year parts & labor guarantee (The best) $ 995 






• Two 8" double-sided, 
double density floppies 

* Monitor in Prom 



• 64K Memory 



• Int. 2716 Prom Burner 



• Four ports 



• Full editing, smart CRT terminal 



• Disk Controller— up to 4 M.B. 



Vtl"* 



2 Serial 2 Parallel 



• Basic language included 



• S 100 Motherboard 



• CP/M 2.2 included 



* Real time clock 
• Z-80 4MHZ CPU 



Quasar Computer System 



Take a good look at the other machines on the market and compare. Our system is burned in, fully tested 
and assembled. The CPU Board is warranted for parts and labor for one year. Please call and we'll tell you more. 
Stock to 30 days ARO $4795 



CENTRAL DATA 4MZ 64K 

Dynamic Ram Bd. assembled & tested 
16K - $250 32K - $350 48K - $450 64K 



$549 



TELETEK DBL. DENSITY, DBL. SIDED 



Disk Controller Board 

(The best) includes cable & source bios 



$ 395 



SOFTWARE 

Integrated Accounting System G/L a p a r p/r. inv $1500 

Selector III Data Base Management System $ 295 

Wordstar by Micro Pro Word Processinq System $ 445 

C Basic $ 109 

QUASAR FLOPPY SYSTEM 



Two MFE DBL sided drives * Cable * 
assembled and tested 



Case & Power Supply 
Special $1695 



MFE DBL. SIDED, DBL. DENSITY 

Floppy disk drives (the best) $ 650 

Using the Teletek Controller under CP/M, this drive will give 
you almost one megabyte per disk drive 

Power supply for above $ 1 10 



QUASAR 2 MEG FLOPPY 



* 2 MFE double sided drives * 

* Teletek disk controller board • 

* Power supply & cable * 



Special -$2095 

Wood cabinet 

CP/M version 2.2 & bios 
Assembled & tested 



Checks, money orders accepted 
Add $2.50 freight charges on orders under 10 lbs. Over 10 lbs. F.O.B. Cleveland 



master charge 



QUASAR DATA PRODUCTS 



VISA 



»x31 



25151 Mitchell Dr., No.Olmsted, Ohio 44070 (216)779-9387 



^Reader Service — see page 257 



Microcomputing, April 1980 167 



A two-dimension array called 
VALUE is used to keep a running 
total of the category amounts by 
quarter. Note that of the five 
pieces of information present in 
the record, the program only 
uses three— transaction code, 
amount and numerical form of 
the date. Item description and 
date in string form are not used. 

A single-dimension string ar- 
ray called CATEGORY$ is used 
to store the names for the in- 
come and expense transaction 
codes. These names, which are 
contained in the DATA state- 
ments, should match the cat- 
egory names used in the Do-All- 
Plus program. If the category 
names or number of transaction 
codes is changed in the Do-All- 
Plus program, the changes must 
also be made in this program. 

This program was written in 
CBASIC and could be modified 
to run in BASIC-E by changing 
the PRINT USING statements to 
normal print statements. Unfor- 
tunately, removing the for- 
matted print statements would 
make the report printout unor- 
ganized. 

The program is set up to pre- 
pare a report based on a calen- 
dar year running from January 
through December. The pro- 
gram determines if an item 
should be included in the report 
by comparing the six-digit 
numerical date value for the 
item with DATE.MIN and 
DATE.MAX. If the date falls be- 
tween these two dates, the item 
is included. 

The value for DATE.MIN is 
calculated by multiplying the 
value for the year as entered by 
the user by 10000. For example, 
if the user entered 78 for the 
year, the value of DATE.MIN 
would be 780000. The value for 
DATE.MAX is calculated by add- 
ing 1 to the year and multiplying 
by 10000. For the previous ex- 
ample, where DATE.MIN is 
780000, the value of DATE.MAX 
would be 790000. 

To change the report year to a 
non-calendar fiscal year, it is 



DATEMIN 


-(YEAR. 10000)+ 700 




DATEMAX 


((YEAR + 1). 10000) + 

Example 1. 


700 



necessary to change the value 
of DATE.MIN and DATE.MAX. 
As an example, consider a fiscal 
year running from July 1 through 
June 30. The lines that calculate 
DATE.MIN and DATE.MAX 
would have to be changed as 
shown in Example 1. 

If the modifications were 
made and the user requested a 
report for 78, the program would 
set DATE.MIN to 780700 and 
DATE.MAX to 790700. The pro- 
gram would then include in the 
calculations any items with a 
date between these values. 
Note that items with a date 
greater then July 0. 1978, and a 
date less then July 0, 1979, will 
be included. The program would 
be modified for other fiscal 
years in a similar manner. 

Using the Programs 

The first step in using these 
programs is to set up a disk file 
containing income and expense 
items. First, execute the Do-All- 
Plus program and specify the 
LOAD function. When asked if 
data is to come from the disk or 
the terminal, specify the ter- 
minal. Enter the item infor- 
mation for all items. When you 
are through entering items, 
enter for transaction code and 
amount and enter a $ for de- 
scription and date. 

Next, specify the PRINT func- 
tion to obtain a printout of the 
data file as it exists in memory. 
If there are items with errors, re- 
move them with the REMOVE 
function and add corrected 
information with the ADD func- 
tion. When the data file is cor- 
rect, it may be sorted by specify- 
ing the SORT function. The 
SORT function allows sorting by 
transaction code, amount, de- 
scription or date. Sorting the file 
by date has turned out to be the 
most useful. 

After the file has been en- 
tered, corrected and sorted, 
specify the DUMP function. 
When asked if the data should 
be dumped to disk or terminal, 
specify the disk. The program 
will request a file name under 
which the data is to be stored. 
Be sure that the file name you 
choose is not the name of a file 
already existing on the disk. If 
you wish to make a backup copy 
of the file on the same disk, re- 



TOTAL. EXPENSES 



FOR INDEX=1 TO P-l , „. 

IF N(l, INDEX) > 10 THEN TOTAL. EXPENSES=TOTAL. EXPENSES+N( 2 , INDEX) 
IF N(l, INDEX) < 11 THEN TOTAL. INCOME=TOTAL. INCOME+N ( 2 , INDEX) 

NEXT INDEX 

PRINT "TOTAL INCOME = "; 

PRINT USING "$$####,. ##";TOTAL. INCOME 

PRINT "TOTAL EXPENSES = "; 

PRINT USING "$$####,. ##";TOTAL. EXPENSES 

PRINT "BALANCE = "; 

PRINT USING "$$####,. ##";TOTAL. INCOME - 

GOTO 1140 

9080 REM PRINT HEADINGS WITH NUMBER CODE 
PRINT 
FOR INDEX=1 TO 4 

PRINT INDEX;HEADING$( INDEX) 
NEXT INDEX 
PRINT 
RETURN 

9150 REM PRINTS HEADINGS AND ALLOWS INPUT 
FOR INDEX=1 TO 4 

PRINT HEADINGS (INDEX) 
NEXT INDEX 

INPUT N(1,P) ,N(2,P) ,A$(1,P) ,A$(2,P) 
X$=A$(2,P) :GOSUB 9900 : N ( 3 , P) =X 
IF LEN(X$)<6 THEN PRINT "DATE ERROR" 
IF LEN(X$)>8 THEN PRINT "DATE ERROR" 
RETURN 



GOTO 
GOTO 



9150 
9150 



9210 REM BUBBLE SORT SWAP 
X1=N(1,L) 
X2=N(2,L) 
B1$=A$(1,L) 
B2$=A$(2,L) 
FOR Z=l TO 2 

N(Z,L)=N(Z,I) 

A$(Z,L)=A$(Z,I) 
NEXT 

11(1, 1) -XI 
N(2,I)=X2 
A$(1,I)=B1$ 
A$(2,I)=B2$ 

X1=N(3,L) :N(3,L)=N(3,I) :N(3,I)=X1 
RETURN 

9350 REM PRINTS TITLES 
GOSUB 9460 

PRINT HEADING$(1) ;TAB(19) ;HEADING$(2) ; 
PRINT TAB(32) ;HEADING$(3) ;TAB(55) ;HEADING$(4) 
PRINT 
RETURN 

9410 REM PRINTS ONE ENTRY 

PRINT CATEGORY$(N(l, INDEX) ) ;TAB(15) ; 

PRINT USING "$$####, .##";N(2, INDEX) ; 

PRINT TAB(28) ; A$ ( 1 , INDEX) ;TAB(54) ;A$(2 f INDEX) 

IF DOUBLE. SPACE$="YES" THEN PRINT 

RETURN 



9460 REM PRINTS A LINE OF 

FOR Z=l TO 6 2 

PRINT "-"; 
NEXT 
PRINT 
RETURN 

9520 REM PRINTS A STRING OF 50 NULLS 
FOR JNDEX=1 TO 50 

PRINT CHR$(0) ; 
NEXT INDEX 
RETURN 

9600 REM NEW PAGE 
GOSUB 9800 
GOSUB 9350 
RETURN 

9800 REM FORM FEED 

FOR Z=l TO LINES. BETWEEN. PAGES 

PRINT 
NEXT Z 
L=0 
RETURN 

9900 REM CONVERT DATE STRING TO NUMERICAL 
L=l 

IF MID$(X$,2,1)=V" THEN ABC$="0"+LEFT$ (X$ ,1 ) :GOTO 9940 
ABC$=LEFT$(X$,2) :L=2 
9940 B$=MID$(X$,L+2,LEN(X$)-L-4) 
IF LEN(B$)=1 THEN B$="0"+B$ 
C$=RIGHT$(X$,2) 
X=VAL(C$+ABC$+B$) 
RETURN 

10000 REM SAVE DATA ON DISK 
INPUT "FILE NAME";FILE$ 
FILE FILE$(64) 
FOR R=l TO P-l 

PRINT #1,R;N(1,R) ,N(2,R) ,A$(1,R) ,A$(2,R) ,N(3,R) 
NEXT R 
CLOSE 1 
GOTO 1140 

11000 REM LOAD DATA FROM DISK 
INPUT "FILE NAME";FILE.NAME$ 
FILE FILE.NAME$(64) 
IF END #1 THEN 11100 
FOR R=l TO 1000 

READ #1,R;N(1,R) ,N(2,R) ,A$(1,R) ,A$(2,R) ,N(3,R) 

P=R+1 
NEXT R 
11100 PRINT "FILE LOADED." 
PRINT "REMAINING RAM = ";FRE;" BYTES." 
GOTO 1140 

END 



168 Microcomputing, April 1980 



EDUCATIONAL SOFTWARE 


*TRS80 


Math Package 1 14.95 


Math Package II 14.95 


Sets & Numbers 


Fractions 


Place Value 


Decimals 


Number Strings 


Factoring 


Math Drill 


Metric Rlackjack 


Division Drill 


Metric Roadrunner 


Speed Drill 


Bagels Math Game 




Stones Math Game 


Business Package 1 14.95 


Business Package II 14.95 


Accounting Tutorial I 


Annuities 


Accounting Tutorial II 


Loan Amortization 


General Ledger 


Bank Reconciliation 


Depreciation 


Stock Market Simulation 


History & Geography 14.95 


Education Package 1 14.95 


Revolutionary War Qui/ 


Cell Simulation 


Regions of the U S 


Survival of Fittest 


States & Capitals 


Economy Simulation 


Presidents 


Proiectile Motion 




Plot 




Reading Analysis 


Education Package II 14.95 


Games Package 14.95 


Change Maker 


Battleship 


Hangman 


Birthday Analysis 


Name that Letter 


Concentration 


Kingdom 


Football 


Animals 


4x4 Tic-tac-toe 


Similar Packages Avai 


able For The 8k *PET 


Write for Fi 


*'♦• ( atolog 


Micro Learning Ware 


Box 


21 < 4 ^223 


N Mankato 


. MN 56001 


S07-b2S-220 r > 


* TRS 80 Trademark of Tandy Corp. 


"PET Trademark of Commodore business Machines 



SUPERIOR SOFTWARE PACKAGES 
DISK BASED T Rb" OU 

THE #$79.95 

SMART TERMINAL 

• TRUE BREAK KEY 

• AUTO REPEAT KEYS 

• PROGRAMMABLE SOFT' KEYS 

• MULTIPAGE SCROLLING DISPLAY 

• FULLY CONFIGURED FROM KEYBOARD 

• TRANSMIT SCREEN. PRINT SCREEN 

• TRANSMIT FILE, RECEIVE 8. CREATE 
DISK FILE 

• FLEXIBLE I/O LINKAGE CAPABILITY 

• MULTI PROTOCOL CAPABILITY 



SPOOL-80 



$39.95 



PRINT YOUR LISTINGS WHILE RUN 
NING OTHER PROGRAMS 



DISPLAY + 



$49.95 



FULLY SCROLLING DISPLAY DRIVER 
AND HIGH PERFORMANCE KEYBOARD 
DRIVER USED IN THE SMART TERMINAL 
AVAILABLE SEPARATELY. 



MICRON, INC. 

10045 Waterlord Dr. 
Ellicott City, MD 21043 



^173 

(301)461-2721 
MC/VISA accepted 



CHEAP BOOKKEEPER 



A GENERAL LEDGER SYSTEM 



See to Believe 

Sold by Sturdivant and Dunn, Inc. for Radio Shack TRS-80* 
Model I Level II 32 or 48 K systems with 2 drives and at least 

an 80 character per line printer. 

Send $1.00 for information and sample printouts (14 pages) 
to Sturdivant and Dunn, Inc., Box 277, Conway, NH 03818. 
^ 170 Price is $175.00. 

* TRS-80 is a Trademark of Radio Shack, a Division of Tandy corporation. 




MAILROOM PLUS 




Make Your TRS 80 Work Like A Mini-IBM! 



Mailrooin I'lus \\ as <l<-\t-l<>|M'<l lor thr National Rifle Association nu'inlMTsliip mailing. It Icaturcs 
soi tiny l>\ last name or mi-inlx-r niunlur in addition to zip link*. The program \\ ill sort otM) nanu-s 
in .50 411 minutes, kill duplicates, and close up the lilc. Mailroom I'lus will also search all records 
lor caleuorv . name, state, zip (or am other search code) and print these ntords on laln-ls or in 
tahnlar lorm It separates larijc liles into smaller ones l>\ state or zip or inerues small Flit's into one 
larjp" «»"«' MailriMHii I'lus is a\ ailahle on 32-4KK disk lor $75.1)1) In lirst class mail. ( >rdcr yours to- 
da\ postpaid. 



THE PERIPHERAL PEOPLE ^112 




PO Box 524, Mercer Island, WA 98040 

206-232-4505 
Master Charge and VISA cards welcomed 



Tt&T 




0* 



a MILESTONE 
PRINTER OFFER!!! 

DAISY WHEEL TERMINALS 



Featuring DIABLO HYTYPE PRINTERS 

Features 

• KSR & Plot Modes 
•ASCII RS 232 I/O 

• 110. 115. 300 Baud Input 

• Dual Pitch (1012) 
•30 Day Guarantee 

• Many More Exciting 
Features! 



These used cleaned and relurbist Wheel tarmmalt feature the 

FAMED DIABLO HYTYPE Daisy Wheel Pnnter with itl multitude ot capa- 
bilities Includes 1 60 horizontal & 1 48 . icing in the PLOT mode 
— LIMITED OFFER. SPECIAL PRICE'- 




While They Last!. 



We also oiler many types ol vnnteis 
Selectnc* . KSR. HO & More 



Now From »j 5QO!! 



' IOH I XAMI'l I 



I/O SELECTRIC Pfinter Typewriter 'r.tnie hvy duty 

735-745 machine and solenoids etc Data 1 

Removed Operational Condition Only $469. OO call For 

From Word 

Processors '"««>! 



13" VIDEO MONITORS 

115 VAC 60 Hz video input (BNCl 
Ready To Use 1 " Like New Indiv Bo- 
Includes Controls 



ONLY 

$ 99.00 



9" (diag.), 12V 
VIDEO DISPLAYS 

• Featuring 12VDC Operah. 

• Draws 800 mA «i 1? Volts DC 

• NCW m original boxes roady t' 

• LOW LOW PRICE 

• Video Input 

• Mfg by Motorola 



4 



ONLY 

$ 89.00 

2 FOR 

•165.00 



Write or Call lor ( )m I • 

^ USED PERIPHERAL FLYER 

*^» (603)382-5179 & 

■ M iLlur; h iinn Jl W I ' „ A Ar / iinliiM 



•Mastercharge A visa a 
• Phone Orders Are W- 
• Prices May Not ln< lude Shippinq 4 n • 
• Quantities Are Limited «Pno 



^110 



DELTRONIKS 



1 . EMM 4 200 A. 4K Static RAMs, Ceramic 

A local memory boards manufacturer 
closed. We bought the new memory 
boards and took these 4200A static 
RAMs out. They are tested and 90-day 
guaranteed 100% good. 
Prime tested 4200 A 4K RAMs $ 5 . 50 ea . . 
32/$ 160.00. 300 pieces or more $4.50 
ea. 

2. 1 6K Dynamic RAMs, prime ceramic. 
200 nS chips at unbelievable prices. 
Good for TRS-80. Apple II and Sorcerer. 
Set of 8 chips, guaranteed. 

Only $64.95 (limited qty) 

3. PowerSCR's(GLC50A) 1 00 volt @ I 10 
amps $6.95 ea. 

4. Squirrel Cage Fans (Howard)$7.00 ea. 

5. Power Diode I N I 202 A, 200 volt @ I 2 
amp 4 for $1 .00 

6. LM 323 5 Volt 3 amps, voltage regu- 
lator 4.95 each or 10/45.00. 

7. Super Saver, Micro PD4 I I , Ceramic 4K 
x I dynamic RAMs 8 for $ \ 0.00 





DELTRONIKS 

5151 Buford Highway ^ 1t1 
Atlanta, GA 30340 
(404-458-4690) 



Reader Service — see page 257 



Microcomputing, April 1980 169 



quest the DUMP function again 
and dump the data file from 
memory to the disk under an- 
other file name. 

To have a quarterly report 
printed, leave the Do-All-Plus 



L 



program (type in a control-C). Ex- 
ecute the REPORT program and, 
when asked for the data file 
name, specify the file name in 
the DUMP function. To add 
items to the data file, run the Do- 



Quarterly Financial Report program. 



REM QUARTERLY FINANCIAL REPORT PROGRAM 

REM PROCESSES DATA FILE SET UP UNDER DO-ALL-PLUS PROGRAM 

REM T.E. DOYLE 2/4/79 

CATEGORIES=21 

PRINT "QUARTERLY FINANCIAL REPORT" 

INPUT "DATA FILE NAME";FILE$ 

FILE FILE$(64) 

IF END #1 THEN 200 

INPUT "REPORT DATE" ; REPORT. DATE$ 

INPUT "BALANCE AT START OF YEAR" ; BALANCE 

INPUT "YEAR";YEAR 

DATE. MIN= YEAR* 10000 

DATE.MAX=(YEAR+1) *10000 

PRINT:PRINT:PRINT 

DIM VALUE (CATEGORIES, 4) , CATEGORY? (CATEGORIES) 

REM CALCULATE CATEGORY VALUES BY QUARTER 

FOR RECORD=l TO 1000 

READ # 1 , RECORD ; CATEGORY , AMOUNT , W$ , D$ , DATE 

IF DATE< DATE.MIN OR DATE > DATE. MAX THEN 100 

MONTH=INT( ( DATE-DATE. MIN)/1 00) 

IF MONTH < 4 THEN QUARTER=1 

IF MONTH < 7 AND MONTH > 3 THEN QUARTER=2 

IF MONTH < 10 AND MONTH > 6 THEN QUARTFR=3 

IF MONTH > 9 THEN QUARTFR=4 

VALU E ( CATEGORY , QUARTER ) = VALUE ( CATEGORY , QUARTER ) +AMOUMT 

100 NEXT RECORD 

200 CLOSE 1 

REM READ CATEGORY NAMES INTO ARRAY 
FOR CATEGORY=l TO CATEGORIES 

READ CATEGORY? (CATEGORY) 
NEXT CATEGORY 

REM INCOME CATEGORY NAMES 

DATA "DUES", "HAMFEST", "DONATIONS" , "PROPERTY SALFS" 

DATA " M " M " ** H M M " ** M 

REM EXPENSE CATEGORY NAMES 

DATA "TOWER RENT" , "NEWSLETTER" , "PHONE BILLS" 

DATA "SOCIAL ", "HAMFEST" , "DONATIONS" 

DATA "PO BOX RENT", "EQUIPMENT ", "ANTENNAS " 

DATA "PRINTING", "MISC. DEBITS" 



REM PRINT HEADING FOR CHART 
Y=1900+YEAR 
PRINT TAB (19) ; " * " ; Y ; 
PRINT TAB(27) /"FINANCIAL REPORT 
PRINT 
PRINT 
PRINT 

PRINT TAB (22) ; " 1 " ; TAB ( 3 1 ) ; ■ 2" ;TAB( 40) 
FOR Z=l TO 6 3 
PRINT "-"; 
NEXT Z 
PRINT 

REM CALCULATE CATEGORY TOTALS 

REM PRINT CATEGORY VALUES BY QUARTER AND TOTAL 
FOR CAT=1 TO CATEGORIES 
TOTAL=0 
FOR QUARTER=1 TO 4 

TOTAL=TOTAL+ VALUE (CAT, QUARTER) 
NEXT QUARTER 
IF CAT < 11 THEN INCOME= INCOME+TOTAL 
IF CAT > 10 THEN EXPENSES=EXPENSES+TOTAL 
IF TOTAL=0 THEN 400 
IF FLAG=1 OR CAT<10 THEN 300 
PRINT 

PRINT "* EXPENSES *" 
FOR Z = l TO 6 3 

PRINT "-"; 
NEXT Z 
PRINT 
FLAG=1 

300 PRINT CATEGORY? (CAT) ;TAB( 18) ; 
PRINT USING "####. ##";VALUE(CAT,1) ;TAB(27) 
"####.##"; VALUE (CAT, 2) ; TAB (36) 
"####.##"; VALUE ( CAT , 3 ) ; TAB (45) 
"####.##" ; VALUE (CAT, 4) ; TAB (54) 
"$$####,. ##";TOTAL 



TAB (32) ; "QUARTER" ;TAB( 57) ;"YEAR' 



3";TAB(49) ;"4";TAB(56) ; "TO DATE" 



PRINT 
PRINT 



USING 
USING 



PRINT USING 
PRINT USING 
4 00 NEXT CAT 



REM PRINT SUMMARY INFORMATION 
PR I NT -.PRINT 

TAB (39) ;" START 

USING "$$####, 

TAB (3 9) ; "TOTAL 

USING "$$####, 

TAB (3 9) ; "TOTAL 

USING "$$####, 



BALANCE" ;TAB( 54) ; 
##"; BALANCE 
INCOME", -TAB (54) ; 
##"; INCOME 
EXPENSES"; TAB (54) ; 
##"; EXPENSES 



PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PRINT 

PR I NT 

PRINT TAB(39);"NET BALANCE" ;TAB ( 54 ) ; 

NET= (CALANCE+ INCOME) -EXPENSES 

PRINT USING "$$####,. ##";NET 

PRINT: PRINT 

PRINT "REPORT DATE - " ; REPORT. DATE? 

PRINT : PRINT : PRINT : PRINT : PRINT 

END 



All-Plus program and request 
the LOAD function. When asked 
if the data is to be loaded from 
disk or terminal, specify the 
disk. When asked for the file 
name, specify the name used in 
the DUMP command. 

After the file is loaded, add 
items to the file with the ADD 
function. After all new items 
have been added, re-sort the file 
if necessary and dump the up- 
dated version back to the disk 
using the DUMP command. 

Note that the LOAD function 
is not to be used to add items to 
an existing file. If you load a file 
from the disk and then attempt 
to add items with the LOAD 
function, it will erase all the 
items in memory that were load- 
ed from the disk. If you then 
dump the file back to the disk, 
you will erase the old items from 
the disk. 

To avoid problems of that 
sort, it is best to use the PRINT 
function before using the DUMP 
function. Creating backup 
copies of the data file on other 
disks using the PIP function in 
CP/M is also recommended. 

Another application for which 
these programs are well suited 
is personal finance. The pro- 
grams have been used for this 
purpose by changing the in- 
come category names to: 

1) Full-time job 

2) Consulting 



3) Equipment sales 

4) Investments 

The expense category names 
were changed to: 

1) Computer equipment 

2) Shelter— house payments, 
rent, etc. 

3) Food 

4) Insurance 

5) Automobile — payments, 
insurance, gas and oil, etc. 

6) Entertainment— subscription 
to Microcomputing, etc. 

7) Investments 

8) Savings— this category is 
probably not required for com- 
puter owners 

9) Taxes 

10) Health 

11) Heat and electricity 

I have found it more meaning- 
ful to keep the number of ex- 
pense categories to a minimum. 
For example, there is one 
category specified for auto- 
mobile expenses. This category 
could have been broken down 
into several categories such as 
auto insurance, auto payments, 
etc. By lumping all auto expense 
items into one category, you ob- 
tain a more representative pic- 
ture of the actual expenses in- 
volved in owning a vehicle. 

If you wish to save yourself 
the effort of typing the programs 
in, send me an 8 inch CP/M for- 
matted disk with return postage 
and I will copy the programs on- 
to your disk.B 



Financial Report sample run. 



QUARTERLY FINANCIAL REPORT 
DATA FILE NAME TEST. DAT 
REPORT DATE 2/17/79 
BALANCE AT START OF YEAR 100.50 
YEAR 78 



* INCOME * 



* 1978 FINANCIAL REPORT * 

QUARTER 
12 3 



YEAR 
TO DATE 



DUES 

HAMFEST 

PROPERTY SALES 

* EXPENSES * 



1925.50 

401.00 

0.00 



457.50 

2029.61 

0.00 



199.00 
0.00 
0.00 



243.00 

135.00 

13.00 



$2,825.00 

$2,565.61 

$13.00 



TOWER RENT 

NEWSLETTER 

PHONE BILLS 

SOCIAL 

HAMFEST 

DONATIONS 

PO BOX RENT 

EQUIPMENT 

ANTENNAS 

PRINTING 

MISC. DEBITS 



330.00 

129.75 

40.39 

42.64 

533.54 

80.00 

0.00 

0.00 

0.00 

0.00 

0.00 



330.00 

14.04 

40.37 

21.00 

2384.69 

0.00 
20.00 
20.17 

0, 

0, 



330.00 

111.01 

26.90 

49.00 



330.00 
11.70 
52.92 

166.50 



0, 






00 
00 
00 



00 
00 



3.00 



0.00 

394.36 

0.00 

0.00 



89 





498 



29 
00 
00 
82 



247.17 

42.51 

0.00 



START BALANCE 
TOTAL INCOME 
TOTAL EXPENSES 

NET BALANCE 



$1,320.00 

$266.50 

$160.58 

$279.14 

$3,007.52 

$80.00 

$20.00 

$518.99 

$641.53 

$42.51 

$3.00 



$100.50 
$5,403.61 
$6,339.77 

-835.66 



170 Microcomputing, April 1980 




on computers, peripherals, software and other Radio Shack® products. 



?SSS^S:i^:i¥S 



NO ONE CAN GIVE YOU A BETTER 
DEAL ON TRS-80 COMPUTERS!! 

OUR Radio Shack^ Merchandise is New 
and covered by Radio Shack" War- 
ranties 

WE PAY Domestic U.P.S. Shipping & In- 
surance on minimum orders 

NO TAXES are collected on out-of-state 
Shipments 

TOLL FREE Order Number 

OPEN 8:00 a.m. to 6:00 p.m., Central Time, 
Monday through Friday; 9:00 a.m. to 
6:00 p.m., Saturday 



1 

L I 
_• 



Offered Exclusively By 

American 



Electronics 



A 



Radio /hack 



AUTHORIZED SALES CENTER 



W1 



INCORPORATED 



1117 CONWAY MISSION, TEXAS 78572 

TOLL FREE ORDER NUMBER 800/531-7466 

TEXAS AND MAIN TELEPHONE NUMBER 512/581-2765 




master ctiarge 

'HI a'i*i«^t ■ t*0 



«HSH 



ALARM CLOCK KITS 



59 



4 Digit .5 

Here it is! The first of several quality kits we have been asked 
for: Here is what you get — unbelievable as it may sound... 

1 National - 5375AA Clock Chip 

1 Bowmar Clock Stick Readout (L.E.D.) 4 digit - 1/2" 
13 Transitors 



Push Buttons for time set 

Toggle Switches for alarm 

Filter cap 

1N4000 series diodes 

1N4148 o*° e 

Disc caps 

Resistors c 

Transducer (Speaker) for Alarm 

LED Lamp for alarm indicator 



,aoo* c 



$9.99 

PC. Board $2.25 

Plug In 

Transformer $1.50 
Case - $3.50 



D.C. MODEL 

Same as above except it includes 60 Hz timebase. 
This Kit Includes: 

1 National 5375AA Clock Chip 

1 Bowmar Clock Stick Readout - (L.E.D.) 4 digit - 1/2" 
12 Transistors 

2 Push Buttons for time set 
2 Disc caps 

27 Resistors 
1 MOV 
1 60 Hz time base 

PC. Board $2.25 



o*° e * 
c^ ooQC 



$12.75 



Case - $3.50 



*********** CABLE TIES ••••••••••• 

MAKE YOUR PROJECTS "NEAT & TIDY". 4" CABLE TIES 
AT A FANTASTIC PRICE. GET THIS BARGAIN AND "TIE" 
IT DOWN $2.00 for 100 or better yet $15.00 for 1000 



FACTORY PRIME 
Bl - Polar LED 59C ea. or 10 for $5 



LAB-BENCH VARIABLE POWER SUPPLY KIT 

5 to 20 VDC at 1 AMP. Short circuit protected by current 
limit. Uses IC regulator and 10 AMP Power Darlington. Very 
good regulation and low ripple. Kit includes PC Board, all 
parts, large heatsink and shielded transformer. 50 MV. TYP. 
Regulation. $15.99 KIT 



5 14 V oc BETTER BEEPER 

Two audio oscillators - a low frequency pulse oscillator - 
either or both audio frequencies can be shifted (warbled) or 
pulsed on and off. Constant tone capability. Any combina- 
tion of pulses and warbles or tones. 1 7 /e"D X 1 3 />" ALARMS - 
TOYS - TESTING - ETC. Complete kit . $3.55 or 3 for $9 



MICRO MINI 
TOGGLE SWITCHES 

6 for $5 with hardware. 



+PAyf'»i 



990 

EACH 



16K DYNAMIC RAM CHIP 

WORKS IN TRS-80 OR APPLE II 
VERY LIMITED STOCK! "MAGAZINE SPECIAL" - 8/$79.50 



Digital Research: Parts 

(OF TEXAS) ^ 63 

P.O. BOX 401247C GARLAND, TEXAS 75040 • (214) 271-2461 



TERMS: Add 50C postage, we pay balance Orders under $15 add 75C handling 
No COD We accept Visa. MasterCharge and American Express cards Tex 
Res add 5% Tax. Foreign orders (except Canada) add 20% P&H 90 Day Money 
Back Guarantee on all items. Write for our free catalog full of many useful 
bargains. 



^Reader Service — see page 257 



Microcomputing, April 1980 171 



PET's Librarian 



Create your own subroutine library; get automatic line numbering, too. 



D. J. David 

28 Rue Vicq d'Azir 

75010 Paris, France 

This short Librarian program 
suppresses two drawbacks 
of the present PET operating 
system: the inability to type in- 
struction numbers (absence of 
automatic line numbering) and 
the lack of a subroutine library; 
the LOAD command does not al- 
low you to append the loaded 
program to a previously entered 
program. 

Functions 

Librarian has three functions: 

1. Automatic numbering of 
programs entered through the 
keyboard; you specify the first 
line number and the increment. 

2. Partial saving of a pro- 
gram. The classical SAVE com- 
mand allows you to only save 
the complete program as it is 
present in memory. Here, you 
can save only a part of a pro- 
gram (especially a subroutine) 
from line x to line y, as you 
specify. 

3. Appending instructions 
read from the cassette to in- 
structions already present in 
memory. This allows you to 
build a program by merging dif- 
ferent parts or subroutines ta- 
ken from different cassettes. 
This constitutes a complete 
subroutine library management 
system. A given subroutine may 
be incorporated into different 
programs. With function 2, any 
part of a program may be ex- 
tracted. 

When appending instructions 
read from the cassette, there is 
no constraint on line numbers. If 
instructions 100-200 are already 
present, incoming subroutine A 



of line numbers 300-400 will be 
placed after 200, while incoming 
subroutine B with line numbers 
50-90 will be placed before 100 
in memory. It is irrelevant 
whether you append A first and 
B second or B first and A 
second. 

There are two slight con- 
straints, but they should present