Skip to main content

Full text of "PCC Newsletter Vol 1 No 4 April 1973"

See other formats


MAflC 


♦ 



PEOPLE'S COMPUTER COMPANY 
is published 5 times during the school 
year. Subscriptions begin with the 
first issue , October 1972. 

Single subscriptions — $4 for 5 issues 
[$5 Canada and overseas] 

Group subscriptions , mailed all to the 
same address — 

10 or more $3. 00 each 

30 or more $2. 50 each 

100 or more $2. 00 each 

Subscription coupon on back cover 





>-E ROY 


C ovVv anf Wj YV\aAA4. TvWicJw cau/dttAij 4 YaxitA' Hew © 


if!!! FOR PCC SUBSCRIBERS ONLY !!!!! 


FOR A MERE PITTANCE, WE WILL SEND YOU TAPES 
OF GAME-PLAYING OR OTHER PROGRAMS THAT HAVE 
OR WILL APPEAR IN PCC. HERE ARE THE PRICES. 


♦PROGRAM* 


♦ISSUE + PAGE* 


♦PRICE* 


NUMBER 

OCT 

72, 

PG 

8 

$1 

LETTER 

OCT 

72, 

PG 

1 1 


STARS 

DEC 

72, 

PG 

3 

$1 

MELODY 

DEC 

72, 

PG 

17 

SI 

TRAP 

,FEB 

73, 

PG 

8 

SI 

CHOMP 

FEB 

73, 

PG 

9 

SI 

MUGWUMP 

APR 

73, 

PG 

3 

SI 

HURKLE 

APR 

73, 

PG 

22 

$1 

REVERSE 

NEXT 

ISSUE 


SI 


*** 


*** 


♦ MINIMUN ORDER $2*00 * 




*** 


-1UN 

cgp> 


!!!!! FOR PCC SUBSCRIBERS ONLY !!!!! 



WORKSHOPS IN COMPUTER SCIENCE 

Instructors: ROBERT ALBRECHT, People's Computer 
Company and LEROY FINKEL, Ravenswood High School 
Schedule: March 31 —April 1 ; 9 a.m. — 10 p.m. Saturday; 9 a.m. — 

6:30 p.m. Sunday; Lawrence Hall of Science, Berkeley campus 
Credit: Two quarter units in Computer Science, each course 
Fee: $65 each course, includes laboratory fee and some materials. 
Enrollment is limited 

For information telephone 642-1061 in Berkeley 

Computers in the Classroom X 402A (2) 

An intensive "hands on" introduction to the use of calculators 
and computers in elementary and secondary school education. 
Participants use programmable calculators and learn the pro- 
gramming language BASIC, using both timesharing terminals 
and small computers. Methods for effectively using computers 
in the classroom and analysis of available hardware, instruc- 
tional materials, computer education programs, and sources 
of further information. The course is conducted as an open 
classroom with activity centers for mathematics, science, 
business education, and social science teachers. It spans all 
grade levels — elementary through college. No previous pro- 
gramming or data processing knowledge is necessary. 

Computers in the Classroom: 

Individualized Instruction X 402B (2) 

This course is a continuation of Computers in the Classroom 
X 402A, and it gives participants the opportunity to increase 
their computer problem-solving skills. The course is run con- 
currently with X 402A, which is a prerequisite. 

Games Computers Play X 407 (2) 

Spend a weekend matching wits with a computer. Participants 
play computer games and explore both real life and "worlds 
of if" through the medium of computer simulation. Games of 
skill, games of chance, and games to learn by. Computing 
equipment is available throughout the course. No previous 
computer experience is required. The course is run concur- 
rently with Computers in the Classroom X 402A and B. 






LEARNING FAIRS and FUTURE FESTIVALS 




The story starts like this: 

It happened at Peninsula School , a forty-seven-year-old 
family-staff -owned cooperative , the “ oldest free school 
in the country,” sit* of the first New Schools Conference 
in 1969 . 

What was it? Fifteen “workshops and play shops” — 
Bead Game Music , Kids Teaching Kids, Gestalt Smorgas- 
bord ... — and forty ongoing events — Mobile Solar 
Sculpture, People’s Computer Center, Tree Loom, the 
Alexander Technique .... All spread over two days 
and sprinkled among the oak trees of the six-acre school 
site and the rooms within Peninsula’s main building, a 
green Victorian mansion . “Come together as participators/ 
innovators,” read the announcement . 

and ends like this: 

While l am still cutting up bookshelves, the fair comes 
to its close. Iam reluctant to leave it, and I realize 
why: I have reopened doors into ways of learning 
that I had shut or that had been closed upon me years 
ago. 

For Iam a product of that educational process by 
which we are systematically and deliberately weaned 
away from what Jerome Bruner called the “left-handed” 
(visual, intuitive, imaginative) and toward the “right- 
handed” (verbal, rational, logical), that process which 
separates one kind of learning from another and rates 
each in terms of its usefulness to society and not to 
the individual. 

That may be changing now in many schools for 
many younger children. But we adults and older 
children need support, encouragement, what Barney 
Young called “loosening up,” to open the doors 
again-to realize that a variety of “life games” are 
equally important parts of our education. And that 
sort of encouragement a “learning fair” can provide. 

At Peninsula’s fair the children were there as our 
guides, making creativity look natural and easy as 
pie. We learned from them that weekend. But for 
me it was only a start. 

from “Learning Fair” by Susan Sands, Saturday 
Review of Education, January 1973, pages 
37-41. 

Saturday Review of Education, Box 2043 
Rock Island, Illinois 61207 



If you missed the Super Ecstatic Completely Credible 
Learning Fair at Peninsula School last October — you 
can still make one of these this spring. 

TO TOUCH TOMORROW: FUTURE FARE 

“The merit of the future is that it is the area in which 
we can exert our will. ” 

Bertrand de Jouvenal 

If you feel with de Jouvenal that we don’t have to 
accept the future as “fixed,” then join us on March 
30—31 and experience with us some of the exciting 
(and frightening) developments which are shaping 
our futures. Experience with us also the possibility 
of creating alternative futures to “the future” that 
you might feel is being imposed on you. 

We begin on Friday afternoon , March 30, with a series 
of films to be shown in Olney Hall. Among the films 
you will see are: 

'The World of Future Shock: Crisis in the 800th Life- 
time" in which Alvin Tofler, author of Future Shock, 
examines the concept of "future shock" and the stress 
placed on individuals by a society in constant flux. 

'The Family of the Future" looks at 3 different family 
lifestyles today which may be typical styles for tomor- 
row. The film is narrated by Margaret Mead. 

There will be many others. These films will also be 
shown Saturday. 

Friday evening at 8:00 PM in Olney Hall, Arthur C. 
Clarke , author of Profiles of the Future and many 
other books about futures, will speak on “The Year 
2001 and Beyond.” 

Saturday, March 31, is Future Fare Day. Our environ- 
ment will be Harlan Center and its adjacent outside 
spaces. Come play with a computer from the People’s 
Computer Co.; imagine with Aaron Hillman you’re 
Lost in Space; participate in The Future State of the 
Nation with Paul Twelker and Ken Layden; join Gloria 
Loventhal and her elementary school children in their 
“School 2000”; build a dome with Toni Ricci; eat with 
the One World Family Commune; ponder the prospects 
of Immortality with Chad Everone. These are just 
a sampling of the exciting events in store for you. So 
come, Touch Tomorrow. 


ALTERNATIVES LEARNING FESTIVAL 
A CELEBRATION 

We at Webster College, in conjunction with the alter- 
native schools in St. Louis, will be sponsoring a 
National Festival on Alternatives in Learning, to be 
held in St. Louis on May 3—6. Our hopes for holding 
such a festival are many; however, our specific aims 
are to learn more about ways we can humanize the 
diverse educational needs of an ever-changing and 
increasingly complex society. 

The scope of ALF will be between 5,000-10,000 
people from all over the nation. Some of the better 
known speakers so far are: Swight Allen, University 
of Massachusetts School of Education; Nate Blackman, 
Principal of Chicago Metro Alternative High School; 
Don G lines, author of Creating Humane Schools; 

Joh Kozol, author of Free Schools; and Don Moore, 
Midwest Center for New Schools. 

ALF will revolve around a “Learning Bazaar, ” to be 
run by teachers, administrators, parents, students, and 
others involved in the creative learning experience. 

Booths will focus on individualized experiencing . . . 

Workshops will focus on group experience - - doing, 
thinking, creating . . . 

Anyone interested in presenting a workshop, group 
session, learning shop, or other alternative involvement, 
at the FESTIVAL, or anyone desiring additional info, 
please call Webster College, (314)968-0500, ext. 400. 

Webster College 
470 East Lockwood 
St. Louis, Mo. 63119 


PAGE 2 


for more info, contact Ms. Sydney Goldstein 

Director of Public Events 
College of Marin 
Kentfield, CA. 94904 
(415)454-3962 




, jj ;v; 


GRIPE 


Recently I was modifying a program we had on an 
HP 2000F system. A simplified version of the pro- 


look like this: 


100 

REM 

1 

1 50 

REM 

2 

300 

REM 

3 

350 

REM 

4 

400 

REM 

5 

4 50 

REM 

6 

500 

REM 

7 

5 50 

END 




I wanted to move lines 400 and 450 to before Line 
300 so that the program would look like this: 


100 REM 1 
1 50 REM 2 
200 REM 
250 REM 
300 REM 
350 REM 
500 REM 
550 END 


5 

6 

3 

4 
7 


So I innocently typed 

REN - 200 # 50# 400 # 450 

(i.e., "Renumber Lines 400 through 450 by 50's, 
starting at Line 200" for those of you who are 
unfamiliar with HP BASIC.) 

And the computer typed back 

RENUMBER SEQUENCE OVERFLOW/OVERLAP 

(Whatever that means) I assumed that the computer 
was refusing to perform this trivial operation and 
proceeded to do it the hard way. Here's how it looks 
(assume the program's name is PROG) . 


GET- 

NAM- 

DEL- 

SAV 

GET- 

NAM- 

DEL- 

DEL- 

REN- 

SAV 

GET* 

NAM- 

DEL- 

DEL- 

SAV 

SCR 

NAM- 

APP- 

A PP- 

APP- 

KIL- 

KIL- 

KIL- 

KIL- 

SAV 


PROG 

T1 

300 #550 

PROG 

‘T2 

* 1 00 #350 
*500 # 550 
‘200 # 50 # 400 1 

‘PROG 

T3 

‘ 1 00 # 1 50 
-400 # 450 


PROG 

T 1 

*T2 

T3 

T1 

T2 

*T3 

PROG 


450 



Come on HP, that's 27 lines I had to type instead of 
spending my time on something useful. Not only that, 
it could have been done with just one command, if 
HP's software was written properly to begin with. 

Some day computer manufacturers are going to learn 
that computers are for people to use, and not the 
other way around. 

That day will come only when computer users take it 
upon themselves to pull themselves out of their 
apathetic morass of ignorance of what computers 
could be doing for them, and demand their rights as 
consumers. If you read the label on a 25<t can of soup 
why not read the "label" on a $100,000.00 computer 
system 

P.S. It matters not to the poor user if there is some 
undocumented "secret" way to do what he or she 
want. 

A graffiti found at Resource 1 is quite lucid on this 
point: 

^ job is No x 

<WTiL TOE 

PAf&tbfak 

f IS ^ 




REM ♦** MUGWUMP - A HIDE AND SEEK 6AME 

REM *** PEOPLE *S COMPUTER COMPANY# MENLO PARK CA 

RANDOM 

REM *** G«GRID SIZE N “NUMBER OF GUESSES ALLOWS' 

LET G«10 
LET N-S 

PRINT N D0 YOU WANT THE RULES C t “YES O“N0>"J 
INPUT Z 

IF Z o 1 THEN 350 

REM *** RULES IN LINES 200 THRU 330 

PRINT "A MUGWUMP IS HIDING IN A"l Gf "BY M #GJ-GRID. TRY TO" 
PRINT -FIND HIM BY GUESSING HIS GRIDPOINT. HOMEBASE IS" 

PRINT -GRIDPOINT 0#0 AND A GUESS IS A PAIR OF WHOLE- 
PRINT -NUMBERS CO T0-fG-lI-> SEPARATED BY A COMMA* THE FIRST' 
PRINT -NUMBER IS THE DISTANCE TO THE RIGHT OF HOMEBASE" 

PRINT -AND THE SECOND NUMBER IS THE DISTANCE ABOVE THE" 

PRINT -HOMEBASE. FOR EXAMPLE# IF YOU THINK THE MUGWUMP- 
PRINT -IS HIDING 8 UNITS TO THE RIGHT OF HOMEBASE AND-' 

PRINT -3 UNITS ABOVE HOMEBASE# THEN ENTER 8#3 AS YOUR— 
PRINT -GUESS AND PRESS THE 'RETURN* KEY." 

PRINT 

PRINT -YOU GET" I NJ— GUESSES* AFTER EACH GUESS# I WILL- 
PRINT "TELL YOU HOW FAR CIN A DIRECT LINE) YOU ARE FROM" 
PRINT "THE MUGWUMP* " 

REM *** HIDE MUGWUMP AT RANDOM 6RIDP0INT A#B 
LET A* I NT <G*RND (0 ) ) 

LET B«INT<G*RNDCO>> 

PRINT 

PRINT "MUGWUMP IS HIDING. YOU GET"lNl "GUESSES." 

REM N GUESSES ALLOWED - LINES 400 THRU 560 

FOR T«1 TO N 

PRINT 

PRINT "WHAT IS YOUR GUESS"! 

INPUT X# Y 

REM *** IF MUGWUMP NOT FOUND GO TO LINE 500 

IF X <> A THEN 520 NBJ 

IF Y o B THEN 520 

PRINT "YOU FOUND HIM lN"lTl"GUESSES! 1 1" H 

PRINT "LET'S PLAY AGAIN." I 

PRINT 

GOTO 350 £ 

REM *♦* D*STRAIGHTLINE DISTANCE TO MUGWUMP 
LET D*SOR <<X-A)t2^CY-B)t2) 

REM THEN WE ROUND D TO ONE DECIMAL PLACE 

LET D* INT (10*D>/10 

PRINT "YOU ARE" I D! "UN I TS FROM THE MUGWUMP 
NEXT T" 

REM *** MUGWUMP NOT FOUND IN N GUESSES 
PRINT 

PRINT "SORRY# THAT * S"lNf "TRI ES." 

PRINT "MUGWUMP IS AT GRIDPOINT "!Af"#"lB 
PRINT "LET’S PLAY AGAIN. " 

PRINT 
GOTO 350 
END 


0\K Iucl+s 


CREATIVE 

PUBLICATIONS 

P. 0. BOX 10328 

•^0 PALO ALTO, CALIFORNIA 94303 

Business Office — (415) 968-3977 
Product Development and Teaching Center — (415) 968-1101 


TRANSPARENT GRIDS (INCH & CM) 


Flexible, transparent acetate grids for many 
different purposes. Measure area by placing 
grid over plane figure. Put blocks on top of 
grid. Demonstrate fractions, decimals, area 
relationships on the overhead projector. Make 
charts, graphs, etc.— then wipe them clean! 
Two kinds of grids available— 1 0" x 10" 
ruled in inches or 25 cm x 25 cm ruled in 
centimeters. 


CIRCLE MASTER COMPASS 
34100 Circle Master Compass— Individual 


VIS-A-VIS PENS 

Visual aid pens for overhead pro- 
jector transparencies which write 
smoothly and evenly on all acetates. 
Bright, transparent colors do not change 
during use. Easy to clean from 
acetates; washable from hands and 
clothing; non-toxic and odorless. 
Available in Pocket Set (one each of 
the four colors — black, red, blue and 
green) or in boxes of a dozen in black 
only. 

38450 VIS-A-VIS PENS 

Pocket Set (4) $2.40 

Dozen black $6.00 


36500 


Transparent Cm Grids - 

(Pkg. of 10) 

Transparent Inch Grids 
(Pkg. of 10) 


37000 


36900 NEW MATH RULE-INDIVIDUAL $ .35 

Durable four-in-one ruler made of plastic. Has four scales — two on 
each side — 1/10", 1/16", metric and number line. Accurate, easy-to-read 
calibrations. 






v Sat., Jan. 8, 1972 

iFree-Forms fj 

f At 'One' 

0 

i \ Warehouse 

A 

By Thomat Albright 

Except for its hot mustard 
exterior paint job, the im- 
mense, six-level building at 
the corner of Tenth and How- 
ard etreets looks like any of 
the older warehouses and 
light industrial plants that 
form most of the surrounding 
neighborhood. 

Once inside, however— via a 
door marked simply, “One” 

— you plunge into an utterly 





Reprinted from WORKFORCE (January and February, 
1973), published by Vocations for Social Change, Box 13, 
Canyon, CA. 94516. VSC is a tax-exempt, anti-profit 
collective subsisting entirely on your donations. 

Pam Hardt and Bernard Greening for the 
Resource One Collective. 




Resource One is the only grassroots community 
mind-boggling complex of group in the country that we know of to obtain 
winding corridors and free- it s own large-capacity computer system. They 

form rooms, and of free-form . . , - , . . , . f 

personalities, specialized are 1X1 the Process of designing programs that 
know-how and sophisticated they hope will be useful to all kinds of njn- 
technology that are coming profit community groups working for social * 
together in an unprecedented change, 
new way. 

I had come expecting to 

meet a few artists sharing From its inception , Resource One has been /1 
studio space in a charateris- housed in Project One, San Francisco's first 

wf f o' community in a warehouse. The first task of 

loft. “One” contains a sizea- J ^ ^ ^ 

ble amount of space that is t* 16 four of us who developed Resource One was 
being used as studios by to first help develop Project One from June 1 70- 
painters, sculptors, ceram- June '71. 

1st* and .other artists and 
craftsmen. Eut it also houses 

fully equipped television and In midsummer, 1971, Transamerica Computer 

radio studios; film, photo, Co. was just a number in the telephone book. . 

and video processing labs; a man we rQa ched in their public relations dept.^^^ 

^mentS* free ‘sch^f’ and said TA ^ " a warehouse full of computers," 
professionally-manned clin- which turned out to mean three Xerox Data 
fc; and a staggering variety Systems 940 computers returned by their lease Ocv^m 
of other, continually evolving customers. (The XDS-940 is a timesharing computer/] 
and over ^^ 1 ^^^ ritieS ' that can handle many usor 3 simultaneously over!^^ 

TOese activities are the Oeparato telephone linos. This feature is ideal 
work of some 200 people and f or us because it allows community groups to eXX^t 
€0 organizations who are in- use the computer from thoir own location. The J 
volyed in “One” on a regular only equipment needed is a $45/month terminal. \ „ 

Smrand^rtuSveKT. TA wa3 reco P tivo because wo. showed them the 
ty graduates ai\d drop-outs, potential for relating to many groups in San 
to PhDs, electronics special- Francisco and therefore they could get good pub- 
ists and other highly trained licity for making it all possible. 
professionaU who have 

^tr(^n° U f economic to TA WaS a ^ so having trouble getting rid of 
join in' 1 a^ cooperative sharing their 940's because they originally cost $800,000 
of talent, experience and seven years ago and are "second generation. n 
physical resources. They customers could now buy faster "third generation" 

knowledge*' and^illTbiit 'of- chines for half that cost. In September 1970, 
ten costly and highly special- the deal with TA was approved by their top 
ized technological hardware management. 

as welk 


A year and a half old, 
“One” is the senior member 
of a loose network of similar 
warehouse “projects” that 
has already grown to include 
a larger “Artaud,” at 17th 
and Alabama streets, and 
several smaller complexes. 
In the works are others in 


In November 1971, w^ rocieved $10,000 from 
the Stern Family Foundation. It wasn't easy to 
get. Resource One had a corporate identity 
(we took over the tax-exempt corporation from 
the old San Francisco Switchboard) and a 1 

promised computer, but no operating track-record. 
We were able to use the efforts of the Ecos 


San Francisco and the East Project — which was also helping other warehouse 


Bay. 

The idea for “One” origi- 
nated with Ralph Scott, an 
architect and engineer by 
training who was then shar- 
ing space with a dozen other 
people in smaller warehouse 
quarters. 

At its most practical level, 
explained, the plan 


communities develop— and the demonstrable cred- 
ibility of the 150 people building; a living- J 

working environment for themselves at Project One 
to show that wo were really serious and had a 
chance to succeed. Ecos initiated the Stern con- 
tact, and convinced them that technology is an 
integral part of any new. viable urban environ- 
ment. Stern granted a total of $25,000, which we 


Scott 

grew out of the fact that split; Ecos taking $15,000 and Resource One 
there were “a lot of people $io,000. 
who needed to find an alter 
native way to deal with eco 
nomic problems, such as lov 
income, or unwillinpess to 
sacrifice their integrity for a 
reasonable salary. There are 
great numbers of poeple to- 
day who have talent, Experi- 
ence and a command of 
money, but refuse to pay the 
price. There are others — 
people with master's degrees 
and PhDs — who simply 
can’t find jobs.” 

ISOLATION 

“A second factor is isola- 
tion, which makes poeple liv- 
ing in a city relatively inef- 
fective. People live in a high- 
ly compartmentalized world, 
with no flow or continuity be- 
tween one activity and anoth- 
er. Many creative people are 
victimized by the negative 
aspects of living in an urban 
environment and are unable 
to take advantage of its posi- 
tive elements, such as stimu- 
lation and sharing ideas. 

Some can’t pay to keep a 
phone installed to call across 
the city and find out what a 
friend is doing.” 

Finally, Scott pointed out, 

“there is an aura of elitism, 
and even mysticism, that 


surrounds the world of tech- 
nology, and many of the arts, 
because so many people lack 
access to equipment, training 
and other resources.” 


The money from Stern allowed us to begin 
the design and construction of the machine room. 
The computer needed a dust free, air-conditioned 
environment. We wanted it to be a visually 
accessible yet flexible shell. With the help of 
two architects in Ecos, we finally drew up plans 
for a sheetrock structure with Lexan (a fire- 
retardant plastic) windows. 

Toward the end of January, 1972, the machine 
room was under way and we were down to $4,000 
which had to be spent soon. We had been con- 
tacting and building relationships with founda- 
tions for months. We only received responses 
from foundations with whom we managed face-to- 
face contact with the director. So far, only 
those who have also seen us at work have come 
through. A problem has been that the foundations 
we encountered did not have the technical 
expertise to evaluate our project; they seemed 
threatened by the quantum jump from simple 
telephone switchboards to computerized in- 
formation networks. However, we did convince 
the people of the Whole Earth Catalogue Community 
Fund to lend us $8,000 "for a month" to tide 
us over until the other grants came in. 

By May, we had used most of tho WEC money, 
when two foundations each announced grants of 
$25,000 contingent on our revising a total of 
$100,000. We had not expected the contingency 
part, but resolved to use it as a lever in 


interrupt article 


INTERRUPT 


newsletter of 

computer people for peace 


AT A CPP MEETING IN NE * YORK L*3T MARCH (REPORTED IN 
INTERRUPT lb) THE TOPIC "THE POSITIVE USES OF C6 M PUTERS--ARE 
there ANY\” waS DISCUSSED* ThE PREVAILING OPINION SEEMED T0 BE 
WELL# maybe SO, POTENTIALLY, PUT NOT YET* RESOURCE ONE IS DOING 
ALL IT CAN TO CREATE REALITY FROM WHATEVER POTENTIAL THERE IS. 

RESOURCE ONE IS A COLLECTIVE OF PEOPLE FR0 H DISPARATE 
BACKGROUNDS# who BELIEVE THAT TECHNOLOGICAL TOOLS CAN BE TOOLS OF 
SOCIAL CHANGE WHEN CONTROLLED BY THE PEOPLE* WE'RE TRYING TO HELP 
THEM BECOME AVAILABLE T9 ALL PEOPLE# AND TO ENCOURAGE AND ASSIST 
THE DEVELOPMENT OF WAYS THESE TOOLS CAN IMPROVE ALL OUR LIVES* 

OUR PRINCIPAL TOOL AT PRESENT IS AN XDS-940 COMPUTER# A 
MEDIUM SCALE# SECOND-GENERATION TIMESHARING MACHINE WHOSE CAPABILITIES 
SEEM wELL SUITED TO 0UR PURPOSES BECAUSE OF THE 94C'S ABILITY TO 
INTERACT WITH A LARGE NUMBER OF INDIVIDUAL OR GROUP USERS SIMULTANEOUSLY 
(OVER TELEPHONE LINES) AND INEXPENSIVELY. 

SOME OF OUR PRIMARY PROJECTS ARE THE BUILDING OF A RETRIEVAL 
SYSTEM GEARED TO THE NEEDS OF NON-ESTABLISHMENT REFERRAL SERVICES 
(SWITCHBOARDS* HOTLINES# FTC.) ENABLING THEM TO CREATE AND SHARE 
LARGE DATA BASES# THE ASSISTANCE OF VARIOUS GRASSROOTS POLITICAL 
AND ECONOMIC RESEARCH PROJECTS AIMED AT COMMUNITY ORGANIZING# THE 
CHEAP PRODUCTION OF MAILING LISTS, A COMMUNITY MEDICAL CLINIC INFORMATION 
SYSTEM, A PROGRAM 0F COMPUTER EDUCATION AND DEMYSTIFICATION FOR 
THE GENERAL PUBLIC# AND GENERALLY RAISING THE LEVEL OF COMMUNICATION 
AND COOPERATION AMONG DIFFERENT COMMUNITY GROUPS. 

RESOURCE ONE’S ROOTS GO SACK TO BERKELEY DURING THE 
CAMBODIA CRISIS OF “AY, 1970* A GROUP OF COMPUTER PEOPLE 
THERE GOT TOGETHER# LIKE OTHERS# AND TALKED OF THEIR DISENCHANTMENT 
WITH HOW THEIR SKILLS WERT DESTINED F^R USE IN THE SYSTEM. THEY 
FANTASIZED ABOUT USING COMPUTERS FOR BUILDING COMMUNICATION NETWORKS# 

AND SEVERAL MONTHS LATER WERE ATTRACTED TO PROJECT ONE IN SAN FRANCISCO# 
aaHERF OTHER TECHNOLOGICALLY-ORIENTED PEOPLE# AS WELL AS ARTISTS AND 
EX. PROFESSIONALS OF ALL TYPES, WERE GATHERING TO TRY OUT A NEW CONCEPT 
OF INTEGRATING THEIR SKILLS AND WORK W I TH THE REST 0F THEIR LIVES. 

PROJECT ONE (OR ”9NE”) WAS A VACANT 5-ST0RY WAREHOUSE 
BUILDING IN DOWNTOWN SAN F RANC I SCO --&*♦, 00C SQUARE FEET OF BARE, 

COLD CONCRETE# WHICH HAS SINCE BEEN TRANSFORMED INTO AN IMAGINATIVE 
WARREN OF ’’SPACES'' IN WHICH 90 PEOPLE LIVE AND 150 PEOPLE WORK ON 
A WIDE VARIETY 0F PROJECTS. RESIDES RESOURCE ONE# THERE ARE AN 
EXPERIMENTAL HIGH SCHOOL, A videotape-producing GROUP, MUSIC AND 
RADIO RECORDING/PRACTICE STUDIOS, A film PROCESSING lab, THEATER 
REHEARSAL SPACE# AND OFFICE AND/OR LIVING SPACE FOR THE NORTHERN 
CALIFORNIA H.O. Or VVA*, A RADICAL WELFARE DEPARTMENT WORKERS* 

UNION, A COUNSELING CENTER, AND NUMEROUS ART AND CRAFT PEOPLE. 

•’ONE’S” SOCIAL AND PHYSICAL ENVIRONMENT WAS BUILT 
COMPLETELY BY ITS MEMBERS, TO THEIR OWN SPECIFICATIONS# AND 

I* the process thfy scared their tools# skills and political ideas 

Aj ONLY PEOPLE who must DEPEND on EACH OTmER CAN. A WORKERS' 

COLLECTIVE HAS SEEN FORMED TO FURTHER DEVELOP AND PROFIT FROM NEWLY- 
ACGUl-ED CONSTRUCTION 3<lLLS. THE COMMUNITY IS ••RUN” BY UNANIMOUS 
CONSENSUS; DECISIONS ARE MACE AT WEEKLY MEETINGS. 

THE FIRST YEAR OF ”0 NF_ ” WAS A WEEDING-OUT PROCESS WHICH LEFT 
ONLY PAM HARDT FROM [ur ORIGINAL BERKELEY GROUP. PAM WAS CALLING 
COMPUTER MANUFACTURERS ON THE PHONE TRYING TO LAND 

A DONATION OF a M I N T -COMPUTER# WHICH COULD BE TAKEN ARQ'JND COMMUNITIES 
FOR DEMONSTRATIONS AND EDUCATIONAL EXPOSURE • TRANSAMERICA COMPUTER 
CO. (UNDER ”T”> WAS THE FIRST BITE. TA HAD 3 940»S SITTING UNUSED 
IN A WAREHOUSE, RFTURNED FROM LEASE BECAUSE THEY HAD BEEN REPLACED 
BY NEWER MACHINES. ALTHOUGH ThE 940 IS STILL BEING USED BY 
COMMERCIAL TIMESHARING SERVICE COMPANIES, THERE ARE FASTER, CHEAPER 
3RD GENERATION MACHINES AVAILABLE WHICH MAKES THE 940 UNATTRACTIVE 
FOR he* INSTALLATIONS, AND THEREFORE ' ♦ OBSOLETE ' 1 COMMERCIALLY. 

TA RESPONDED T? ThE IDEA 

OF USING A COMPUTER DONATED BY THEM F0R AN I NF0RMAT I ON/REFERRAL 
NETWORK THAT V0ULC TIE ALTERNATIVE GROUPS (SWITCHBOARDS) INTO 
ES t ABl!SHED SPCIAL SERVICE AGENCIES (INFORMATIONALLY), WITH GOOD 
PUBLICITY POTENTIAL FOR TA ♦ 

SO, IN SEPTEMBER 1971 WE HAD A COMPUTER# BUT NO MONEY# 

NO SOFTWARE, n? I/O EQUIPMENT, NO PLACE TO INSTALL THE COMPUTER# 

NO DEVELOPED ” PROGRAM” OF WHAT TO DO# AND VERY FEW COMMITTED PEOPLE# 

WE Dir, HONE VCR# HAVE TH£ SUPPORT OF OTHER MEMBERS OF ”0NE”--IN 
PARTICULAR THE ECOS PRSUECT# WITH WH0M WE PRESENTED A U0INT 
FUNDING PROPOSAL TO THE STERN FOUNDATION WHICH NETTED $1C,000. 

USING THIS M0\rY TO BUILD THE COMPUTER ENVIRONMENT ($5,000 WORTH)# 

PAY RENT AND TELEPHONE BILLS (NO SALARIES)# WE DEVELOPED A PROPOSAL 
FOR A FULL-SCALE COMMUNITY COMPUTER CENTER WITH A BUDGET OF 
$1CO#OC3 FOR ITS FIRST YEaR. IT TOOK US A YEAR OF STEADY 
FUNDRAISING TO RAISE THE M0\r y, ■ DUR I NG WHICH TIME THE COMPUTER WAS 
INSTALLED (AT A TOTAL COST OF $700# AND *E BEGAN TO LEARN ABOUT OUR 
OPERATING SYSTEM WHICH NONE OF US HAD SEEN BEFORE. 

PETER DEUTSCH BROUGHT UP THE OPERATING SYSTEM (WHICH 
HE HAC WRITTEN 3 YEARS BEFORE)# DONATING -HIS TIME, AND FRED WRIGHT 
FROM THE STANFORD ARTIFICIAL INTELLIGENCE PROJECT HELPED OUR RESIDENT 
HARDWARE PERSON# LEE FELSENSTE IN# GET EVERYTHING WORKING. THE LAST 
MAJOR CONTEMPLATED SYSTEMS PROJECT - -A RETRIEVAL SYSTEM- • I S NOW BEING 
IMPLEMENTED BY BART BERGER# BERNARD GREENING AND JOHN COONEY OF OUR 
STAFF, WITH THE HELP OF ROBERT SHAPIRO eF META INFORMATION APPl I CA T I 0NS 
IN CAMBRIDGE (HE DESIGNED IT FOR THE o pP-l0). PAUL HECKEL# WHO 
WORKS WITH DEUTSCH AT XEROX PARC# HAS HELPCD US GENERALLY TO ACQUIRE 
NEEDED HARDWARE AND SOFTWARE • 

BY APRIL# ALL OF OUR SYSTEMS (INCLUDING ONE TO PROVIDE STATISTICAL 
REPORTS Tf OUTPATIENT CLINICS) WILL BE FULLY OPERA T 1 0NAL# AND WE 
WILL HAVE BEGUN ACCEPTING INPUT OF SEVERAL LARGE DATA BASES# INCLUDING REFER 
INFORMATION FOR $w I TC-’ : 30ARDS AND OTHER PEOPLE -OP I ENTED MEDIA, DEMO- 
GRAPHIC INFORMATION AND SUCH FOR RESEARCH PROJECTS, AND ’’USEFUL CONTACT” 
FILES FOR a HOPEFULLY LARGE NUMBER OF COMMUNITY GROUPS. THE ONLY 
real impediment t^ including some national applications of the 
RETAIL VAL SYSTEM IS the C'»ST MF telephone contact. 


-tf jl .» •n ■*-* d 

c? £ © * 


. &3.s| o 2 £ t 


' -p c 

J* -t* «— © v _ 

§ 3. “ « >.:£ P 2 


»sli 


« O 


© a *5 § Z £ a 
2 * I « S 

g £ 2 *2. £ ^ $ 


o. 

co a> 


J CO W 
< T3 rt 


- c os r: m» ^ 

. sz - ~ <v * 2 IS • 

to -*-* -r. ~ =3 ft 5r5 > a 

=> - c -J > ^ t m .S r 2 

x: « * s- «-< cC w 

fn o « P o w ^ ^ 


I™ 5 

nog 

3 O _ 

£ m c 

u, vi a> 


rs c ~ c 

cj <Jj G c/> 

S3 n ^ o <v 

<-> v> > 

•a ro us 


— '2 


CD <X 
a> a> r? 
WC O 


a to . > 

.s 2 -s y ° 5 


.2 
tuo at 


S °1 J2? 

iS^gal 

d 3, o to g - 
* S g 

^ S -p * £ 

g* 0) x g a. 


S B 3 P S p# 

O <u iS 


* « 2 


13 m e «3 ^ 

wa D O X) (!) 
n C M O li t) 

1 gS 53 §."■ 


I K* 


Kli.H'OCW'.L 

S C § s 3 

^ § s ° 

w<u<ua>o.2a-b 

- a 8 a- 5 
eSc: “a: 'g 
v2 x ."2 




O - > c C 9 - G ^ O 2 


S e e " « 

2 « jf <U v 
W 2 § 

GCQfH 5^0 


.2 co 5 .5 
e o «-< ra u. 

1 


IS i ^ 


>, 

iu 

o 

> 


s * 

3 

ja 


r p > S 


2*^ £ S 

at «1 d o 

©oi*£:3' Qc *;g 
o . o =3 w> 


- « - ^ '2 v- » 9 

* d co a; 


3 « * « 

O -Q . 

In 4) O 
UC •--> o - 


I 


£ bt -il o ° 'o *1 
5 : o « d 


S, 

a 

si 3 

^ M 
O) 

tofi CO 2 
& 

G ^ c -1 

a og 


■a'o o c « c ^, 

3 8 2 x co* ^ fl 

-8 g « = - 0 ^ S * o 

i* ~ 2 co -a 


,tJ o 2 co Z2 r: 


3 S* -S g > ^ 


b c 




a « g 


G T3 -2 
C G 


T3 

4> _ O 'O 

■p tX) S G H ^ O 

■C g W S o C > 

^ ■§ -«5 2 a 42 ’-a a ^ © 

© o O K. 3 O .co 

*„• 

nil 1-.S IIS' 


* fi §slst§! lit 

SS&.3«-gis2E«<8.2 

- •■s.ssr-s.s 

5 > r p 4 l B 

c © G W G 

S v; 73 g S © « 

8 i ^ b 0 5-* g’Ss SLfe 

o .j, g. .,a a s *s* ai I 


||fe.s 


if «0 

• ^ ii w 3 X 3 cj tl 2 

s « a 2 ^ s ® w § 

i'ilH 

Z V y « S’ C * S a 9 '3 

n. e *3 ^ P "5 €> ^ a E 

A w H » — • O CJ (4 J3 



3 a a 

sSSc-Sa 


asasB.S'BBS-5 , dg :t “ ,, a'“BS^2; 

t".s«g.2S.ig§s>»| g gg§~ 




“ ClS, 2 ffl ^ 


S £§•?*£§ Si ^ m 

o*o§ < “ « « aS» *> -jaq v sptrejs sdsqiad ji 4 ;on 

ff-2 S' ag § S B'-B’g * S a *ni ®snBoaq Xpspaid pa 

- -•*•! ~§ 4< *Bid<na 

a a §So «? ons - ’*naas ueqiti eq; 
gog-sgoffgS Ho* 0 *aiwpa*«& pw spoan pm? 

*-.o_p.feo £• 8» cnireman inajairrn oi esuods 


S o »^3 g ^ ^ g spuemap paiajjrp oj asuods 

M S^«3B'iS?i <5 w Xsp XiaAa ©gnsqa 

“ ~ ~ M S.°g ‘asp SnrqjXiaAa qjtM Suopj 


pq - s M a : 

ff » * M 9 , 

§S 8 1 S-O 3 «r 4 seApaafqo mo *;i iraini 

7 1 I ° p f +Ml < * mnavrftM ann/nAa nai 


pursuing further grants. Fortunately, we 
received two contributions of $5,000 from 
individuals which enabled us to last until the 
fall, when the rest of our funding came through. 

In everything else , we had sought the help 
of "experts" but wound up doing most of the 
actual work ourselves. We were, however, very 
lucky to find an experienced person in Los 
Angeles who brought up the machine in three 
days for a total cost of $600. Then Peter 
Deutsch, who wrote an operating system for the 
940 several years ago and now does research for 
Xerox, put the "software" into operation by con- 
tributing his time for several weeks. 

During the summer, the Resource One staff 
seemed to stabilize to one electronics engineer, 

4 programmers, 2 electronic apprentices, and an 
accountant with business management experience. 
Internally, we had to fight people's tendency to 
define themselves by their acquired specialities 
and we had to develop some common vocabulary to 
be mutually understood. Dealing with people's 
professional conditioning is a day-to-day pro- 
cess which continues while we are developing our 
two major software systems; an information 
retrieval system and a medical statistical and 
reporting system. 

The information retrieval system allows a data 
base, such as the community service information 
held by switchboards to be developed, easily 
updated, rear ranged f and printed by categories. 
The system is designed to be used by the non- 
computer professional, who sees the computer as 
a tool in his/her work. And/ it can alleviate 
the six month research time spent putting to- 
gether essentially out-of-date directories, and 
can be used for several purposes, including 
power structure research, listing of referral 
information for groups which are in contact 
with people who need it, and other kinds of 
information storage. The system was designed by 
Robert Shapiro of Meta Information Applications. 
He is helping us implement the system, which 
should be completed by March, 1973. 

The medical system will provide reporting and 
in-house statistical work for the O .E.O./H.E.W. 
funded health care centers. They have earmarked 
data processing funds and, generally, are not 
getting service comparable to the cost they 
are paying. Because we are local, we can 
prpvide more immediate reporting and are willing 
to tailor the system to suit health care center's 
particular needs. Selling this system can 
provide us with enough income to handle the 
statistical needs of the free clinic, which 
could not afford to buy data-processing services. 

We will shortly offer a system for producing 
statistical tables describing a clinic's 
activities. Clinics will be able to use these 
reports to satisfy the requirements of their gov- 
ernment grants. This system is intended to 
produce substantial revenues for Resource 
One — it may turn out to be our main bread and 
butter — but more important, it will allow us to 
develop other, perhaps more useful informational 
tools for the clinics which otherwise couldn't 
afford to pay for it. 

In addition to the two soft-ware systems, we 
are developing a community education program. 
Using the computer and other media, such as video 
tape, we want to explore how computers are used 
in America, how their usage affects individuals, 
other possible uses of computers, and how 
computers integrate with other communication and 
transportation technology. Through our com- 
munity education program, we hope to reach 
large numbers of people. 

We are well under way towards making the 
computer we have available to community groups in 
the Bay Area. But, Resource One will continue 
to be seen as an odd or mysterious creation 
without broad implications unless technical 
people (architects, engineers, biologists, etc.) 
commit themselves to expanding and redefining the 
usage of their skills and the redistribution 
of control over technological hardware in con- 
junction with communities of people who are try- 
ing to generate change. 

For more information CONTACT- Pam Hardt oflt 

Bernard Greening, c/o Resource One, 1380 

Howard St., San Francisco, CA 94103 


AT that P0 1 NT T 00 WE PLAN T0 BEGIN GENERATING S0ME MONEY WITH 
THE SYSTEM; 0UR ONLY SIGNIFICANT- REVENUES S0 FAR HAVE C0ME FROM A 
TIMESHARING CONTRACT WITH THE UNIVERSITY 0F CALIFORNIA. WE THINK IT'S 
IMPORTANT THAT EVERYONE DEVELOP A MEANS OF SUPPORT THAT D0ESNT DEPEND 
0\ THE LARGESSE OF FOUNDATIONS OR CN WELFARE • IT FOLLOWS THAT IF WE 
ARE TO BE VALUABLE TO OUR COMMUNITY, ''THER GROUPS WILL SHARE THEIR 
SL°P6RT WITH "S (ONLY TO THE EXTENT THEY ARE ABLE TO), AND THAT WE 
MUST ALSO FIND N0N-EXPL0 1 T AT I VE WAYS TO MAKE MONEY IN THE MORE 
COMMERCIAL MARKET. THAT'S ONE REAS0N FOR THE MEDICAL INFORMATION 
SYSTEM, WHICH FORD TURPING AND CHRIS MACIE ARE FINISHING, 

SINCE OUTPATIENT CLINICS OFTEN HAVE GOVERNMENT GRANTS THAT 
INCLUDE LINE ITEMS FOR DATA PROCESSING. AS A RULE, WE LOOK AT 
ANY USE OF THE 94C AS POTENTIAL REVENUE, UNLESS THE GROUP INVOLVED 
IS TOTALLY BROKE AND CAN'T EVEN COVER OUR MINIMAL OUT-OF-POCKET 
COSTS (WHICH IS SELDOM). 

BESIDES KEEPING THE MACHINE UP, LEE FELSENSTEIN, MARK PEACOCK 
AND PAUL ward aPE PUTTING TOGETHER an ELECTRONICS SHOP T0 BE USED 
BOTH FOR EDUCATION (THEIRS AND OTHERS') AND FOR DESIGNING AND 
BUILDING HARDWARE NEEDED IN-HOUSE AND FOR OUTSIDE CONTRACTS. 

0\E PROJECT WHICH HAS WIDER POTENTIAL IS A UNISUE INTERCOM SYSTEM 
LEE DESIGNED F0R »'9NE'' THAT LINKS ALL THE SPACES IN THE BUILDING--. 

IT COULD LEAD TO MORE SOPH I ST I CATED NEIGHBORHOOD COMMUNICATIONS SYSTEMS. 

OUR EDUCATIONAL PROJECTS HAVE BEEN THE MOST DIFFICULT TO 
CONCEPTUALIZE, BUT ARE PERHAPS THE MOST CRUCIAL TO EXPANDING THE 
CONCEPT OF HUMAN USES OF TECHNOLOGY. PEOPLE WE TALK TO SEEM 
MYSTIFIED AT FIRST EVEN WITH THE SIMPLE MAILING-LIST PROGRAM, 

ANC WE ARE ALL CONSTANTLY EDUCATING N9N-TECHN I CAL PEOPLE# HOPING 
T9 BREAK DOWN THEIR FEARS AND STIMULATE CREATIVE THINKING ABOUT 
H3W THEY CAN USE THE SYSTEM. STEVE ROBINSON, AN MBA, HAS BEEN 
GIVING BOOKKEEPING AND TAX CLASSES TO OTHER GROUPS# AND THERE 
IS S0MF ' 'FALLOUT »' --PEOPLE BECOMING EXPOSED WHEN THEY COME TO THE 
CLASS, AND LATER GETTING INTERESTED IN HAVING ACCESS TO THE COMPUTER# 
SIMILARLY, MIKE CHADWICK, THROUGH HIS SN0B0L CLASSES, AND PAM 
HARDT, THROUGH A SERIES OF VIDEOTAPES ON WOMEN’S PROBLEMS, ARE 
REACHING OUT TO THE COMMUNITY AND EXPOSING US IN THE PROCESS. 

AS OF N0W, RESOURCE ONE'S FINANCES SEEM SECURE FOR A YEAR OR SO, AND NO 
REALLY DIFFICULT TECHNICAL PROBLEMS (BUT LOTS OF OPPORTUNITIES) 

REGAIN. YET WE ARE STILL STRUGGLING WITH THE REMNANTS OF OUR 
PROFESSIONAL ELITISM, NEEDS FOR SOME HIGHER AUTHORITY (THE BOSS) 

TO DEFINE OUR TASKS, AND TENDENCIES TOWARD SPECIALIZATION, 

ALL OF WHICH RESTRICT THE COLLECTIVE PROCESS WE WANT TO CULTIVATE. 

OLR DECISIONS ARE MADE AT RELATIVELY OPEN MEETINGS, 

BY UNANIMOUS CONSENSUS OF A SEVEN-PERSON STEERING COMMITTEE. 

FINAL RESPONSIBILITY FOR GETTING WORK DONE RESTS THERE* IT IS 
DIFFICULT TO BUILD A COLLECTIVE CONSCIOUSNESS, WHERE PEOPLE CAN 
SUPPORT EACH OTHER EMOTIONALLY AND OTHERWISE, WHEN WE ARE AT 
DIFFERENT LEVELS OF POLITICAL AWARENESS, WORK SKILLS# LENGTHS 
OF ASSOCIATION'# AND COMMITMENTS TO THE CONCEPT OF COMMUNITY. 

BUT IT'S IMPORTANT# AND WE'RE TRYING HARD. 


r~ 

| GOTTEN 
1 ETHIC 


IT'S VERY CLEAR TO US THAT RESOURCE ONE COULD NOT HAVE 
GOTTEN OFF THE GROUND WITHOUT THE HIGHLY DEVELOPED SHARING 

OF "ONE" -- AND WF_ CAN'T AFFORD TO FORGET THAT. WE WANT 
TO SHARE OUR EXPERIENCES WITH OTHERS INVOLVED IN SIMILAR 
PROCESSES, AND WELCOME ANY CONCRETE SUGGESTIONS ON POSSIBLE 
APPLICATIONS OF 0UR TOOLS. SOMEWHERE, WE MISLAID THE ORGANIZATION 
MANUAL THAT SavS WHAT A GROUP LIKE US IS SUPPOSED TO BE DOING, 

SO WE'RE PLAYING IT BY EAR. 


\ THIS ARTICLE 

PREPARED 

8Y: 



FORD 

TURPING 


LEE FELSENSTEIN 
STEVE ROBINSON 


a 4Ue 

Wot*) 



v. , ‘ 

UJ v\o 



kb'***.*} ^ 

1 1 


c o t^l X <-j 


exst 


V/ ^ Vr (j ov* 

Wt'lt 


\.ttU 


AS 


AU 


4ii 





III 8 

w O 3 


M 


S P Is »-« 
oo«o 

s** 1 ! s s 


fl“ 

I 3 ? 
$ » <» 
« S M 

§ ® s 


•li 


wmai 

i I sf Ini . * 

y B O Oft « « Oj S<t{ ^ 

£8 -g g 

* « % ■< 


5 A £ 3 §2 

.2 Is 3 

• & § a 23 

i a « > * § s « « 

I 8 8^ l-a-S S >..8 

£-2 is! 05 * g-e 

• o* J-SSc 
5 a-S £ - - 5 fe 


* 33 as 
c s « C jj 

a.% a 


- .■a a>--g s 
3 •&•§ -3 •g I, S 


* -ti two wj cC *£* bfi 

“H ^--'3 4> 

jr 

* -a if- ~ 


^ -a ^ ^ 

•3 :° 3 


® i M ffl 

& a> — 

3-8 g* 


<= a 

H 

■ lU 3 - 


« J 9 ^ c £ s’® a*- ~ 


CO 0} 
M 
(!) 

§" 
V S 
42 3 
■2-S 


Igs«r,sa 


0} pa^jOA auoXjdAa uaqj pus 
©AipaCqo ne pamjap auoauios 
‘sairnmuimoa u b j d o * n jCi 
-n^uao qj6I m oi„ *papp© ©q 
„‘;onpojd pu© ssaoojd uaaMT 
-aq uorpnpsrp ;nBTJodui| 
tre 95f8ui paujeax ©A t aAV„ 
•pasnun poB X^dma Suiptrejs 
4 sno ©qq sSuipimq jo qnj 
si BdjB aqx *X;p aqr ut BBqj 
sqonqns oqr cq ©snoqaiBM 
o; jadsaqa %i pnno; ©ABq 
sanredraoa ‘siBaX paaai nj,, 
•pres ^oos ,,‘raaTsXs opnoa 
•03© jno jo ©amosaj }jo-;seo 
‘paTSBM v jo ©sn Sappra 
©IB ©m„ 4 ©uip ©teres ®qj W 
i.ntreA 

-epur ©j,®m esmeoaq ‘©aij 
•©IB eiaq os ‘©iqBiiBAB 
©no Xpo sbm ©jaqj naqM pas? 
-raoid ©i©M sqof oatjT rsbp 
3upiJ0At j b q 1 eraooaq oi 
ajaAA ©m *X3oionqoaj Man eq; 
jo snrai ©jbmijos ©qj mj oj 
ssep gupfioM ©iqEireAB pnB 
pazqBioads ‘panpfs XjqOrq 4 p® 
-^BDTipa ub * * * rasrfBiiTsnpnt 
- jsod joj ©oioj ioq©i b jo nop 
onpoid eqj oj ouq XjqtnassB 
atp jo sanbmqoaj oqj X(ddB cq 
sba rasqBTJisnpnT jo qdranTij 
a^ranin ©qx,. ‘saotmon 
-oid d*noi3 ©qj Xq paqsq 
-qnd ppBat b l4 'snopB^Dad 
-xa snouoiS pnB Surarep 4 ;na 
-jbj snidms jo ©abm ppp B 
jo ©piB3-jqBAB aqj ©i 4 ©AV„ 
JLN3TVX 

•a oi3 o% ams sj jdao 
-no© <( ©no f , ©qj J! sb sread 
-dB ‘jseai jb ‘aoirepq no 
..•juauipijinj ioj 
a^tn osp ubo p ^nq ‘preq 
s 4 ji *dn Samoa %i sb uopBnps 
XiaAa jnoijuoo oj ©ABq noA 
•pDOjoid purqaq epiq j,ubd 
noX puy -X^nTRIsnodsai pire 
uopBinjBui piBAvoj pajoaiip 
aiB Xatp n^AO q3noq;p 4 ia 
-q;o qoB© no spuBtuap XABaq 
ainos a^Btn aidoa^ -ssauasop 
o% pappi ©in Xtrej^,, -pres 
TJODS <t ‘JT\DD° jBtp smapoid 
tBa^kqoqoXsd ©ib aiaqx,, 

4< -s3jBaiq 

\i 4 3nnparaos doip noX naq^ 
•gniApiojun puB piBq ©ib 
sioop juaxnaa aqx ’atup ©qj 
jo jsotn qsiBq puB pp© uaaq 
s 4 jt„ 4 3upB©q ppuao ioj 
pafppsm uaaq }snC snq lapoq 
pasnqomd Xpnaaai b q3noqj 
•[V ‘saanaps pioos XiBuqd 
-iDsrpiajui *ui si " punojSspBq 
asoqAv ‘nosan Xnaqs pres 
44 4 aiaq 9Aq o% preq s 4 q„ 
saiiTiuidJia 

•jno 

paddoip osp aAeq jpq pqj 
scBatn sup jnq ‘paureuiai 
9ABq ciaqmam pm3iio eqj 
jXBq jnoqy -sppupod Man sb 
n©M sb smaiqoid Man oj asu 
s9ai 3 pauiiiadx© ©ApBiado 
- 0 D anbiun liaqj pqj ©paouoo 
XnpBdi spBdppiBd 4I auo„ 
44 *sns 

-nasnoD e^Eupnqa ©m pip 
pajsa33ns idA© seq ©no on 
jng *smoq ooos ioj no 3Bip 
Xoip sauip jv -ip* 3 [iom s3nt 
-jaara aqr ‘samp ;y *noisTDap 
b jnaAaid neo a;0A 3upuas 
-sp ©iSnis Xub pqj 3upBam 
‘snsuasuo© Xq p paAUi* 
aq pmn suOispap n B PW.. 
pres poos 4 /spafqo asp ©no 
ainos (pun gupaam b ireqa 
ib a auoXuB pip ©ppoid 
lopepossB jo sappiB aqx„ 
S3T0UHY 


SnpBjoi b no paiBqs ©ib pnB 
— sjuai Supaanoo ‘saqddns 
3 iqsBqamd — m©j ©ib suop 
-onnj ©ApBipnmnpv Xpoq 
©ipna ©qj pajp pqj suop 
-sanb iaqp pnB daaqdn 3n| 
-pimq ‘aosds jo nopBaoip no 
suoisioap ip ©3pui oj iaqp3 
siaqiuani qaiqM p sSupaam 
I e i e n a 3 4 Xiospidnioa - non 
‘XppaM Bp paniaAoS si do -03 
©qx ©SuBqa o\ paCqns’ asoqj 
pus sapi Maj ‘siapnaf o^dbj 
ap io siojaairp on ‘pnaq 3uj 
-job 10 ppljjo on SI aiaqx 
•piOM aqj jo asnas pared aqj 
uj XqojeuB no siapioq pip 
ssaooid painjonpsun Xijbj 
-oj b si ‘nopBioossB jo sapp 
-ib puiioj s 4 dnoi3 ©qj oj 3nj 
-piooaB ‘qotqM 44 4 uopbziub 3 
-io, , sji si 44 auo„ jo sjaadsB 
SujnSppuj pom aqj jo auo 
,,-auoXiaA© 
ioj X3iana q3nona ©abij noX 
pup nojL uregs pnB ujb3b 
papiAip aq ubo jeip noisuip 
jo pupj b sb jnq ‘asnas XiBn 
-rpio aqj nj jon *aiBqs noX 
puy pno sao3 pqM pne of 
sao3 pqM naaMjaq oonnpq 


STI i 


°.-2 






o o 

^ - c 

° >» ® S * c i 42 b 




g #> s I* - 


J3 S ® b 

2 3 a • S .£ 

m « • 2 ^ « 

O ti 4) ® 

-t S £ 5 g s 

3: -Ss-i: -3 
■s's S “ e l a 
fa -r a ” -a ^ s 


|3 II § 

fe- K C ^ n 

S' rf & l 




. s S & S S " 

zlii. 

•s af 2-i rfJ82 _ 

% a«?S s 


s s 




sssg’g* 

«* 5 2a.§£ 

5 S.«3§'S&15g s-14 

Tjt-Salf *lt= 

i** 15.2 I*! 

« > i) a # ^59 o ’? - ! 


■fjj b 2 S g 

> O . 43 


o « o o $ £*2 • 2 ^ 5 3 d C 

•=* g ao'a ^ is CQ * o b -o o 


1 ! : 

y do o 
* o o S 


* £ S M 'I *8 " 

'Zi 5* a 




iynii! 


ilslitf 


la Isillll 

■Hn»r 




] 

I 




In this issue, we’ll look at some practical music 
theory and describe a few “utility” algorithms 
for music programming. 

The first article in this series described chro- 
matic scales. The 12-tone chromatic scale is 
based on the 2nd overtone, which is twice the 
frequency of the fundamental or base frequency. 
The tones of the scale are generated by multi- 
plying the fundamental frequency by the 12th 
root of 2, 12 times in succession (ending with 
the value 2). 

Here is a general program for tempered (pro- 
portional) scales. 



100 REM *** TEMPERED SCALE FREQUENCY GENERATOR *** 
110 PRINT 


120 PRINT "AT MAT OVERTONE SHOULD I 
130 INPUT R 
140 PRINT 

150 PRINT "HO V MAM* TONES IN THE SCALE "I 
160 INPUT T 
170 PRINT 

180 PRINT "WHAT IS THE BASE FREQUENCE"* 
190 INPUT F 
195 PRINT 

200 LET L«LOG<R)/T 

210 PRINT "TONE'S "FREQUENCE" 

220 PRINT 
230 FOR I»0 TO T 
240 PRINT I+l« F*EXPCI*L> 

250 NEXT I 
260 PRINT 
270 END 


BEGIN REPEATING"; 


11 


h /Hi 


If you input: 

R = 2 (octave of the fundamental) 
T= 12 
F = anything 


D 0 
1 
A 


12 


8 


MA 1& 


It 


you obtain the frequencies of a chromatic 
scale (abbr: C-scale) on frequency F. In our 
diagrams, we have labeled the tones of the 
C-scale with the first twelve integers. The C- 
scale thus contains tones 1, 2, 3, 4, 5, 6, 7, 

8, 9, 10, 11, and 12. Tone 13 is written as 
tone 1. 


Po 

T 2 ,: H-5cA«-E 


DEFINITIONS AND ABBREVIATIONS 
USED IN THIS ARTICLE - 


Here’s our question for today: 

Given the C-scale as the UNIVERSE, how are 
SUBSETS ( patterns with fewer than 12 tones ) 
with predictable properties to be selected? 

Here is a simple model to help us. 


4 : c -<cale 



CHROMATIC MAJOR, 

MINOR, 

AND PERFECT TONES 


Chromatic tones fall into four classes: 

1) The DEFINER, and the octave of this tone 
(DO). One of the 12 tones is chosen to be the 
“definer” of any scale. Since the C-scale can 
start with any tone, DO must be chosen arbi- 
trarily. In al our diagrams in this article, DO is 
tone 1. The octave of DO is equivalent to DO, 
of course. We include the octave of DO in the 
scale because it makes it possible to use sym- 
metry as a tool of analysis. 

2) MAJOR TONES (MA) Major tones are 
“upward moving” with respect to DO. MA 
tones sound happy in a pattern (scale or melody) 
with DO as the definer. 


C-scale: The Chromatic scale (Diagram A). Twelve On the H-scale or cycle of 5ths (see box on 

tones with proportionately increasing frequencies, this page for a description of the H-scale), MA 

repeating every octave. tones are all clockwise of DO. 


f 

} 



} 



H-scale: The Harmonic scale (Diagram B). The eighth 
tone of a chromatic scale is very close to the frequency 
of an important overtone (the 3 overtone). The H-scale 
is just the C-scale redrawn to display this relationship 
more clearly. 

the defining tone of a scale 
Perfect 

Perfect opposite 
Major 
Minor 



All arithmetic in C-scale music is performed 
"mod 12" — here's a useful mod 12 reducer 

DEF FNM(X)=X— INT(X/12)*12 



If DO=l, MA tones are 3, 5, 8, 10 and 12 

3) MINOR TONES (MI) . Minor tones are 
“downward moving” with respect to DO. MI 
tones sound sad in a pattern based on DO. On 
the H-scale, MI tones are all counterclockwise 
of DO. 

If DO=l, MI tones are 2, 4, 6, 9, and 11. 

4) PERFECT TONES (P, PO). If DO = 1 , 
tones 6, 7, and 8 are called perfect tones. This 
is partly traditional, partly modern. 

a) Tones 6 and 8 are very close (in the C-scale) 
to the 2/3 and 3/2 intervals which were used 

by Pythagoras to define the “diatonic” (7-tone) 
scale (see PCC 1:3). They are honored with 
the title “perfect,” although 6 = MI and 
8 = MA by their positions on the H-scale. 

b) Tone 7 is the “Perfect Opposite” (PO) 
of DO. When the PO appears in a pattern, the 
pattern is reversible, PO becoming (when it is 
played) a competing “DO.” Tones 1 and 7 
thus form an AXIS around which the other 
tones are defined. Note that MA and MI are 
reversed exactly when PO becomes DO. The 
alternation of MA and MI tones on the C-scale 
is interrupted by the PO. 

As we shall see presently, there is a “good” 
reason for treating tones 6, 7, and 8 as a class. 


page 6 



SELECTING SEVEN-TONE SCALES 

Seven-tone scales, including the familiar diatonic 
(major, minor) scales, are subsets of the C-scale. 
How is the subset specified? It turns out that 
there are several ways to do this. Each way leads 
to a somewhat different selection algorithm. 

I) First, the seven tones could be selected 
completely at random, like dealing seven cards 
from a deck of 12 cards. This algorithm is left 
to the reader. For the moment (i.e., this 
article), let’s look only at 7-tone patterns with 
somewhat even distribution (purposely omitting 
scales like 1 - 2 - 3 - 4 - 5 - 6 - 7 - 1). 

II) MA, MI, and P(PO). You can use the 
distribution of MA, MI, and P tones to select 
7-tone scales with predictable properties, 
based on the properties of the tones themselves. 
Here is one set of rules of selection: 

1 (always) 

2(MI) or 3(MA) 

4(MI) or 5(MA) 

6(P) or 7(P0) and 7(PO) or 
8(P) [2 out of 3] 

6th location = 9(MI) or 10(MA) 

7th location = 1 1(MI) or 12(MA) 


Note that selection of locations 2, 3, 6, and 7 
is binary; selection of locations 4 and 5 is 2- 
out-of-3. No tone can be used twice. No 
location can be occupied by more than one 
tone. There are 1*2*2*3*2*2 = 48 different 
7-tone scales formed by this algorithm. Choice 
of MA vs. MI may be independent from loca- 
tion to location. 

In the following program (program 2), locations 
2, 3, 6, and 7 are independent. Location 5 is 
conditional on the outcome of location 4 (see 
Table for Program 2). The conditional assign- 
ment of location 5 plus the need for two 
different formulas makes this RANDOM selec- 
tion a sloppy algorithm. Can you improve it? 


Location 


100 DIM D<7> 

105 RANDOM 

110 DC! >*1 \D<8>*1 

120 FOR 1*2 TO 7 

130 R* INT ( 2*RND (0 ) > 

140 IF I»4 THEN 170 
150 DC 1 >*R*2*< 1-1 ) 

160 GO TO 210 

170 IF D(4)*6 THEN 200 

180 DC5)*8 

190 IF I*S THEN 210 

200 DC I )*R+2*C 1-1*5) 

210 NEXT I 

220 PRINT 

230 FOR 1*1 TO 8 

240 PRINT DC I >1 

250 NEXT I 

260 PRINT 

300 END 


1st location (DO) 

2nd location 
3rd location 
4th and 5th locations 


Diagram C shows the scale locations and which tones 
can occupy each location. The diagram also shows 
how the properties of each of the tones would affect 
the melodic tendencies of the scale. Major tones tend 
to progress upward, minor tones downward. 


DIAC^MVS C 


Why do we need a definer? 

The definer (from Ta Chuan/The Great Treatise on 
the I Ching, or Book of Changes) 

In the Book of Changes a distinction is made among 
three kinds of change: nonchange , cyclic change , and 
sequent (non-cyclic) change . Nonchange is the back- 
ground, as it were, against which change is made 
possible. Tor in regard to any change there must be 
some fixed point to which the change can be referred; 
otherwise there can be no definite order and every- 
thing is dissolved in chaotic movement. This point of 
reference must be established, and this always requires 
a choice and a decision. It makes possible a system of 
coordinates into which everything else can be fitted. 
Consequently at the beginning of the world, as at the 
beginning of thought, there is the decision, the fixing 
of the point of reference. Theoretically any point of 
reference is possible, but experience teaches that at 
the dawn of consciousness one stands already enclosed 
within definite, prepotent systems of relationships. 

The problem then is to choose one’s point of reference 
so that it coincides with point of reference for cosmic 
events. For only then can the world created by one’s 
decision escape being dashed to pieces against pre- 
potent systems of relationships with which it would 
otherwise come into conflict. Obviously the premise 
for such a decision is the belief that in the last analysis 
the world is a system of homogeneous relationships - 
that it is a cosmos, not a chaos. This belief is the 
foundation of Chinese philosophy, as of all philosophy. 
The ultimate frame of reference for all that changes 
is the nonchanging. 


READY 


READY 


Now that you’ve seen this program, a little 
question on which we shall build in later 
articles: 


READY 


We said that there are 48 different scales 
possible by this method. This statement 
neglects the phenomenon of inversion. A 
scale iB an inversion of another scale if 

1) it uses the same tones, but assigns a 
different number the role of DO. E.g., 
1-3-4-6-8-10-11-lisan inversion 
of 11-1-3-4-6-8-10-11, the brack- 
eting tones being DO in both scales. 

2) the pattern of intervals is the same, 
but beginning with a different interval. 

We’ll explain this further in a later article; 
try to work it out for yourself in the mean- 
time. 

How many of the 48 scales are inversions of 
one another? Conversely, how many really 
unique patterns are possible with these rules? 

One further question, likewise with future 
significance: How many of the scales generated 
by this method are symmetrical? For example, 
1-2-5-6-8-9-12-1 is symmetrical (look 
at Diagram C). Is this of any importance? 


READY 


READY 


READY 


READY 


(I) 

R 

D(I) 

FORMULA 

CONDITIONS 

(1), (8) 

not computed 

1 

1 


always 1 

(2) 

1 or 0 

2 or 3 

R + 2*(I - 

1) 

none 

(3) 

1 or 0 

4 or 5 

R + 2*(I - 

1) 

none 

(4) 

1 or 0 

6 or 7 

R + 2*(I - 

1) 

none 

(5) 

1 or 0 

7 or 8 

R + 2*(I - 

1.5) 

D(5) = 8 if D(4) = 7 

(6) 

1 or 0 

9 or 10 

R + 2*(I - 

1.5) 

none 

(7) 

1 or 0 

11 or 12 

R + 2*(I - 

1.5) 

none 



Writing Gin Specs: Part II 


Last issue we dealt with some general bid re- 
quirements that can be used in any computer 
bid situation (see box this page). This issue 
will deal with specifics for hardware and soft- 
ware. You should be aware from the start 
that your software requirements may be every 
bit as important as your hardware needs and 
specs should be written accordingly. Secondly, 
the more specific you are, the more information 
will be provided to you by bidders, (i.e., if 
you list all your requirements, it is incumbent 
upon the bidder to list any exceptions to those 
requirements). If you don ’t list your needs, 
he may not tell you all about his system and 
you will have to search out this information on 
your own. 

Both hardware and software sections can and 
should be written with a required section and 
a preference will be shown if you can provide 
this section. This gives you wiggle room in 
your selection and lets your bidders know 
exactly what your minimum needs are and 
what you really want. Chances are, no one 
will be able to give you everything you want 
(at least not at a reasonable price!). 



Here are some more general bid specs 

that have been brought to our attention 

since the last installment of this article. 

Use them in good health. 

★ The bidder must have gross sales in 
excess of $50 million and evidence 
of a profitable computer operation. 
[Wonder who suggested that one?] 
This line will certainly knock out 
Fly-By-Nite Manufacturing but will 
also knock out other small, legit- 
imate bidders as well. 

★ Bidder must have 10 (20, 30 ??) or 
more similar installations in simi- 
lar institutions and must provide 
their names and addresses. 

★ Bidder must have an active educa- 
tional users group. 

★ Bidder must provide a library of 
programs suitable for use in sec- 
ondary schools (in BASIC). 

★ Computer system must have a 
second instructive language 
(e.g., FOCAL — who claims this 
one?). 



HARDWARE 

You can take three different approaches in 
writing specs for hardware. You can be 
SUPER-SPECIFIC. For instance, you could 
specify an 8K, DEC Edusystem 20 with 4 
terminals (ASR 33). Unless you added “or 
the equivalent,” this kind of spec would get 
you one single bidder, DEC. If you add “or 
the equivalent” it would be like opening 
Pandora’s box. Everyone would bid claiming 
they were “equivalent” or better than an 
Edusystem 20 and you might have a real 
hassle proving otherwise. Unless your mind 
is completely closed, we don’t recommend 
this approach. 

Another approach is to spec your hardware 
completely around your software specs — 

“the hardware provided will be capable of 
operating the software described elsewhere 
in this document.” This seems like an awfully 
gutsy thing to do and requires that your soft- 
ware specs be exhaustive and exacting. This 
approach probably makes the most sense but 
I’m not convinced it’s practical unless you 
really have some sharp spec writers around 

T' 


your snop. 


t 


Always seeking a compromise, the obvious way 
to spec your system is to list those minimum 
hardware requirements that you think you 
might have plus your preferences, require that 
the hardware be capable of operating all the 
software specs and write yourself a neat set of 
software specs. 

Now for the specific hardware items — 

Central or Basic Computer System 

Don’t spec a Central Processor (CPU) per se, 
rather spec a total system. Require that it be 
new equipment (unless you want a used one) 
and define that it be of latest generation design 
(today that’s third generation or is it fourth or 
3 !4[? ] ). If you’re gutsy don’t identify your 
core storage requirements in terms of x number 
of words or bytes. Instead, specify your needs 
in x amount of USER SPACE or user space per 
terminal, while operating in time shared BASIC. 
(We felt 5000 words was adequate if the system 
could CHAIN programs.) And, if your’re 
messing with FORTRAN and the like, then 
define your needs in terms of user space for 
each language. User space is really what you’re 
concerned about isn’t it? You will find wide 
variations in user space from system to system— 
so beware. This tactic puts the pressure on the 
vendor to specify space in your terms, not his. 

To save you dollarS later, you should specify 
that the delivered system be expandable to x 
amount of core without the need to replace the 
CPU or the addition of an expansion chassis 
(we said 32K). It’s cheaper to get the bigger 
chassis now and less aggravation later. If you 
have a preference for a 12 bit word system, 
say so. If you want a 1 6 bitter spec it that way. 
You may as well get what you want! 

More Storage 

In this day and age you have an unbelievable 
choice if you want more storage capability on 
your system. For the complete system you 
can choose fixed-head disks, cartridge disks, 
magnetic tape, DECtape, cassette tape, and a 
plethora of floppy disks and other assorted 
paraphenalia, or any combination thereof. You 
should examine your needs as you see them and 
then make your decision. We’re not convinced 
that a fixed head disk is needed for any reason 
other than speed and to run up the price. If 
speed is not your concern, save yourself some 
money and don’t require a fixed head disk. That 
doesn’t mean you won’t get one. Some systems 
only work with such a disk for reasons that have 
never been adequately explained. (Warning: If 
you will be doing CAI on your system you will 
need a fixed head disk. CAI consumes an 
enormous amount of disk space and it slows the 
system down considerably. If you plan to do 
anything in addition to CAI on that system, be 
prepared — you’ll need plenty of extra disk 
space to handle it.) 



“I’d like a computer 
that’s about this high 
and this wide... ” 


Here are some cost savers — Most large systems 
are sold with magnetic tape to be used to load 
the “system” in case of a malfunction. This 
tape unit ($10,000 worth) has no other use 
since time sharing users cannot use it. You 
can eliminate this costly extra by using a 
cartridge disk as your time share storage unit. 

In case of malfunction you use this same device 
to reload the system. 


If you’re considering a DEC Edusystem, some 
combination of DECTAPE and cartridge disk is 
probably the most flexible, least cost way to go. 
Remember, DECTAPE is more like a random 
access device than it is like magnetic tape, or 
so they say. 


Whatever you do, be sure to specify that the 
storage you want be available to all users in 
time shared BASIC. That seems obvious but 
you should know that hardware people some- 
times sell you things that don’t work the way 
you expect them to. 

We’re a little gun-shy about floppy disks and 
cassette units as of now. We haven’t seen major 
vendors providing software to drive these units. 

Is that clear? Just because it’s attached to your 
hardware does NOT mean it will work. There 
must be some linking software to make the “it” 
available to the user in BASIC. The software is 
not always available, so buyer beware .... 
However, if you have some good software people 
around, these two items may be a good low- 
cost way to adding storage to your little system. 


I/O Capability 


If you’re specing a Teletype-only system, there 
is little to worry about. For each TTY you need 
a TTY interface or for all of them get one multi- 
plexor into which they plug. Multiplexors usually 
handle 8 to 1 6 TTY and work out to be cheaper 
than buying individual interfaces. If you are 
going to communicate via phone lines with 
modems (see PCC Vol. 1 , No. 2, p. 1 2), beware. 
Some TTY interfaces WILL run either direct 
TTY or modems — some WON’T. Specify your 
needs. No matter how many TTY’s you want 
now, you’ll want more soon. Be sure to require 
that your system I/O is expandable. 



AriD-TuxrS 
LEASE PRICE?/ 


With changing technology you should be able 
to get multi-speed interfaces and multiplexors 
so you will be prepared to run those sweet new 
CRT’s at rates of 30 CPS or faster. Your 
standard TTY interface will not run at 30 CPS. 
Specify variable speed interfaces or multiplexors 
to meet this need. 


If you want card readers, printers, and all those 
other high speed peripherals be very cautious. 
These items don’t just plug into the multiplexor— 
EACH needs a controller (like an interface). Do 
you want these peripherals available for time 
share users? You had better say so! Some BASIC 
systems will run these peripherals in time share, 
other will not. The HP 2000E, the low cost 
model, will not drive high-speed peripherals in 
time share . . . the 2000F will. (Another of life’s 
unexplained mysteries.) Some DEC systems 
will drive these peripherals IF you buy more 
core. 


Another frustrating item is the high-speed paper 
tape reader you must buy on larger systems for 
$3500 or so. It is only used to ENTER system 
software. No user can use it to enter BASIC 
programs (don’t ask me why!). 


Cost savers — Mark sense card readers — we have 
friends who swear by them and other who swear 
at them. Check mark sense readers out carefully 
before you decide. You may find a punch card 
reader will better meet your needs and save you 
money. Line printers are expensive as hell. A 
good Saving can be made if you buy the 80 
column printer instead of the full blown 1 32 
column model. Do you really need all that 
printing? 



(none memoes ©ongoing to gio^ 


Miscellaneous 

Somewhere in your bid spec you should require 
that all interconnecting cables and hardware be 
included. Cables can run $35 to $50 each. It’s 
nice to have them included in the price. (I 
realize these things sound obvious but unfortu- 
nately we know of schools that have been 
$-screwed by these little things.) 

Most bids we’ve seen have specified that the 
system will operate without special environ- 
mental requirements such as air conditioning. 

You might even specify the low-high tempera- 
tures you require. That’s what’s neat about a 
mini ... no air conditioning, no special raised 
floors and all those other expensive things. 

Powerfail/restart capability is a hardware and 
software item. This goody costs about $500. 

In case of power failure or fluctuation, it 
guarantees you won’t lose everthing that’s 
going on and then restarts your system 
automatically. As a hardware item, it’s 
pretty straightforward. Be sure to mention 
the requirement that there be software to 
make it operate when you’re running BASIC. 

Again, it sounds obvious, but we did use a 
system recently that had powerfail hardware 
but when the plug was kicked out, we lost 
everything??? ! 

Want your computer in a cabinet? Better say 
so, you may not get it that way. 

Maintenance — the stickywicket of this business. 

It costs dearly but buy a yearly maintenance 
contract on your system and high speed peripherals. 
It’s worth it. We don’t recommend maintenance 
contracts on TTY’s. Service them with on-call 
service. Be confident that you will get 1 2 to 
24 hpur service from the computer manufac- 
turer — service by employees of the firm. I’d 
be very lefry if maintenance is only available 
from a “local mechanic with whom we 
contract.” Those of you in the boonies will 
encounter this problem. Beware. 

lllllllllIttlllllllllNIIIllllllllilllllllll 

We’ve said . . . don’t buy TTY’s from the 
computer supplier. It’ll cost you a fortune. 

The computer supplier may require that 
you buy a consol TTY from them (usually 
an ASR 35 for $3500 or so). YoUfe stuck 
buying it from them but don’t accept the 
ASR 35 — tell them you want an ASR 33. 

It will do the same job at half the price. 

When you specify TTY’s from another 
source be sure to include the requirement 
that the TTY be modified for your system. 
TTY’s connected to DEC, Data General 
and other computers, require a modifi- 
cation kit installed in the TTY to make it 
run compatibly with the computer (cost 
is about $100 each). Remote TTY’s (via 
phone lines) don’t require these modifi- 
cations. 



Leasing — Nobody buys computers these days, 
they lease them. Someone out there should 
write us an article about leasing — pros, cons, 
prices etc. We do know that interest rates 
vary from firm to firm as do all other fine 
print items. Let Truth-In-Lending work for 
you — REQUIRE the vendor to specify the 
interest rate used in calculating your lease. 


SOFTWARE 

We’re only going to worry about BASIC here. 

If you need other language specs, you’ll have 
to find another reference. Let me repeat the 
comment that this section of your specs may 
be more important than your hardware require- 
ments. 


BASIC was developed at Dartmouth College 
and there is considerable literature to explain 
what is called Dartmouth BASIC. Trouble is, 
the authors of the language have come out with 
several revisions and improvements to the 
language which have blurred the original definition. 
We’re going to reinstate what we think is the 
original Dartmouth BASIC. 



Dartmouth BASIC includes the following 
statements: LET, PRINT, READ, DATA, 
GOTO, IF-THEN, FOR, NEXT, GOSUB, 
RETURN, INPUT, REMARK, END, DEF, 
DIM, STOP, RESTORE, RND, SGN, SIN, 
COS, TAN, ATN, SQR, LOG, EXP, INT, 
ABS, and a full mix of MATRIX commands. 



You may not need the MATRIX commands. 

All the rest represent the absolute minimum 
BASIC language requirements. You might 
place the MATRIX commands in a “desirable” 
software category. (MATRIX commands take 
up an awfully large amount of user space on 
core-based minis. Be sure to require the ability 
to delete the MATRIX commands at your will 
to gain user space when MAT isn’t used. Then 
you only have to load the MAT commands when 
you need them.) 



To tms standard BASIC you should add the 
requirement of a TAB command which will 
help formatting output and the MULTI-BRANCH 
GOTO (ON x GOTO 100, 200, 300) which you 
will find invaluable. 


If you’re really getting into it, you’ll want 
STRING VARIABLE capability on your system. 
String variable commands allow you to manipu- 
late alphabetic data. Some systems will only 
allow strings of lengths from 6 to 1 8 characters, 
depending on the system. This is almost like no 
strings at all. HP allows strings of 72 characters 
(one full TTY line) on the 2000 series. DEC’s 
BASIC PLUS language will handle strings as 
large as 255 characters. In addition to having 
strings you should specify the ability to use 
relational operators (<, =, >) with strings so you 
can do such things as compare strings and 
arrange them in alphabetic order. To round out 
your string variable capability you should re- 
quire the ability to concatenate strings and 
separate strings using substring commands. 


In the category of “preferred and awfully nice” 
(but not necessary) we place the ability to 
store strings in arrays or string array capability. 
This feature is now available one some of the 
newer, super BASIC systems that are coming 
out. 


Next in order of preference, we see the need 
to CHAIN programs, that is to link two or 
more programs together for continuous operation. 
With CHAIN you must have a COMMON state- 
ment which allows carrying a variable forward 
from one program to another. Some systems 
offer CHAIN but not COMMON, caveat emptor. 


The following BASIC features are not in any 
meaningful order but we suggest you evaluate 
each on its’ merits and use them in your specs 
as you see fit, ... as required, . . . preferred, . . . 
not necessary. 

PRINT USING or picture formatting as a 
BASIC command. This gives you the ability 
to control output format with more precision 
and without some fancy programming shenan- 
igans. Especially useful for business applications. 


Multiple statements per line — DEC has a neat 
user space saving feature that permits you to 
put multiple statements on one line. 

10 FOR X=1 TO 1 0\PR INT X\NEXT X 

If you’re looking at a core based mini this is 
almost a necessity. 

Immediate or calculator mode — allows you to 
execute unnumbered statements without writing 
a complete program and without having to 
scratch the existing program. The statement 
may be any legit BASIC statement, even including 
a looping one. 

ENTER permits limiting the time a user has to 
input a value. Absolutely essential for CAI and 
nice to have for simulations and games. 

File capability — the ability to store data in 
sequential and random access files. You should 
specify how many files can be accessed at one 
time (4 to 10), how much data each file should 
be able to handle. These figures will vary wildly 
from system to system. 

Logical operators — AND, OR, NOT operators 
available to use on all data. 

Peripheral drivers — if you are buying card readers 
etc., we repeat again, specify (REQUIRE) that the 
BASIC software include the ability to effectively 
use these items by terminal users. 

There must be other BASIC features but we’re 
out of gas! If you’re seeking a large disk time 
sharing system than you must require a full 
compliment of system accounting features 
including x number of assignable user numbers, 
file protection for each user, and the ability to 
keep track of time and space for each user. You 
should also require that the system have a Public 
Library capability which allows all users to access 
the programs in this library, AND require that 
the vendor provide you with at least 200 programs 
for this library each of which be suited for 
educational use at your level. HP (maybe DEC too' 
has a nice feature called a GROUP library. Users 
with similar user numbers have access to this 
library in addition to the Public Library. This 
feature is appropriate in a consortium installation 
where each school may like its own library in 
addition to the Public one. 

We hate to say this, but these are the recommended 
requirements for one language. If you are con- 
cerned with other languages you should take some 
time to specify your needs for that or those langu- 
ages as well. 

Is it hardware or software? Someplace you should 
require a reasonable response time when the system 
is in full use. What’s reasonable??? How about 5 
seconds after pressing RETURN when all 1 6 (or 32' 
users a red oing normal problem-solving activities. 



At the present time there is a Standards 
Committee meeting to establish stand- 
ards for the BASIC language and all its 
improvements. This article has com- 
pletely disregarded the existence of these 
standards. When they become available, 
we will print them so you can require 


the established standards on your system. 






LETTERS 


.£•- 3,7 . :.rz_ . . /l~. 

//&LU- C / ... 7"/^ 

d">\X J" . 

J X_- ^r> - - fS.Z.'C-' x- 4 ^<S~ • 


G. Harland 
10303—98 Avenue 
Edmonton Alberta T5K 0C3 
CANADA 



-^T) CV-ip-t 

V * . . / - ^ . 


cr. ^ 


,. f/c 


as cac^ 


^yyt- ytsr\ 


Showed the paper around a lot and found that the computer people were very 
Interested (re. the Computing Services subscription) and non-computer people 
were a bit bedazzled ... if you could do something in the way of a simple analogue 
to help explain how a computer sort of goes about its business I think it might 
help. 


CA/'^Jv^P £c\_. 7^*- A'? LC Si * >Jtr7~ y/c e £ 77 £ S- 

.4Zsr*r\..£-( ... Asn .. 

u <r. .. Uc. <?- c z>o ^r*>9. 3? PdfyS- - 

-or. yLu & c ^ .tut// 

— -2 . 3 /r s& l\siLs7 dPt X2'‘"Jr-> c- . .^tA- — 


... ^Jryy^Xi> o j- <? £> £t £, (P /Vo^x r^_ 

i ^ ^ 


I hesitate getting too deep into that: 

(1) because the computers themselves can provide an experience worth much 
more than a newspaper article. 

(2) for fear of the "Radical Software Effect . . . " I like software but couldn't 
do much with until I had a few personal exchanges with a porta-pak under 
by belt. 

U of A has a whole mess of computers: IBM 360/6F,/40,1800, PDP8(18), PDP8E(2), 

HP 2116, HP 2114, D6C NOVA (3), HON DDP 316, HON DDP 516, NIC 1800, 

EAI 590, CDC 240, CDC L6P 30, CDC 3150, NIC 1800, XDS 920, RAV 703, UNI 9200, 
UNI 9300 (2), BUR L2301, but the only one I've ever spoken to is the IBM 360/67 . . . 

I don't even know what the rest look like or what kind of magic they perform. 

No, I don't have a computer ... do you have a 4K you can spare . . . what do you think 
of DEC'S PDP-16 modules ... I'm reading the book. 

I'm kind of new to computers really and haven't got enough vocabulary to say much more 
more than a few stupid sentences but ... I found a magazine .cal led: SOFTWARE — 
Practice & Experience, Periodicals Department, John Wiley & Sons Ltd., Baffins Lane, 
Chichester, Sussex, ENGLAND, $23.40 USA, S22.50 CANADA/year (quarterly), that 
has a regular article in the back called Computer Recreations: for example. 


' cuiL. 


v /^r>-C t (fC. ». IaJ<^ ^ 7* m J 

-..../-cn f'/c f S 7^c — 7' 


.... Jin //4 o- ? 7 Tkrc 

sjP-l 


iff * 0 ; 

^ <; jC- ... ‘ i^JL. . lis’C- s'U. 




K 


1 

f 


— "Darwin" a game between computer programs as programs 

— "Napolean" The Military Game 

— "MOD" or 

— "CALCOMP" can't read this stuff 


. CfX'L' ^ < ... *■' < „ Use- «~7 **>i 7' 

l-h' ^ ^ / ~ J 

y 

ide~£ £ ~ .sj ux « - ^ r /** j?sl '/ _r /\ - 

w 9 Tj] ^ >\ f/t «3*J> *~L x .. ... 

. y^s. L r- . tin i* 

-C t*l r -ri / -* s °/ •■'<' c y*. *U-£- 

n s? . / / * r , p . <\ , 

* /ir . C'O'C't ^ <*_, J^'xy ft 


(*-s 


... ^ t-<. -V\/. 


Seymour Papert was in Edmonton a few weeks back for some seminars, etc. and 
mentioned : 

(t) Alan Kay's involvement in some kind of computing thing (centre?) for public 
people in Palo Alto or wherever it is that Xerox has its mutant farm 

(2) Xerox's own "computers and kids" program 

(3) Ed Schlossberg (of the Brooklyn Children's Museum) and a traveling circus 
that involved computers, inflatables and a lot of travelling 

(4) Drs. Papert & Minsky's own "computers & kids" thing @ MIT and General 
T urtle 

Do you people know anything about these things or could you find out about 
them and write it up in PCC? 


■Tcien/i^ic sfnn/ybii fcr/to ration 



7> 


/X >1 -taJt % 


AN EQUAL OPPORTUNITY EMPLOYER 


MINNEAPOLIS 




PUBLIC SCHOOLS 




SPECIAL SCHOOL DISTRICT NO. 1 


SOUTHWEST HIGH SCHOOL 
3510 West 47th Street 
Minneapolis, Minnesota 55410 


1 <t ^y £*~r 


tv <~44 4 


Jim Moen, a member of the Corrouter Club, did this cartoon. T thought it 
vas a clever oiece of work and hone that you m^ht publish it in a coming 
issue of your paoer. 




ft j 


Jim Moen *ives his consent for publication. If it is published he would 
like some extra copies of the issue. 






lours truly, 


/» $-fa~As t\ c*v_£ rJ * J 


Edwin Andersen 


Chairman, Mathematics Department 


yo*. -rWvt 


i»r «-£ivJ 


«_U-. 


Cl rcJa. 


PAPER NOLOCa 




rocw«Jl Orl i 


dtJoj^p K k f Key fa <j~ xfc ) 


DISC 

- STORAGE 


^ets liHLej. 


wc punchor 




^EFERLHCE 

•manual 


7o 

I? t-t» 


(i UdL 


fLzof? (<2_ 

fix# 






urxr — f-A. 


cotnA 


X (^z-v 




^ ' - LcJ Morcjan 

A NON-PROFIT ORGANIZATION - AH39 CALIFORNIA STREET. SAN FRANCISCO. CALIFORNIA 94118 / TELEPHONE ,4IS| 752 . 7180 

CABLE. SPRA SAN PRANCISCO 


P»CC ^PACC POLL TELETYPE 



SELECTS 

Cm - oH-YMt; -*iPoa,crt) 


r 


would like to know how to ?et the rest of this school 


year* s issues, (My son and I like your magazine very much). 


~i 


Sincerely, 


FOVMOCMVKY 

^,ve 


»?*■ 


James McCormack 


P,S, Ky son, the main computer user at our house, says* 


I don’t have a computer, but have access to one (an HF 
20002) 


HP- 20 COZ 

(Bad AcRQMYms Sicken I nteumceyat Compute its) 

terminal 


I don’t have a music composer, but don’t really want one 


The cheapest tape winder is a pair of hands 


I have about five Simula tion/game pro, Trams I oave written 
(and more th-»t are either inaccuarate or not working) 


^Q00 ojKerovcr Toys ajr> &o\4 

A cift rnowN me booxHUicsT ANT\-HaNAQeweKT FORc.es fSAMtO 


L 


I would like to see Simula tion/game programs that are a 
little more comolex 


I will definitely do a pare in the future 


J 10 






\ 


PILOT 73 


5 *M0RE Tt H E R E WE G 0 0 0 ! 

10 T* HEY# HEY# WHAT * S Y0U SAY?? 

20 AsSCAT 

30 Ti WHO# WHO ARE YOUUU? 

AO A : SNA ME 

50 T: HOW# HOW DO Y0UU FEEL L L ? 

60 A : SFEEL 

70 T t D0 YOU LIKE GRAPEFRUIT IN THE HORNING?? 

80 A: 

90 M : YES # YEAH# 0K#SURE# LOVE 

100 Y85NAME# DOES A GRAPEFRUIT FEEL SFEEL IN THE MORNING? 
110 N: I SAY# SAY SCAT TO YOU! 

120 J:*M0RE 


RUN 

HERE WE G 0 0 0 ! 

HEY# HEY# WHAT’S YOU SAY?? 

?D 1NGBATS ARE FUNNY 
WHO# WHO ARE YOUUU? 

?ME# HEE# HEE 

HOW# HOW DO YOUU FEEL L L ? 

?RUN OVER BY WATERMELONS 

DO YOU LIKE GRAPEFRUIT IN THE MORNING?? 

? I LOVE I T „ 

ME# HEE# HEE# DOES A GRAPEFRUIT FEEL RUN OVER BY 

WATERMELONS IN THE MORNING? 

HERE WE GOOD! 

HEY# HEY# WHAT’S YOU SAY?? 

?§ 

BYE 

EDITOR IN 
EH? 10 
?20 
?RUN 

HERE WE G 0 0 0 ! 

WHO# WHO ARE YOUUU? 

?HENRY 

HOW# HOW DO YOUU FEEL L L ? 

?RUNNYNOSED 

DO YOU LIKE GRAPEFRUIT IN THE MORNING?? 

? NEVER 

I SAY# SAY CAT TO YOU! 

HERE WE G 0 0 0 ! 

WHO# WHO ARE YCUUU? 

?@ 

BYE 





FOR THE REVOLUTIONARY 

— Put some PILOT Poetry up! Find the English Department! 

— Try Spanish, French, Latin (?) in PILOT! 

T: HOLA 

— Invent some word games!! (Courtesy Abe Waksman, SRI) 

R: WORD GAME IN & OUT 
T: TROUBLE IS OUT, BUBBLE IS IN 
T: DUCK IS OUT, GOOSE IS IN 
T: FOOT IS IN, SHOE IS OUT 
T: GUESS THE RULE-GIVE ME A WORD 
*MORE A: SWORD 

M: AA,BB,CC,DD,EE,FF,GG,HH,II,JJ,KK,LL,MM 
JY: *NEXT 

M:NN,00,PP,QQ,RR,SS,TT,UU,VV,WW,XX,YY,ZZ 
N: SWORD IS OUT 
JN: *MORE 

♦NEXT T: SWORD IS IN 
J:*MORE 



10 TtHIl THIS IS THE GAME 0F R00MS. 

£0 Tt IT’S LIKE ‘HIDE AND SEEK'— Y0U PICK 0NE 0F THE ROOMS 
30 Tt0F YOUR HOUSE* LIKE THE KITCHEN 0R 
40 TtYOUR BEOK00M 

50 Tt 1 'LL ASK Y0U 'YES* OR 'NO' QUESTIONS 
60 Tt AND TRY T0 GUESS YOUR HIDING PLACE 
70 Tt 

80 TtPICK A ROOM AND TELL ME WHEN YOU'RE READY 

90 *AGAIN Tt 

100 At 

110 TtGK... 

120 Tt 
130 Tt 

140 T t IS FOOD USUALLY FOUND IN Y0UR ROOM 

ISO *ASK1 At 

160 Mt YES 

170 JYt*F0OD 

180 MtN0 

190 JYt*N0F00D 

200 Ttl'M SO0RY ♦ • 

210 Ttl'M SORRY.. .PLEASE TYPE 'YES' OR 'NO* 

020 J* *ASK1 

230 *F00D Tt GOOD... IS IT USUALLY USED TO EAT IN 

240 *ASK2 At 

250 Mt YES 

260 JYt*KITCHEN 

270 MtNO 

280 JY 1 *D IN INGROOM 

290 Ttl'M SORRY... PLEASE TYPE 'YES' OR 'NO* 

300 Jt*ASK2 

310 *KITCK£N Tt ARE YOU IN THE KITCHEN 

320 At 

330 MtYES 

340 JYt*G0TIT 

350 JNt*GI VEUP 

360 4DININGR00M TlARE YOU IN THE DINING ROOM 

370 At 

380 MtYES 

390 JYt*G3TIT 

400 JNt*GI VEUP 

410 4NOF00D T t HMM. • . IS YOUR ROOM USUALLY USED TO RELAX IN BY 

420 Tt EVERYBODY 

430 *ASK3 At 

440 MtYES 

450 JYt*RELAX 

460 MtNO 

470 JYl*N0RELAX 

480 Ttl'M SORRY... PLEASE TYPE 'YES' OR 'NO' 

490 Jt*ASK3 

500 +RELAX Tt ARE YOU IN THE LIVING ROOM 

S10 At 

520 MtYES 

530 JYt*GOTIT 

540 JNl *GI VEUP 

550 +N0RELAX Tt DOES SOMEONE SLEEP IN THIS ROOM 

S60 At 

570 MtYES 

580 JYt*BEDR00M 

590 MtNO 

600 JYt*GIVEUP 

610 JNt*WASH 

620 4BEDRS0M Tt IS IT THE BEDROOM 

630 At 

640 MtYES 

650 JYt*G0TIT 

660 JNt*GI VEUP 

670 *WASH TlDO PEOPLE WASH UP IN YOUR ROOM 

680 At 
690 MtYES 
700 JYt*BATHR0OM 
710 JNt*UNDER 

720 4BATHRO0M Tt ARE YOU IN THE BATHROOM 
730 At 
740 MtYES 

750 JYM>G0TIT 
760 JNt*GlVEUP 

770 *UNDER Tt ARE YOU IN THE BASEMENT 

780 At 

790 MtYES 

800 JYt*GSTIT 

810 JNt*GARAGE 

820 * GARAGE TtARE YOU IN THE GARAGE 

830 At 

840 MtYES 

850 JYt*G0TIT 

860 JNt*GI VEUP 

870 *G0TIT Tt 

880 T t THAT WAS FUN I 

890 Jt*AGAIN? 

900 *GI VEUP Tt I GIVE UP. WHAT ROOM ARE YOU HIDING IN 
910 At 

920 TI0H...I SEE 1 

930 *AGAIN? Tt WANT T0 PLAY AGAIN 

940 At 

950 MtY* YES. OK .ALRIGHT* SURE 
960 JNt^OUT 

970 TtPICK ANOTHER R00M AND TELL ME WHEN YOU'RE READY 
980 JttAGAIN 
990 ♦OUT Et 


7RUN 

Hit THIS IS THE GAME OF ROOMS. 

IT'S LIKE 'HIDE AND SEEK'— YOU PICK ONE OF THE ROOMS 
OF YOUR HOUSE* LIKE THE KITCHEN OR 
YOUR BEDROOM 

I'LL ASK YOU 'YES* OR 'NO' QUESTIONS 
AND TRY T0 GUESS YOUR HIDING PLACE 

PICK A ROOM AND TELL ME WHEN YOU'RE READY 

7READY 
OK. . . 


IS FOOD USUALLY FOUND IN YOUR ROOM 
?N0 

HMM... IS YOUR ROOM USUALLY USED TO RELAX IN BY 

EVERYBODY 

7YES 

ARE YOU IN THE LIVING RO0M 
?YES 

THAT WAS FUN I 





i 







These PILOT 73 instructions are the “core” instructions 
selected by the makers of the language. Many implemen- 
tations will have more instructions, some may have fewer. 
The idea is to keep the core set in every implementation. 

A note about entering programs: 

The program that makes PILOT 73 work is usually called 
“the Editor.” This program varies in language and operation 
from system to system. This miniprimer is a description of 
the language only; we assume that you will learn about your 
Editor from the people who set up PILOT 73 on the system 
you will use. 




TALKING COMPUTER: 

To make the computer talk, you use the T: instruction (for 
TYPE). When you run this program 



THE COMPUTER TALKS SOME MORE: 

WHAT IS YOUR NAME 

7FEARLESS FRED 

HELLO# THERE# FEARLESS FRED 


$ 


T: 



How did the computer do that? By using an answer label. Here ’s the 
program: 


T*HELL0 

the computer says 

HELL0 

(T: is just like BA SIC ‘ PR INT ’ ’) 

You can use the T: to make the computer print pictures! 

X* ♦♦♦♦+♦♦♦♦ 

T* 3 - - C 

Tt t CO 0) • 

T* t A 3 

Tt C #*# 3 

Tt 
Tt 

Or to tell stories, etc. 

TtTHIS IS THE STORY 0F THE D0WNFALL 0F THE NIEBEL 

(The program is left for your completion. Use extra pages if you wish.) 
TALKING TO THE COMPUTER: 

To get the computer to let you get in a word or two (or more), you 
use the A: instruction (for ANSWER). When you run this program 



T t WHAT IS Y0UR NAME 
A t SNAME 


• this is an answer label 





C 3 
\\>#«// 




A* 

the computer types 


a: 


then waits for your response. After you have typed in something and 
pressed the RETURN key, the computer will continue with the rest 
of the program ( if any). 

Here ’s a short program 

TtTHIS IS THE QUESTION 
Tt WHAT IS Y0UR BIRTHSIGN 
At 

T I THAT'S NICE 

When you run this program, here ’s what happens: 

THIS IS THE QUESTION 
WHAT IS YOUR BIRTHSIGN 
? 

Then the computer waits for your answer . . 


Tt HELLO# THERE# SNAME 

Let’s look at some more computer talk: 


Tt WHAT'S YOUR NAME 
At SNAME 

TtHOW OLD ARE YOU CIN YEARS) 

At SAGE 

Tt WHERE DO YOU LIVE 
AtSLIVE 

Tt SO# YOUR NAME IS SNAME# AND YOU LIVE IN SLIVE 
T t AND YOU ARE SAGE YEARS OLD. 


See how answer labels work? The $ means “ the next characters are an 
answer label ” When the computer sees 

At SNAME 

it labels the response with the label “SNAME. ” Then when it sees: 

TtYOUR NAME IS SNAME 

the computer types the first part 

YOUR NAME IS 

then it looks for the A: line which contains the label SNAME. If 
it can find such a line, it will type the response which was given there. 
If it can ’t find the line, or if that line hasn ’t been reached yet ( in the 
program), the computer types the label. 


WHAT'S YOUR NAME 
7CLE0PATRA 

§P/P|g HOW OLD ARE YOU CIN YEARS) 

72500 

WHERE DO YOU LIVE 
7EGYPT 

SO# YOUR NAME IS CLEOPATRA# AND YOU LIVE IN EGYPT 
AND YOU ARE 2500 YEARS OLD. 









What next? JUMPING! 



CAPRICORN 


. If you then type 
(followed, of course, by the RETURN key ) 




♦HERE Ttl AM HERE 
Ttl AM THERE 
Jt^HERE. 


J 


the computer continues with 

THAT'S NICE 

Now, you do it: write a PILOT program using T: and A: which 
“behaves” like the interviewer on a TV “talk show” (like, Cavett, 
Carson, etc.). That is, it asks question after question, without paying 
attention to the answers at all. 




(This is a 
line label) 


GgMga When you R UN this, the computer says: 



I AM HERE 
I AM THERE 
I AM HERE 
I AM THERE 
I AM HERE 


etc., until you stop the computer (BREAK key on some systems). You 


Or, if that ’s not your cup of T:, try simulating Mother Goose. Here ’s 
a typical MG, telling a story to her children 

WHEN SHE HEARD THIS# THE WICKED WITCH JUMPED ON HER 
BROOMSTICK# AND HEADED AS FAST AS SHE COULD FLY BACK 
TO HER HOUSE IN THE WOODS. 

AND WHAT DO YOU THINK SHE DID WHEN SHE GOT THERE 

7ATE UP THE KIDS 

7N0# SHE JUST CHASED THEM s children reply 

70000# THE WICKED WITCH 1 
WELL# WHEN SHE GOT THERE# THE FIRST THING SHE DID WAS... 

(Well, what was the first thing she did?) 


use a line label (like *HERE, * LABEL, *START, etc.) to tell the J: 
Wm instruction (for JUMP) where to jump. 

♦HERE Ttl AM HERE 
Jt ♦THERE 

♦WHERE Tt WHERE AM I? 

J I ♦HERE 

♦THERE Ttl AM THERE 
Jt ♦WHERE 


will produce the same result as 


♦BEGIN Ttl AM HERE 
Ttl AM THERE 
Tt WHERE AM I? 

Jt ♦BEGIN 


12 


What is the result ? 


Here ’s a “fancy” way to jump ( or, here come subroutines): 


♦BEGIN T< HERE'S THE START 
Ut ♦MIDDLE 
TtTHIS IS THE END 
Jt^END 

♦MIDDLE TtTHIS IS THE MIDDLE 
Et 

♦END Tt G00DBYE 
Et 



li: 


* ?RUN 

I IN- 
HERE 'S THE START 
THIS IS THE MIDDLE 
THIS IS THE END 
GOODBYE 

PI 

U: ( for USE) acts just like J: ( jumps to a label) 

E: (for END) does two things 

(1) Ends the whole program ( like BASIC “ END ”). The last E: in 
m&t the program above does this , right after the label *END. 

(2) If a U: line has been executed, E: returns the computer to the 
line following the U:. The first E: above, right after the label 
*MIDDLE, does this. When the computer reaches this instruc- 
tion, it automatically jumps back to the line right after the U: 
instruction. 

THE WORLD OF M: 


'k to the line ri; 

M: 





The M : instruction (for MATCH) is used to make the computer a 
little “ smarter . ” LOOK HERE 


^j^T*D0 YOU KNOW WHAT DARWIN IS FAMOUS FOR 

iPlAt 

>Mt EVOLUTION# SPECIES# BEAGLE 
ITYt FOUND A MATCH! 

;TNtN0 MATCH 


?RUN 

D0 Y0U KN0W WHAT DARWIN IS FAM0US F0R 
? 

Now, if the responder types in one of the three M: items, a “ match ” 
will be found. 

If a match is found, the value of M: is “YES” (Y). 

If no match is found, the value of M: is “NO” (N). 

M: executes a character by character string comparison of the response 
given to A:, with each of the M: items, one item at a time. (In other 
words, a “moving window” comparison.) 

M: takes everything literally. Suppose we run the above program. 








P|D0 Y0U KN0W WHAT DARWIN IS FAM0US F0R 
?N0-« an honest answer. : . 


N0 MATCH 

M: is NO. 

Again: 

D0 Y0U KN0W WHAT DARWIN IS FAMOUS F0R 
? INVENTED SPESES 
N0 MATCH 

(M: is NO ’cause the responder can ’t spell.) 

Once more: 

D0 Y0U KN0W WHAT DARWIN IS FAMOUS F0R 
7THE0RY 0F EVOLUTION 
FOUND A MATCH! 


N 







Y 


(M: is YES, since the A: matches one of the M: items.) 

To get the computer to “ignore ” irrelevant spelling errors and lor 
extra text, the M: items may consist of a few consecutive 
characters of the desired response, for example: 

MtEVOL#SPE#BEAG 

You may get in a little trouble with this approach. Consider: 

D0 YOU KNOW WHAT DARWIN IS FAMOUS FOR 
?THE SEXUAL REVOLUTION 

If the M: line is 

MtEVOL#SPE#B£AG 

then M: will find a match, because REVOLUTION contains one of 
the M: items. 






This should help you to figure out how M: works. That’s only the 
first part. Next, let’s do something with the value of M:. Look at 
this program: 

Tt WHAT AMERICAN WAS THE 'FATHER OF HIS COUNTRY* 
At 

Mt GEO# WASH 

TY t GOOD FOR YOU# SMARTY. 

JY t ♦END 

Tt SORRY# THAT'S NOT IT 
♦END Et 


If M: is Y after execution, the instructions 

TYtGOOD FOR YOU# SMARTY. 

JYt^END 

will be performed. If no match is found, M: will be N, and all Y: 
instructions will be skipped. Here ’s the R UN:- 


WHAT AMERICAN WAS THE 'FATHER OF HIS COUNTRY' 
?SAM SPADE 

SORRY# THAT'S NOT IT 

Let ’s try again 


gWHAT AMERICAN WAS THE 'FATHER OF HIS COUNTRY* 

^WASHINGTON 
'GOOD FOR YOU# SMARTY. 











Because M: is YES, the JY: instruction jumps to the line 
jJ% labeled *END. 


Any PILOT 73 instruction can be make “conditional” on the last A/: 
line executed by adding Y or N to the instruction. 


Examples: 

AY jn MN uy en my 

A few other details: 

(1 ) M: looks at the last A : executed. 

( 2) M: lines can contain as many items as you can fit in a line. 

( 3) TY: can be written as just Y: 

( 4) TN: can be written as just N: 

( 5) Each time a new M: line is executed, the value ( that is, Y or N) 
of any previous M: line is erased. 

Example: 

Tt WHERE IS THE LARGEST STOCK MARKET LOCATED# 
TtNEW YORK# MOSCOW# OR LONDON 
At 

MtNEW# Y0RK#NY 
^YlRIGHT ON 









JYt+END 
MtMOS 

g&W Yt SORRY# THE RUSSIANS AREN'T CAPITALISTS <YET> 
JYt«ND 
MNtLON 

>Hf<! Yt SORRY# THE SUN HAS SET ON THE EMPIRE 
END Et 

?RUN 

WHERE IS THE LARGEST STOCK MARKET LOCATED# 

NEW YORK# MOSCOW# OR LONDON 
?M0SC0W 

SORRY# THE RUSSIANS AREN'T CAPITALISTS (YET) 
?RUN 


WHERE IS THE LARGEST STOCK MARKET LOCATED# 
NEW YORK# MOSCOW# OR LONDON 
7LOND0N 

SORRY# THE SUN HAS SET ON THE EMPIRE 


13 


»IL0T1 

1 COM KS C 1 3 

10 KEM-PILOT 73 SYSTEM bX GREGORY YOb 
5 HEM-2296 bhYANT PALO ALTO CAL. 326-4039 

iO Ixi 

»0 kEM- COPYRIGHT, 1 972 

» DIM A$C4| 3,bSC41 3,CSC41 3,DSC41 ],ES(4l ],F$C413 


PILOT t 


>0 

0 

o 

0 

o 

00 

to 

20 

30 

40 

SO 

60 

90 

00 

to 

20 

30 

40 

50 

60 

00 

10 

20 

30 

40 

SO 

60 

70 

80 

90 

00 

.10 

20 

30 

40 

i50 

i60 

i70 

80 

t90 

00 

>10 

20 

>30 

>40 

>50 

>60 

>70 

>80 


DIM S$ C 72 3, 0$ C 72 3 
DIM TSC72] 

HEM-SET PO T0 LENGTH OF SS AND 0$ 
PO = 72 

DIM AC250 3,BC2503#LC503,MCS03 
DEF FNACX>=X-INTC (X-l >/6>*6 
DEF FNb<X) = lNTC <X-1 )/6> + l 
IF KS#***’ THEN 190 
PH I NT INSTRUCT I GNS" J 
INPUT S$ 

IF SSC 1 ,1 3# ** Y** THEN 190 
CHAIN "P IL0T3** 


IN ABOVE 


PO i i maximum string length 
allowed on your system 


FNA chooses which string in a record 
FNB chooses which record to access 
A string in common is initialised to NVL. This detects 
whether a chained program is RUN or not previously 


FILES TEST , E 
IF END #1 THEN 260 
HEAD #1,1 
MAT HEAD #llA 
READ #1,5 
MAT READ #1 lb 
G0T0 310 
G0SUB 5690 
PRINT •’SCRATCH PERFORMED 
HEM-ED I T0K PROGRAM 
PRINT ••EDITOR IN*' 

PRINT •’EH ,, J 
INPUT SS 
16-0 

G0SUB 5410 
IF N< 1 THEN 2000 
REM-NUMEHIC COMMANDS 
IF S$t 1 #23=**??*' THEN 700 
IF SSC1 #1 3 = "?** THEN 900 
IF SS# ,,M THEN 1000 
REM-DELETE A LINE 
FOR 1=1 TO 240 1 

IF AC I 3=N THEN 470 
NEXT I 
GOTO 340 

IF ACI + 1 3=N THEN 580. 
REM-SINGLE LINE 
P = BC I 3 

FOR J=I T0 239 
AC J]=A[J+1 3 
BC J3=BC J+l 3 
NEXT J 
AC240 3=0 
BC240 3=P 
G0SUB 5200 
GOTO 340 
REM-D0UBLE LINE 


“PILOT 3” has instructions Sc chains back to “ PILOT I ** 

Always different in each dialect of BASIC 

Checks whether to initialize (SCRATCH) your file (TEST) 

Absorb A and B arrays 


SVB 5690 initialises the fde TEST 
0N FILE** Just a reminder 

Frst thing you see in RUN or returning from PILOT 2 
Imiicates illegal command 
St holds your input for parting , etc. 


SUB 5410 tries to get a line number N s 
Branch to ( R UNJi F. N,SCR .LIS f 


■I * no numbers found 


Line 700 lists 10 lines. Line 900 lists one tin*.. 

If only a number , delete 
DELETE LINES 


k Locate line number if double length 


- Single line deletion 


SUB 5200 saves A and B on disk 


>90 P = BC 1 3 

00 P 1 =BC I ♦ l 3 

.10 FOR J=I T0 238 

.20 At J3=A£ J+23 

>30 BCJ3=bCJ+23 

>40 NEXT J 

i50 AC2403=AC2393 = 0 

>60 bC 239 3=P 

>70 BC240 3=P 1 

>80 G0SUB 5200 

>90 G0T0 340 

roo REM-L1ST TEN LINES 

riO F0R 1 = 1 T0 240 

120 IF AC I 3 > = N THEN 750 

130 NEXT I 

140 GOTO 340 

ISO PRINT "•• 

160 J 1 =0 

170 IF J1>!0 THEN 870 

180 GOSUb 5270 

190 IF AC 1 +1 3#A[ 1 3 THEN 820 

300 1 = 1 + 1 

310 IF S$=**” THEN 870 
320 PRINT AC I 3 1 SS 
330 1=1+1 

B40 IF AC I 3< 1 THEN 870 
850 J1^J1+I 

860 GOTO 770 
B70 PRINT •**• 

B80 GOTO 340 

R90 REM-ONE LINE 

900 FOR J=1 TO 240 

910 IF A C J 3=N THEN 940 

920 NF.XT J 

930 GOTO 340 

V40 PRINT •••* 

950 I«J 
960 GOSUb 5270 
970 PRINT AC I 31 SS 
980 PRINT •••• 

990 GOTO 340 

1000 REM- INSERT OF OVERWRITE 
1010 F0R 1=1 T0 240 
1020 IF AC I 3=N THEN 1030 
1030 IF AC I 3>N THEN 1400 
1040 IF AC 13 = 0 THEN 1570 
1050 NEXT I 

1060 PRINT "N0 MORE SPACE** 
1070 GOTO 340 
1080 HEM-0 VERWRITE 
1090 IF 1+ 1 >240 THEN 1110 
1100 IF AC I 3=A C I ♦ 1 3 THEN 1250 
1110 REM- ONE LINE IN FILE 
1120 IF LENCSS )>41 THEN 1160 
1130 GOSUB 5040 
1140 GOTO 340 
1150 REM- TWO LINE INSERT# 
1160 
1170 
1180 
1190 
1200 
1210 
1220 
1230 
1240 
1250 
1260 
1270 
1260 
1290 
1300 
1310 
1320 
1330 
1340 
1350 
1360 1=1+1 

1370 SS=TSC423 
1380 G0SUB 5040 
1390 G0TO 340 
1400 REM- INSERT I0N 
1410 GOSUb 1910 
1420 IF LENCSS )>4l THEN 1470 
1430 HEM- SINGLE INSERT 
1440 GOSUb 5040 
1450 GOSUb 5200 
1460 GOTO 340 
1470 REM- DOUBLE INSERTION 
1480 TS=S$ 

1490 SS=SSC 1 #41 3 
1500 GOSUB 5040 
1510 1=1+1 

1520 SS = TS C 42 3 
1530 GOSUb 1910 
1540 GOSUb 50 40 
1550 GOSUB 5200 
1560 G0T0 340 


Double line deletion 

Deletion involves , bumping A array , bumping H arrays 
and saving address at end of B array (or aiailable space 
shrinks. 


700-880 lists 10 lines 
Locate line number 


“"is for NC line feed in IIP BASIC 


SUB 5270 looks up the string 
Check if double length 


“"is for NC line feci in IIP BASIC 
890-990 List one line 


for U nr feeds 


Save or overwrite a line ( hairiest part of editor) 

Check if overwrite 
Check if last line 
Insertion 

Error flag 

1080-1390 Overwrite - Possible coses: 

SINGLE DOUBLE 

Single length input 1 1 10 1270 

Double length input J 150 1 320 


Saves A and B arrays 


1400-1560 Insert new tine between others 
Check if double length 


ONE LINE IN FILE 

TS = SS 

SS = SS C 1 # 41 3 
GOSUB 5040 
1 = 1 + 1 
SS=TS C 42 3 

GOSUB 1910 SUB 1910 bumps A and B (makes a hole) 

GOSUB 5040 SUB 5040 stores string on disk 

GOSUB 5200 
GOTO 340 

REM- TV.0 LINES IN FILE 
IF LENCSS )>4 1 THEN 1320 

REM- ONE LINE 70 PUT INTO TWO LINE FILE 
GOSUb 1820 SUB 1820 anti-bumps A and B (fills a hole) 

GOSUb 5040 
GOSUB 5200 
GOTO 340 

REM- TWO AND TWO 
TS = SS 

SS = SS C 1 # 41 3 
GOSUB 5040 



1570 
1580 
1590 
1600 
1610 
1620 
1630 
1640 
1650 
1660 
1670 
1680 
1690 
1700 
1710 
1720 
1730 
1740 
1820 
1830 
1840 
1850 
1860 
1870 
1880 
1890 
1900 
1910 
1920 
1930 
1940 
1950 
1960 
1970 
1980 
1990 
2000 
2010 
2020 
2030 
2040 
2050 
2060 
2070 
2080 
2090 
2100 
21 10 
2120 
2130 
2140 
2150 
21 60 
2170 
2180 
2190 
2200 
2210 
2220 
2230 
2240 
2250 
2260 
2270 
2280 
2290 
2300 
2310 
2320 
2330 
2340 
2350 
2360 
50 40 
5050 
50 60 
5070 

50 80 
5090 
5100 

51 10 
5120 
5130 
5140 
5150 
51 60 
5170 
5180 
5190 
5200 
5210 
5220 
5230 
5240 
5250 
5270 
5280 
5290 
5300 
5310 
5320 
5330 
5340 
5350 
5360 
5370 
5380 
5390 
5400 
5410 

5419 

5420 
5430 
5440 
5450 
5460 
5470 
5480 
5490 
5500 
5510 
5520 
5530 
5540 
5550 
5560 
5570 
5580 
5590 
5600 
5610 
5620 
5630 
5640 
5650 
5660 
5670 
5680 
5690 
5700 
5710 
5720 
5730 
5740 
5750 
5760 
5770 
5780 
5790 
5800 
6100 


1570 1740 If new line equal to last line then this 
block is used 

Single szie 


Double size 


REM- LAST LINE CASE 
IF LENCSS )>41 THEN 1650 
REM- ONE LINE# PLEASE 
AC I 3=N 
GOSUb 5040 
GOSUb 5200 
GOTO 340 

REM-DOUBLE IF YOU WISH 
AC I 3 = N 
AC 1 + 1 3=N 
TS = SS 

55> = Si t 1,41] 

GOSUb 5040 
SS=TSC 42] 

1 = 1 + 1 

GOSUb 5040 
GOSUb 5200 
GOTO 340 

Rf:m- given i< delete the line 

1020-1900 SUB 11120 shrinks A and II like this: 
TO 239 T I 


Store string 
Suvr A and B arrays 


P=bC 1 ] 

FOR J = 

AC J]=AC.J4 1 ] 

BCJ]=bt J+l ] 

NEXT J 
AC 240 1=0 
b C 240 )rp 
RETURN 
REM- GIVEN I 
p=bt:40 ] 

FOR J=240 TO !♦! STF.P -1 
AC J]=ACJ-1 3 
bCJ]=bCJ-l J 
NEXT J 
AC I ]sN 

BC I ]=P 

RETURN 

REM-NON NUMERIC COMMANDS 
SS*SSC 1 #3] 

THEN 2070 
THEN 2100 
THEN 2220 
THEN 2360 




M 

.M- 


y 


( x goes au ay) 
fy goes to end ) 


HUPP OUT ONE LINE 

1910-1990 expands A and II like this 


A 


8 

<\ J 



tjw ! 


N * line number 

R 


1 

□ 




1?) 

f 

P - last entry in II 


(As you may note, insertion it* deletion do strungr things) 
Recall Line 370 - this is the other main brunch of the editor 


• Look at 1st 3 characters of Stand bmneh 


Return to EH?, Line 330 if not recognisable 


List 


The contains Y* ( turn * P unch °ff> which allows the 
tape to be used as input at a later time 


Renumber by 10*s (15 holds increment value) 


If zero, quit 
Check if double length 


IF SS="SCR 
IF SS=**L1S 
IF SS= M KEN 
IF SS = **KUN 
GOTO 330 
REM- SCRATCH 
GOSUB 5690 
GOTO 340 
REM-LIST 
PRINT *••• 

FOR 1=1 TO 240 
IF AC I 3<1 THEN 21 90 
GOSUB 5270 
PRINT AC I J J SS**** 

IF AC I 3#A[ I +1 ] THEN 2180 
1 = 1 + 1 
NEXT I 
PRINT ••*• 

GOTO 340 
REM- RENUMBER 
15*10 

FOR 1=1 TO 240 
IF AC I 3< 1 THEN 2340 
IF AC I ]=AC 1 + 13 THEN 2290 
AC I 3*15 
15=15+10 
GOTO 2330 
AC 1 3 = 1 5 
ACI+1 3=15 
1 = 1 + 1 
GOTO 2270 
NEXT I 
GOSUb 5200 
GOTO 340 
CHAIN ••PIL0T2** 

REM-GIVEN I, STASH SS 
V=FNbCbC I 3 > + 8 

READ #1 ,VlAS#bS,CS,D$#ES,FS 
GOTO FNACBCI3) OF 5080# 5100# 51 20# 51 40#51 60#51 80 
PRINT #l#V;SS,b£,CS,L)S# ES# F S 
RETURN 

PRINT #1,V;AS,SS,CS#DS,ES#FS 
RETURN 

PRINT #1 #V;AS,bS#S$#DS#ES,FS 
RETURN 

PRINT #1,V|AS,BS,CS#SS,ES#F$ 

RETURN 

PRINT #1 # V;A$,BS#CS#DS#S$#FS 
RETURN 

PRINT #1 #VlAS,bS,CS#D$#ES#SS 
RETURN 

B ARRAYS 


_ t ibW 

s-SPE Sass 


tine 




if yOU f ° r f *° 
%07 2) 


Save A and B arrays 

RUN (PILOT 2 RUNs the PILOT program ) 

Messy as you can sec. Read a record, rewrite holding new strings S$ 
Because strings start at record 9 in TEST 


AND 


No comment. Save A and B arrays 


V/HEN GIVEN 1 I t string address. Cct St given I 
One mile!!! (Note the 8) 


REM-PRINT A 
READ # 1 # 1 
MAI PRINT # 1 lA 
READ # 1 # 5 
MAT PRINT # 1 lb 
RETURN 

RF.M- EXTRACT SS 
READ # 1 , FNBCBC 13) +8 
FOR J = 1 TO FNA CbC 13) 

READ #1 ISS 
NEXT J 

IF I + 1 >240 THEN 5400 
IF ACI+1 3#AC 13 THEN 5400 
I 6=bC I + 1 3 
READ #1 #PNbC 163+8 
FOR J=1 TO FNA C I 6 ) 

READ #1 IAS 
NEXT J 

SSCLF.NCSS) + 1 3 =A S 
RETURN 

REM- Cl VEN SS GET N 
DIM ZXC 103 
ZS ="01 23456789** 

N=- 1 

GOSUb 5550 
IF SS=**" THEN 5540 
GOSUb 5610 
IF N1 <0 THEN 5530 
IK N> - | THEN 5500 
N = 0 

N=10*N+ni 
SS=SSC2 3 
GOTO 5450 
GOSOF- 5550 
return 

R|.-|*-l>EbLANK 54 
If .SM 1 # 1 3# M •* THEN 5600 
S4*SM2 3 

If S$ = "** THEN 5600 
GO TC 5560 
RETURN 

hem-digit SCAN 

N 1 = - 1 

for J=t TO 10 

IF SSC 1 #1 3#ZSC J#J3 THEN 5670 

N 1 *J- 1 

RETURN 

NEXT J 

RETURN 

REM-SCRATCH ROUTINE Set A « 0, B = /, 2, 3 , . . . , 240 

MAT A = ZF.K 

MAT B=ZER 

FOR J*1 TO 240 

BC J3=J 

NEXT J 

AS ***** 

FOR J = 9 TO 48 Print NUL string* in tSTRIN'Ct portion 

PRINT # l #jl AS# AS# AS# AS, A$, AS 
NEXT J 

GOSUB 5200 Saves statements 

RETURN 

END 


Serial READ works fine. If you are a time fanatic, note 5280 
which gets you nearby 
Check if file is full 
Check for double length 


Concatenations in IIP BASIC 

Convert string "9 ” to numeric 9.0 etc. Gets line number 

5440-5530 SUB 5350 removes b-ading bbinks 
com/tnrc digit with numeral 


Build N 

Clip off first character in S$ 


Look W see! 


Set Nl » value of digit 0-9 







PIL0T2 




5 COM KSC1 3 Lines 5 to 200 preliminaries 

20 1 = 1 
30 K$="Y" 

40 DIM AS C 4 1 3 
50 DIM SS C 72 3 *0S C 72 3 
80 P0 = 72 

90 DIM AC241 3#6C241 3* L C SO 3 * M C SO 3 
100 DEF FNACX)=X-INTCCX-1 )/6)*6 
110 DEF FNb CX ) = INT C CX- 1 )/6 ) ♦ 1 
190 FILES TEST# E 


PILOT 2 


200 GOTO 2400 
320 CHAIN "PI LOTI" 

2400 RESTORE 
2410 GOSUb 4680 
2420 18=0 

2430 19=0 

2440 READ *1*1 
2450 MAT READ * 1 jA 
2460 READ *1*5 
2470 MAT READ *lJb 
2480 MAT M=ZER 
2490 MAT L=ZER 
2510 F =0 
2520 0=1 

2530 FOR 1=1 T0 240 

2535 GOSUb 5280 

2536 GO=LEN<SS> 

2540 IF SS= M " THEN 2750 

2545 IF SS [1*1 ]*"*" THEN 

2555 GOSUB 3690 

2560 GOSUB 4920 

2565 LC Q 3=Q 1 

2570 M C O 3 = I 

2575 Q=Q+1 

2580 IF 0> 50 THEN 2750 

2585 GOSUb 3580 

2590 IF US C 1 * 1 ]*"A" THEN 

2595 IF SSC1 *1 ]*"S" THEN 

2600 GOSUb 3690 

2605 GOSUb 4920 

2610 19=19+1 

2615 IF I 9>20 THEN 2640 

2620 S C 1 9 3=0 1 

2625 GOTB 2565 


Exit to editor 
Initializing 

SUU 4680 initializes lots of stuff 
18, 19 and Q are counters 


Here we start the first pass (assemble symbol tables) 


Scan loop. I = all string addresses in SSTRINGS 
SUB 5280 Given I, return SS from SSTIUNGS 

If NI L string, first pass is complete. Start execution 
258 5 Check for *label. Branch around if not 
SUB 3090 extracts * label as D$ 

SUll 4920 hash codes f)$ as Ql 
Store hashed lablc in L 
Store address in M 

Increment counter Q ^ of coIo* 

Test if table full. If so. begin execution SS is nou> - 

Sl.H 3580 Look for colon in statement. C$ = cornrtwJ 

2640 Sk ip if not A : 

2640 Skip if no S variable to save 

Get $ variibb- as l)$, hash code DS 

Increment counter 19 
If table is full, ignore 
Save in table “S" 


2630 IF G0<42 THEN 2640 
2635 1=1+1 

2640 IF 00 <42 THEN 2650 


Increment counter I (address) according to single or 
double line 


2645 

2650 

2750 

2760 

2770 


2780 

2790 

2800 

2810 

2820 

2830 

2840 

2860 

2870 

2880 

2890 

2920 

2935 

2940 

2945 

2950 

2955 

2960 

2961 
2965 
2970 
3000 
3010 
3020 
3030 
3140 
3150 
31 60 
31 70 
3190 
3200 
3220 
3222 
3225 
3227 
3230 
3240 
3250 
3255 
3260 
3265 
3280 
3290 
3300 
3310 
3320 
3330 
3340 
3360 
3370 
3375 
3380 
3390 
3400 
3410 
3420 
3430 
3440 
3450 
3460 
3470 
3490 
3500 
3520 

3530 

3540 

3550 

3560 

3570 

3580* 

3610 

3620 

3630 

3640 

3650 

3655 

3660 

3670 

3690 

3695 


1 = 1 + 1 
NEXT I 
1=0 
1 = 1 + 1 

IF I 8< 1 THEN 2790 
1=1 + 1 
18=0 

IF I>iMO THEN 3490 
UOSUb 5280 
IF SS=’- THEN 320 
IF LENCSS><42 THEN 2860 

18*1 

IF SSC 1 * I 3* "♦*' THEN 2920 
GOSUb 3690 

IK LEN ( SS )>0 THEN 2920 

GOTO 320 

GOSUb 3580 

IF GS="Y" THEN 3000 

IF GS="N" THEN 3020 

CS=CSC 1*11 

IF CS="J" THEN 3360 

IF CS**'A'* THEN 3220 ' 

IF CS="M" THEN 3190 
IF THEN 2760 

IF CS=”E" THEN 2890 _ 

GOTO 3140 
IF F>0 THEN 2945 
GOTO 2760 
IF F< 1 THEN 2945 
GOTO 2760 
GOSUB 3820 
T = T+ 1 

IF T> 1 00 THEN 3470 
GOTO 2760 
GOSUb 4520 
GOTO 2760 
INPUT IS 

ISCLENC IS) + 1 ]="" -1 

ISC 4* LEN <IS>+33 = IS 

ISC 1 *3 3="*' J 


End of block 

Begin execution I ~ program counter 
Increment program counter! 

It cheeks for double length line 


Escafte if end of file 

Get new St, test if NHL. test if double length, set 18 flag 


Get Gt - condition , Ct e command 
Check if G$ exists 


Brunch to commund 


T: default 
Check if ,( yes n 

Check if “no” 

SUB 3820 scans for t variable and prints text 
Tisa loop flag. If > 100, will exit program 

Back to main loop 
Match routine SUB 4520 


A: 

Add leading and trailing blanks to It 


T = 0 Turn off loop counters (reset to zero) 

IF I$C4#43="e" THEN 3490 Check if '*<§>” abort (chain to PILOT I) 
T 1 =T=0 

IF SSCI*13#"S" THEN 3340 

GOSUB 3690 Save reply in U E” 3280 - find address 

GOSUb 4920 

FOR J=1 T0 19 

IF 01=SCJ) THEN 3320 

NEXT J 

GOTO 2760 


SUB 4370 stores reply in “E” 

Jumps - increment jump counter, test if greater than 100 
A fudge fix it! 

Extract * label SUB 4120 looks for address 

If M2 (new address) - 0, label not found in table 
Set program counter and jump! 

PRINT "CANNOT LOCATE ,M D$ 

GOTO 2760 

PRINT "JUMP LOOP AT "DS 
GOTO 3490 
PRINT "TEXT LOOP" 

PR INT "faYE" Exit program to editor PILOT I 

GOTO 320 

IF SS C 1 # 1 3*" " THEN 3 570 SUB 3520 remove leading blanks 

IF LEN <S$ > < 1 THEN 3570 
SS=SSC23 

IF LEN CSS ) <2 THEN 3570 

GOTO 3520 

RETURN 

GOSUb 3520 SUB 3580 look for “:** Ct = command Gt - condition 

FOR J1 =2 10 LEN(SS) 

IF SSCJ1 * J1 THEN 3650 

NEXT J1 

RETURN 

CS=SSC1 *1 3 

GS=SSCJ1-1 #Jl-l 3 

SS=SSC J1 +1 3 

RETURN 

GOSUb 3520 SUB 3690 Deblank and get * label or 9 variable DS from St 

D£ = " " 



L2=J 

GOSUb 4370 
GOTO 2760 
T 1 =1 1 + l 

IF T 1 > I 00 THEN 3450 
DS="*" 

GOSUb 3690 
GOSUB 4120 
IF M2 =0 THEN 3430 
I=N2 

GOTO 2800 


3710 
371 1 

3712 

3713 

3714 
3720 
3730 
3740 
3750 
3755 


FOR J 1 =2 TO LEN CSS) 

IF SSCJ1 #J1 3="S" THEN 
IF SSCJWJ13 = "*" THEN 
IF SSC J1 # J1 3<"0" 1 HEN 
IF SSCJ1 #J1 3<":" THEN 
IF SSC J1 #J1 3<"A" THEN 
IF SSCJ1 #Jl 3>"Z" THEN 
NEXT J1 
J2=LENCSS> 

Li I M DSC 103 


3740 
3 740 
3 790 
3740 
3 7 V0 
3 790 


1 ■■■■ Legal character set. 


If illegal character , end-of Libel 



3760 

REM 


3765 

DSC 1 #!03=SSC1 # J2 3 


3770 

SSxbSC J2+1 ] 


3780 

RETUhN 


3790 

J2=J1-1 


3800 

GOTO 3760 


3620 

P = 1 

SI B 3820 .'van text for S w ruble. Print text and S varinhle 

3830 

p 1 «l.EN CSS) 


3840 

IF SSCP#P3 = "S" THEN 3900 Test if character is "S" 

3845 

PRINT SSC 1 * 1 31 

l\int a character 

3846 

IF LEN CSS ) <2 THEN 

3880 

3850 

SS = S$C2 3 


3870 

GOTO 3830 


3880 

PRINT 

Carriage and line feed when finished 

3890 

RETURN 




3900 IF SSCP+ 1 #P + 1 3 = " " THEN 3850 Rejects a t variable. OS is a temporary string 

3910 OS«S$ 

3920 S$=SSCP 3 

3930 GOSUb 3690 390-4010 Locate XSas S variable from “E” 

3940 GOSUB 4920 

3950 L2=0 

3960 FOR J=1 TO 19 

3970 IF 0 1 *SC J 3 THEN 3990 

3980 L2=J 

3990 NEXT J 

4000 IF L2#0 THEN 4010 

4003 PRINT "S"l 

4006 GOTO 4090 

4010 GOSUb 4240 SUB 4240 get XS from “E” 

4020 OS CP 3 = XSC3*LENCXS )«*3 3 Given hashcoded * label as Q I , try to find it 

4030 P 1 =LEN COS ) 

4040 IF P 1 +LENCSS ) <P0 THEN 4080 
4050 0$CLENC0S)+1 3=SSCLENCD$)+1 3 
4060 SS=0S 

4070 GOTO 3880 If not found, error and set to program counter H 

4080 0SCLENC0S3+1 3=SS 
4090 S$=0S 

4100 GOTO 3850 

4120 REM 

4130 GOSUB 4920 

4140 FOR J=1 TO 50 

4150 IF LC J 3=0 1 THEN 4200 

4160 NEXT J 

4170 PRINT D$" IS MISSING" 

4180 L2=M2=I+1 

4190 RETURN 
4200 I=MC J 3 
4210 L2=M2= I 

4220 RETURN 

42 40 L3 = FNC C L2 > Given L2, get XS from U F” 

4250 READ *2*L3 I W$ # XS* YS* ZS 

4260 L4=FNDCL2) 

4270 IF L4<2 THEN 4340 

4280 IF L4<3 THEN 4310 

4290 IF L4<4 THEN 4320 

4300 XS=Z£ 

4310 RETURN 
4320 XS=YS 
4330 RETURN 
4340 XS = V,’$ 

4350 RETURN 

43 70 L3 = FNC C L2 ) Given L2, put XS into 

4380 REAL) *2 #L3 1 V.’S # XS # Yi # ZS 

4390 L4=FNDCL2> 

4400 IF L4<2 THEN 4490 

4410 IF L4<3 THEN 4470 

4420 IF L4<4 THEN 4450 

4430 PRINT *2*L3;V.S*XS* YS, IS 
4440 RETURN 

4450 PRINT *2#L3;V;$*XS* IS#Z$ 

4460 RETURN 

4470 PRINT *2#L3M;S* IS* YS#ZS 
4480 RETURN 

4490 PRINT *2#L3; 1S*XS*YS*ZS 
4500 RETURN 

4520 SS C LEN C SS ) ♦ I 3 = " # " MATCH FUNCTION 

4521 FOR J2=2 TO LENCI3) 

4522 IF ISCJ2#J23*I£CJ2-1 * J2-1 3 ThF.N 4526 

S523 IF ISCJ2*J2 3*" " THEN 4 526 Remove multiple blanks in answer 

4524 ISCJ2-1 3=ISC J23 

4525 IF J2 = LEN CIS) THEN 4530 

4526 NEXT J2 

4530 K=0 Flag « 

45)40 IF LEN CSS) <2 THEN 4660 No more cue words - branch 
4550 FOR J 1 = I TO LENCSS) 

4560 IF SSC J1 # J1 )="*" THEN 4580 

4570 NEXT J1 

4580 XS =SS C l # J 1 - 1 3 XSas cue wonl. Remove leading and trailing blanks 

4581 IF XSCl*i3# M " THEN 4585 

4582 XS=XSC23 

4583 IF XS="" THEN 4530 

4584 GOTO 4581 

4585 IF XS C LEN C XS ) * LEN C XS ) 3*" M THEN 4590 

1586 X$=XSC1 *LENCXS)-1 J 

1587 IF XS ="" THEN 4530 Blank cue word exit 

1568 GOTO 4585 

4590 SS = SSCJ1+*13 Truncate SS for next cue word 

4600 IF LEN CXS )>LEN CIS) THEN 4540 
4610 FOR Jl=l TO LEN CIS) -LEN C X$ ) + 1 

4620 IF XS = IS C J1 * J 1 +LEN CXS ) - 1 3 THEN 4650 Moving window match scan 
4630 NEXT J1 
4640 GOTO 45^0 

4650 F = 1 Flag="Y" 

4660 RETURN 

4680 DEF F NC CX) = lNTCX/4*98) + l Initializing stuff 
4690 DEF FNDCX)=X-INTC CX-1 )/4)*4 

4700 QS="*SAbCDEFGH I JKLMN0PQRSTUVUXYZO98765432 1 ” Legal character set 
S710 DIM ISC 72 3 

4720 DIM V.$C603*XSC603#Y£C60 3*ZSC603 

4730 DATA 2*3# 5# 7# 1 I # 1 3# 1 7# 1 9*23*29 4730-4780 Put log (primes) into P array 

Line 4840 - Print “XXXX” into “E" If you have: 

1 T: HOW ARE YOU, S NAM ? 

2 A: SNAM 

the “XXXX" will appear as an undefined S variable 
value indicator 


4850 PRINT *2# Jl "XXXXXX"#"XXXXXX", "XXXXXX"* "XXXXXX" 
S860 NEXT J 
4870 RETURN 

4890 DIM QSC403 Converts DS into log godclized hash code QS 

4900 DIM PC 103 If illegal character, will stop (**_” is illegal) 

4920 Ql =0 
4930 Jl =LENCD$) 

4940 IF Jl <1 1 THEN 4960 

4950 Jl =10 

4960 FOR J=1 TO Jl 

4970 FOR K=1 TO 36 

4980 IF DSCJ*J3=QSCK*K3 THEN 5020 

4990 NEXT K 

5000 NEXT J 

5010 RETURN 

5020 Ql =01 +K*PC J 3 

5030 GOTO 5000 

5280 READ * 1 *FNB CBC I 3 ) +8 Get SS from TEST 

5290 FOR J=! TO FNACBCI3) 

5300 READ #USS 
5310 NEXT J 

5320 IF 1+ 1 >240 THEN 5400 
5330 IF A C I + 1 3*A C I 3 THEN 54U0 
5340 I6=bC 1+13 
5350 REAL) *l#FNBCI6)+8 
5360 FOR J=1 TO KMACI6) 

5370 READ *l;AS 
5380 NEXT J 
5390 SSCLENCSS3+1 3=AS 
5400 RETURN 

5550 REM-DEBLANK SS Remove leading blanks from SS 

5560 IF SSC 1*1 3*" " THEN 5600 

5570 SS=SSC23 

55e0 IF SS="" THEN 5600 

5590 GOTO 5560 

5600 RETURN 

6100 END 

P(=\9€9v TftPfrS ^ PtL£iYd. PUT) 
P\LOT 

F9.0VA; 

fcw/VwT CM. 

• W/ 



4750 FOR J=1 TO 10 
4760 READ Ql 
4770 PC J 3 = L0G CQ l ) 
4780 NEXT J 
4790 M=L1 =T 1 =T2 =0 
4800 T = 0 
4810 MAT L=ZER 
4812 DIM SC203 
4814 MAT S=ZER 
4830 READ *2*1 
4840 FOR J=1 TO 5 


mi 1 


L 



USING PILOT 

LOADING AND USING 

If you are familiar with BASIC, the remarks will help you fit PILOT 1 
and PILOT 2 to your system. If you aren’t, follow this cookbook: 

CO Be sure your computer is an HP 2000 Series machine. 

CO LOGON, SCRATCH, ENTER THE CODE FOR PILOT 1 AND 
SAV AND LIS. 

C3D Check that what you have is identical with this one. If not, fix 
and repeat this step. 

C4D Repeat for PILOT 2. 

GD Create a dummy program, PILOT 3 

5 COM K$(l) 

10 PRINT “READ THE MANUAL, CHARLIE!” 

15 K$ = “Y” 

20 CHAIN - PILOT 1 
30 END 

Later you can write your own instructions. 

C6D Now that you are loaded and ready (ahem): 

OPEN-TEST, 48 
OPEN— E, 5 
GET-PILOT 1 
RUN 

At which time all those other errata will appear which you missed 
in Step 3. 

It’s wise to save some copies under other names in case you clobber this 
one [Beware of the CHAIN- BEAST] 

C7D At last, it runs (sort of). Try the various operations — entering a 
program, LISTing, SCRatching, RENUMBERing, and RUNning. 

[When you RUN, PILOT 2 is activated. If you crash, you will 
still be in PILOT 2. When fixing your typos, be sure to get 
*SAV— THE PROGRAM YOU ARE FIXING* or you will likely 
either fix the wrong program or lose your fix when it chains to 
the other program ] *Each time ! ! 

C8D Try writing PILOT programs which use all the features (i.e., T Y 
N M J A R E). 

CsD Congratulations! 

Send us any really neat PILOT programs — some will appear in 
PCC. 

ClOD If you don’t like steps 2 through 9, send SlOto Gregory Yob, 
2296 Bryant, Palo Alto, CA. and we will send you a tape with 
PILOT 1, PILOT 2 and PILOT 3 on it. 



MISCELLANEOUS THINGS & TECHNICAL HASSLES 


INTERPRETER 

VS 

TRANSLATOR 

IMPLEMENTING SIMPLE LANGUAGES ON MIDI-MINI TIKESHARE COMPUTERS 


Pet© Rowe 24 JAN 1973 

Lawrence Hall of Science 
University of California 
Berkeley 

In this and later issues of PCC, readers will be able to explore new lan- 
guages* Some of the simple languages can be written in BASIC. The way 
they are implemented in BASIC is the point of this article* 

At the start, I- vill- -define a Midi-=Mini as a multi-user, BASIC interpreter 
with data files and string manipulation'** tiraeshare computer* Hewlett 
Packard* s 2000 series, Digital Equipments EDU 30, 40, 50, RSTS-11 and 
Data General's Seminar 2 thru 10 generally comply with this definition. 

BASIC as a problem oriented interpretive language ‘is known for its ease 
of coding, debugging and editing. However, to use BASIC, one must have a 
minimal knowledge of algebra; a knowledge enjoyed by relatively few. 

Then what other languages can we design for the majority of the "kids” (PCC 
vol.l.no.2 p.5) and teachers who do not and usually will not learn BASIC? 
PILOT, PYLON, CO-PILOT and NYLON are predecessors to PILOT 73. All are 
simple author languages that take only minutes to learn and use, but are 
powerful enough to produce moderately complex programs. The question arises 
of .how to implement this new tool on currently available machines, providing 
the interactive features for PILOT 73 authors that BASIC authors have been 
enjoying for years. 

Gear (19&9) defines an interpreter as a routine that executes by statement- 
to-statement translation, substituting effective error tracing for execution 
efficiency. BASIC on all the afore mentioned computers has been implemented 
inter pretively. 

When PILCT-like languages are implemented inter pretively in BASIC, also an 
interpreter, response-time is affected. PILOT 73 source code must be kept 
on a data file for interpretation, translation and/or editing. Hence the 
need for a Midi-Mini. And during file access and transfer, no machine 
instructions can be executed, hence reducing the number of machine instruc- 
tions, therefore BASIC statements executed during a given amount of time. 
When many users are involved with file accesses and transfers then the 
number of instructions executed for an individual user will be even less, 
resulting in a degraded response-time. 

Two actual examples are known: (l) A DIALOG program, a subset of a more 
elaborate interactive author language was implemented on our HP2000B as 
an interpreter and (2) Dr. Sylvan Rubin at S.R.I. implemented his PYLON 
interpretive language on the DEC RSTS-ll* In both cases, seven terminals 
executing these interpreters seemed to be the magic number. The systems 
became bogged down doing file accesses and transfers and response-time was 
noticeably degraded. 

An operational solution: Create an editor, syntax analyzer and a PILOT 73- 
to-BASIC translator. The editor and statement syntax analyzer could reside 
in one BASIC program, where each PHOT 73 line, before insertion to a source 
file, would be checked for acceptable PILOT 73 grammar. Once insertion and 
editing wer^e complete, the author could give a command to translate his 
PILOT 73 statements into BASIC code, which would be written into a data file. 
This translation need only be done once to produce the executable BASIC code. 
On our Decision system and on the Data General Seminar series, a user could 
access this data file as if it were a program file and execute it using the 
machine's BASIC interpreter. On the HP2000 series, an intermediate step of 
punching a paper tape image of the data file and loading the tape back into 
the terminal as a BASIC program, is necessary. 

Perhaps in a student- as -author environment, handling paper tape will dis- 
courage their involvement. It's yet unknown what effect the intermediate 
step might have on teacher authors. 

In contrast to the interpretive implementation of PILOT 73* a translator 
need only translate the source code once. And in effect, the PILOT 73 author 
is creating a BASIC program, eliminating file accesses during its execution 
and therefore improving response-time. 


CO Files — If you have a highly similar BASIC (like NOVA or BASIC 
TYMSHARE), the files statement [Line 190 ] may be different. 
“TEST” is FILE #1 and “E” is FILE #2. 

C2D Space — If you have a HP 2000C, your record length is 256 words 
so you can use twice as many strings, etc. per record. Try if you 
dare. 

C3D Space (continued) — PILOT holds 240 single length lines. In 

practice about 1 in 8 lines are double length. Think of about 200 
lines of PILOT as your maximum size. 

C4D Since this is an interpreter, it looks at the disc a lot. There may 
be response problems at 5 or more terminals in PILOT. (This 
trouble has been experienced at SRI and LHS.) If you have 
this problem, let us know. 

C53 There may still be bugs! Call me up (Greg at 415-326-4039) so 
we can fix em! If you have cleaner code or hot programming 
ideas, we have ears. (Especially if your version (a) works, 

(b) faster (c) with less core) 

C63 Tapes of PILOT 1 and 2 are available — $10 service charge per 
tape (holds PILOT 1 and PILOT 2). When we have it together, 
manuals and some sample program will be included. 


PILOT 73 is a real language! The following people have agreed 
on the main features of PILOT (this version is a subset) and the 
means of extension. Specifications are available through U.C. 
Medical Center. 


WHO’S WHO IN PILOT LAND 


Name 

John Starkweather 
Marty Kamp 


Organization 

UC Medical Center 
San Francisco 


Mainframe Language 

IBM 360 PL/I 

Datapoint 2200 Machine Code 


Pete Rowe 

Dean Brown 
Sylvan Rabin 

Gregory Yob 


LHS 

Berkeley 

Stanford Research 
Institute 

PCC 


Decision 
HP 3000 

Ty ms ha re 
DEC 11/20 
RSTS 

HP2000C,E,E 


BASIC 

BASIC 

BASIC 

SUPER BASIC 


BASIC 


If you have a version , let us know and we will add you to the list. 


Dean Brown, Marty Kamp, and Greg Yob are interested in groovy 
programs, curricula, etc., which develop in PILOT. 





ijcjg mmm wm® & 


by marc le brun 

[Each issue we will present an “advanced” programming technique: 
with explanations, examples, programs and problems. We welcome 
suggestions for topics of interest to you. ] 





LOGICAL EXPRESSIONS 


A logical expression is an expression whose value is either 0 or 1 
depending on the values of the variables in the expression. For 
example 


ABS(SGN(X» 
is a logical expression 





Secondly, we will consider what are called the “logical operators,” 
that is, those involving AND, OR, NOT and others. 

We already know that NOT e is equivalent to 1 — e. If we have two 
logical expressions el and e2 then el AND e2 is equivalent to el *e2. 

2; el OR e2 is el + e2. (Remember the two facts about zero given above.) 


IF X = 0 THEN the expression equals 0 
IF X f 0 THEN the expression equals 1 

Notice the use of the words IF and THEN. It is sometimes con- 
venient to think of 1 as representing true and 0 as representing 
false. 

Many times it is possible to use a logical expression in place of an 
IF-THEN statement. In this article we will show how this is done. 

In the following discussion we will use an e to represent a logical 
expression, and other lower case letters to represent any old kind 
of expression. 

Notice the following “rules.” 

IF THEN 

e = 0 : \ -e=\ 
e=l : 1 -e = 0 

1 — e is always the “opposite” of e. If we think of e as being equiv- 
alent to TRUE or FALSE then 1 — e is equivalent to NOT e \ that is, 
NOT TRUE (FALSE) and NOT FALSE (TRUE). 

Remember also that any number multiplied by 0 is 0, and that any 
number plus 0 is that number. 

Now suppose we wish to write an expression which is equal to a if e 
is one and equal to b if e is zero. Here is how we do it: 

a*e +b*(l — e) 

Suppose we wish to set X to the value of this expression. The following 
two BASIC programs do this in different ways 


here the ."7 are > 



SHORT FORM LONG FORM 

el AND e2 el AND e2 

el OR e2 NOT(NOT(e1) AND NOT (e2)( 

el XOR e2 (el AND NOT(e2)) OR (NOT(el) AND e2) 

el NAND e2 NOT(e1 AND e2) 

el NOR e2 NOT(el) AND NOT(e2) 

el EQV el (el AND e2) OR (NOT(el) AND NOT (e2)) 

el IMP e2 NOT(e1 AND NOT(e2)) 

el NIMP e2 el AND NOT (e2) 


LOGICAL EXPRESSION 
el *e2 

1 — (1— e1)*(1— e2) 
el *(1— e2)+(1— e1)*e2 
1 — el *e2 
(1— e1)*(1— e2) 
el *e2 + (1— e1)*(1— e2) 

1 — el * { 1 — e2 ) 
el *(1— e2) 


PROGRAM 1 

10 LET X=A*E+8*< 1 -E ) 
20 • • • 


PROGRAM 2 


I 


10 

20 

30 

40 

50 


IF E= 1 THEN 40 
LET X=B 
GO TO 50 
LET X=A 


Clearly Program No. 1 is a lot simpler. 

If we want a variable to have a certain value if something is true and 
another value if it is false, then in MOST cases we can use a logical 
expression instead of an IF-THEN statement. 

The rest of this article will be devoted to showing how to write logical 
expressions for the usual sorts of “if’s.” First we will consider what 
are called “relational expressions,” that is, those involving =,<,>,<=, 
>= and < > (or # ). Here is a table giving the relational expressions and 
their equivalent logical expressions. 


RELATIONAL 
EXPRESSION 

p = q 

p <q 

p> q 

p<=q 

p>=q 

^-POQ 

For example, the phrase 
“IF p <> (7 ... ” 
is equivalent to 

“IF ABS(SGN(p-(/)) = 1 


LOGICAL 

EXPRESSION 


1 - ABS(SGN(p— (/)) 

1 - SGN(1 + SGN(p— (/)) 
1 - SGN(1 - SGN(p-(/)) 
SGN(1 - SGN (p-q)) 
SGN(1 + SGN(p— (/)) 
ABS(SG N (p-q)) 


•XI 


c=3 



For example the phrase 
IF a OR b ... 
is equivalent to 

IF 1 ~(l-el)*(\-e2)= 1 . . . 

In many cases the resulting expressions can be algebraically simplified. 

It is also useful to use several LET statements rather than repeating the 
same sub-expression. An example — suppose we wish to set U to V if 
X >= Y and X <= Z; and to set U to W if X < Y or X > Z. Here is a 
short program which does this: 

10 LET T = SGN ( 1 +SGN ( X+Y > ) *SGN ( I - ( X-Z > ) 

20 LET U=V*T+W*(1-T> 

As a matter of fact, using a little algebra, we can write the whole thing 
in one hue — 

10 LET U=(V-W)*SGN(1 ♦SGN(X-Y) )*SGN(1 -SGNCX-Z) )+W 
PROBLEMS (in order of increasing difficulty) 

1 . Write an expression which sets Z to MAX(X,Y). 

2. Write an expression that sets U to V if X < Y and sets U to W if 
X < Y AND X < Z. 

The “rule” 

X = Y : 1/(X + Y) 

X <> Y : 1/(X — Y) 

has to be done with IF-THEN — why? Think up some more “rules” 
which can’t be performed with a logical expression. Can you find 
a way to describe when you have to use IF-THEN? 

Without using the MOD operator, write an expression which is TRUE 
if an odd number of e's in the set {el, e2, ei}are TRUE and FALSE 
if an even number are TRUE. 

Hint: Explore the properties of XOR. 

Logical expressions can only “select” one of two values. Write an 
“illogical” expression which “selects” one of three values according 
to the following rules. 

X > Y : a 


3. 


4. 


5. 


X = Y 
X < Y 


b 

c 


Hint: Think about quadratics 


6. 


7. 


Can you think of a general class of “selection” expressions which 
picks one of N values? Describe this class. Hint: Think about 
Problem 5. 

\ 

Can you generalize the logical operators to get some operators 
which “make sense” to use in combining “selection” expressions? 
Hint: Think about matrices 






DO^JT^TOUft/CLf £ 


* 


* * 


* * * * 

* * * 3 |C 

* * * 

* * * * 

* * * * 

* * * * 


* * 


* * 


* * 


* ** 


** * 


* * * * 

* * * * 

* * * * 

* * * * * 

* ** * * 

** * * 
** * ? 
** * % 

* * * * 

* * * * 


* * ** 

* * * 

* * * % 

* ** * 3 

1 ** * * 
* * * 


* * 


* * 


** * 3 

* * * * 

* * * * 

* * * * 

* * * * % 

* % ** * 

* * ** 

* * ** 

* * ** 

* * * * 

* * % * 

** * 

** * 


* * * 

* * * * 

* * ** 5 

* * ** 

* * * 


HERE- ARE SOME EXAMPLES 
OF PICTURES WE MADE • 

MOW IT'S TOUR TURM: 

1 raid the hurkle and draw 
' a picture of it. (see p.ii) 

x. write a program which 
' draws a Different 
picture evert Rum. 

WHICHEVER YOU DO, SEND 
THE Result To US. IF WE 
LIKE TT WE will : 

1 PRINT IT IM THE MEXT 
ISSUE OF P.C.C. 

2 SEND YoU EXT* A COPIES 
To SHOW YOUR FRIEMOS. 

3. GlFE YOU A FREE SUBSCR- 
IPTION To P.C.C. . 

H. MAH- 'loo A SPECIAL 
SuRPfilE ft 


* * * 


** * 
* * > 


* * 
* * 


* * 


* * * * 


* * * * 


* 5 fc 


* * 


* * , * * 

* * * 3 

** 

* * * 


♦ * 


* * * 

** 

* * * 


* * 


* * 


* * * * 


* * 


* * * 


* ****** * 

* 3 fc 3 k 3 )c 3 )( 3 fc jfc 3 k 

* * ** 3 j <** 3 |c sjc Jf : 

* ******** 5fc 

********** 

* * * ** ** * * * 

3f: 3k* 3k* ** 3k* * 

* **** 3 k 3 k 3 k 3 k * 

***** 3 k 3 k 3 k 3 k 3 k 


* * *** * * *** Ac * 

00 * * * * * *00 

* 0 * * ** * ** * ** * * 0 * 

** *0 * * * * * * 0 * ** 

* * 00 * * * * * * 00 * * 

* 0 * 0 *0 ** ** 0 * 0 *0 * 

**0 * ** 00 * * * * 00 ** * 0 ** 

0 *** 00 * * 00 * *00 *** 0 

0 *** 00* *00* *00 *** 0 

**0 * ** 00 * * * * 00 ** * 0 ** 

* 0 * 0 *0 ** ** 0 * 0 *0 * 

* * 00 * * * * * * 00 * * 

** *0 * * * * * * 0 * ** 

* 0 * * ** * ** * ** ^ * 0 * 

00 * * * * * * 00 

* * *** * * Ac** * * 


*D ra g on fli cs 

arc th c 

machines 

of the 

future. » 


j ****** ******* 

| ****** ******* 

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

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

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

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


Salvador Dali **** 

*** * 


r* 


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



■’W, 

J 


i?ss» 


if 


v 



I suppose it is somewhat gauche to review 
your own book, but we worked hard on it 
and I’m reasonably satisfied with the result 
As an instructional text, it works, and I 
judge it to be among the best of its kind 
now available, perhaps even the best (but 
consider the source . . . ). 

In contrast to our instructional workbook 
MY COMPUTER LIKES ME, the Wiley 
BASIC book is in programmed instruction 
format . Programmed instruction, if done 
properly, entails a process of careful analy- 
sis and sequencing of the material, vocab- 
ulary, and concepts to be taught, in order 
to attain explicit learning objectives stated 
out front. That means the student doesn’t 
have to guess about what he or shei&$up~ 
posed to learn and be tested on. T$bC 
objectives specify particular obse ntofai* |;| 
behaviors which the learner must be uhte 
to demonstrate after having worke^^^^u^ 
the instructional program in the m&i j§® 
specified. Here is what we specified 

With the programmed instruction fo$t nat, 
you’ll be actively involved in learning; . 
BASIC. The material is presented fat 
short numbered sections called frames* 
each of which gives you a question or ^s 
you to write a program. Correct answers 
are given below the dashed line. For the 
best results, we urge you to take pen or 
pencil in hand and to use a piece of thick 
paper or cardboard to keep the answer# 
out of sight until you have written yonr 
answer in the space provided. The;! ques- 
tions are carefully designed to call your 
attention to important points in tlte 
examples and explanations, and toijjlelp 
you learn to apply what is being e%r • 
plained or demonstrated. 

Now, understand that this book is of 
an extensive series of self -instructional 
books that Wiley publishes. The series is 


principally marketed through college book- 
stores on special racks containing all the 
Wiley self-teaching books. Given the 
amount of depersonalized mass instruc- 
tion and the number of harrassed and/or 
disinterested and/or incompetent instruc- 
tors in the typical college, Wiley sees 
potential profit in entering the “ college 
outline” publishing competition. Students 
unlucky enough to receive poor instruc- 
tion, or indolent to the point of needing 
last minute remedial instruction, or per- 
ceptive, energetic and ambitious enough 
to seek additional sources of learning will 
often buy this style of self-study text. 

But for us (the authors), the self-instruc - 


explaining” demonstration programs that 
showed or explained how they worked or 
what they did when RUN. But in some 
cases, a lot of time and space had to be 
used to explain and teach that which would 
have been almost trivial if we could have 
assumed that the reader were seated at a 
TTY or CRT. 

Another aspect of programmed instruction 
as a technique is the requirement of testing 
the instructional program, and revising and 
retesting according to the problems and 
comments of the learner. If the student is 
unable to meet the objectives, that is, 
successfully complete the problems in the 
Self-Test at the end of each chapter, then 


the Wiley BASIC text was || mlfmn* 
tBn(k,%eM^;.th&t i|& wete n&tfatmutM 
^atMhe^tmder Would^m^ any ££££$$ to 0 
^on^ut^r tfpnmak- i&hick in O&T expert* 
Cnqilis where the rkal learning action takes 





helping the novice programmer lo see mis- 
takes in programming as weU US BASIC 
notation and format could Wot be assumed. 
We therefore included many, 0^$^xamples 
of short programs and RUN $ to help the 
reader get a feel for the intemC0&ti between 
programmer, program, and corhputer. In 
addition, I got into trying 0 write “self- 


In contrast (again) to M V COMPUTER 
LIKES ME and PCC, the design of the 
book is quite plain ani itWhat* The pub- 
lisher required that it fc^StmMre Self-, 
Teaching Guides uninspired Pi format, 
and Wiley’s editors tpe$|pi$o responsible 
for remnvirur or amending the colloquialisms, 


conversational asides, and ironic humor 
natural to the authors’ collective writing 
style. I finally got the feeling that the 
publishers wished the book to have Lowest 
Common Denominator appeal, like commer- 
cial TV, on the theory that it would broaden 
the sales potential. However, to give credit 
where credit is certainly due, Wiley editor 
Irene Brownstone provided us with excep- 
tionally helpful suggestions and excellent 
detailed critiques of the various manuscript 
drafts and revisions, which definitely con- 
tributed to the quality of the instruction. 

Another anonymous contributor who 
helped us put the finishing touches on the 
manuscript as we were all running out of 
steam ims §ep^Lynn Sessions (you’ve 
&C. i^M ^^^Mpiusic ideas in PCC). He 
F0^M^lf-Test and several end of 
vpt#fte$t$ 9 mwell as general helpful 
G&itmg , c My ttghis he should have received 
fmnUon. Likewise, Mary Jo 
AWf% echtartdifal Hershey, who did the 
fifcal plk&t&-£eady layout with a little help 
ft&Mth&aftfk&jts, should have received 

Jffe think bi>ok is an excellent alter - 

native to MY WMPUTER LIKES ME 

situations where terminal 
access k Ui&ty&d or sporadic. It also goes 
more deeply mito BASIC than MCLM, and 
iric ludes W eioglie r on Advanced BASIC and 
strings and I assign chapters to high 
SCbty&tkidxfodfc) before coming to the 

Computer Center workshops, and 

responded enthusiastically 
tb the ease wftft which they get into pro- 
gramming. We Ire looking forward to re- 
views, criticisms and comments from 
students and teachers on the content and 
good ways to use this book, and we hope 
to pass on such comments through the 
pages of PCC 


The following material is an§£^rpt from 
Chapter 10 of BASIC, redu§bd fronj the 
actual 1" x 10" page size. 


Before you MM a program using file commands you must create 
using the system cttUWnand OPEN. Since OPEN is a system command tfcdfoek 
nq|$jeed a line n TVgB, 

OPEN ( name) 

Rule* for name vary with each s V st em Cenafatfy any name beginning 


CHAPTER TEN 

Files 


The use of BASIC files is an advanced concept you may not find useful right 
away. How and when to use files is difficult fcs^arn for the novice and you 
may find this chapter takes two or three reading to be fully understood. We 
suggest that you read this chapter once now tfrget ##ftneral idea of what 
files are all about. Then after you do some hiont BASIC programming and 
are comfortable with computers, come back catef $*lly through thm 

chapter. 

When you have completed this cliapter to; 

• differentiate between serial and random access files. 

• write data onto serial and random acces&fUes using FILE PRINT 
statements. 

• read data from serial and random acces$:|Ife$;:8i^ FILE READ 
statements. 

• use the following file commands with se^tand random access files. 
FILES IF END TYP 

1. Files are used to store numeric data and string variables for use at any 
time. Up to now you have had to enter you|;i$ata using DATA statements 
as part of your program. Using files, you canister and store large quantities 
of data using one program and then access the$Haat a later time using a 
different program. You can access the data 0? fife with many different 
programs, something you have been unable tiiji ifo before. 

One way to look at the file is to imagine W^arate item from, 

the BASIC program. Programs are used to rcjpd^feftMk the fifo. 

In an application that uses a file to hold all n^l^^^#ddi^3nS>xmatici^ 
for the student body of a school, we might 
all using one file. 


PROGRAM 1 ENTER NEW DATA FOR STUDENT 
PROGRAM 2 DELETE STUDENT DATA ^ 
PROGRAM 3 CHANGE NAME OR ADDRESS OR 
PHONE 

PROGRAM 4 PREPARE NAME AND ADDRESS 
LABELS FROM FILE DATA 
PROGRAM 5 PREPARE ZIP CODE LISTING 
FROM FILE DATA 

PROGRAM 6 PREPARE PHONE LIST FROM 
FILE DATA 




FILE 


acceptable. It Is a good idea: to use "reasoftiebie'.* names sfoyou 
can keep track of what they mean. A file of master student 
twtm^ht be called MASTER, a list of phone number PHONE. jjj|| 

What would you^ppifcbpen the file that wtH contain student grade^|g||| 

- — * — i i — 1 


Tlie order of the names in the FILES statement determines how they 
:::,are referenced later in the program. The file named ZERO will now be ref- 
. tirenced as file 3 in the program. 

FILES ZERO *4&£# C100 

Ift. the fife flsmed will be referenced as file 1. 

Write a FILES statement that will prepare the computer to use files 
named GRADES and MASTER. 


10 FILES 6RADES# MASTER 


OPEN — GRADES (or any other name that makes Sense to you}:: 


One advantage of placing data into files instead of using DATA statements is 


3. Which of 
that follows ourii 

eyesore! 

A-.3 I 


names will nor be accepted by a Con 

I2ERO GRADEPOINT A 
THREE . 



6. A serial file READ statement permits reading data from an existing file. 
The genera] form is shown below: 

READ # (file number) ; (variables) 


Note the punctuation 


For example: 


EYESORE||ao big) fplg 

GRADEPQ$$T (too big) 

1 ZERO (bSj^fl# With a number) 

3 (begins wM member) 

4. The amou«M?f (the number of pieces of data) that you cauitfttt* 
onto the file wil|3fegend on the size of the file. The size of the file wilt vary 
from computer Computer. In some computers you determine thej^ip of 
the file, in othejp, an opened file has a fixed size. (Consult your compuSei;:: 
manual to find but how the file size is determined.) 

File size is$j&ured in units called words. Data written on a fife tms 
up file word s 

Numeric Bach numeric variable uses 2 words of file space* 

mother the number has one ; ^it or more. 

Spring varfefcfes j&feti character of a string : y$»ab!e tak es a pgraj#- 
, , " fm&p&woTd. 

As an example, a file that wilt contain 100 names, 

spacers wRftiser ® < 

String variable * 100 x 20 - 2000 characters 

= 2000 x Vi = 1 000 words of file space 

A file that will contain 100 numbers will use: 

100 x 2 = 200 words 

Calculate how many words each of these sets of data will fill in a serial file. 

(a) 140, 15-character names 


m READ #U£ . 

from the first file in the FILES statement 

and assign it to the variable A. 

30 READ #3J A#B 

sivill read two pieces of numeric data from the third file in the FILES state- 
ment and assign them to variables A and B. 

Given the FILES statement, write a statement that will read three 
numeric variables from the file named ZERO. 

10 FILES ABLE# Cl 00# ZERO 


(b) 1 40, 20-character addresses 

(c) 1 40, 5-character zip codes (string variable) 

(d) 420 numbers (representing responses to an opinion poll. Responses 

are 1,2, or 3.) 


BO READ #31 

: 7* You Can also use for the file number in a file READ 

statement. % 

20 READ IXl AS#B 

If in a previous statement, X has been calculated as equal to 2, the statement 
above will read from the second file in the FILES statement. The string 
variable (A$) and Vhe numeric variable (B) will be read each time Line 20 is 
executed. 

Which file will be read in the following: 

10 FILES PK0NE# MASTER# ZERO 
eo LET Y*3-l 
30 READ #YJ AS#8 


You can access the data with more than one program. 


2. Later we will explain the use of serial files and random access files. 

This First section will deal only with serial files. 

Information stored in a serial file can be viewed as a continuous series 
of data packed densely in the computer memory. 

GEORG E/YOUNG/25/941 91 /BOB/HARR IS/42/831 07/ . . . 

To get to data in the middle of a serial file you must read from the beginning 
of the file, one piece of data at a time, until you reach the data you need. 


(a) 140 x 15 x X A- 1050 

(b) 140x 20x^=1400 

(c) 140 x 5 x Vz- 350 

(d) 420 x 2 = 840 


5. At the beginning of a program that uses files you must include a state- 
ment which tells the computer which files are to be used by the program. 
The files statement looks like this: 

10 FILES ABLE# C100# ZERO 

\ ♦ / 

1 2 3 


MASTER 


BASIC 

By Albrecht, Finkel and Brown 
John Wiley and Sons, Inc. 

605 Third Avenue 
New York, N.Y. 10016 
325 pages, 1973. 


Last time I talked about Edu 1 0 and Edu 20 and how to get from 
Edu 10 to Edu 20 and the cost of adding TTYs and stuff like that. 
This time I’ll start by giving you a handy do-it-yourself kit consisting 
of excerpts from DEC’s price list. 


M/V/Kn 


O.K. Here is how you build an Edu 10 or a one user Edu 20. 



ID # DESCRIPTION 

PDP8E— BA Computer, 4K memory, TTY 

control 

PDP8E— BE Computer, 8K memory, TTY 

control 

MC8— E 4K memory. Required to 

expand from 4K to 8K 

MM8—E 4K memory. This one gets 

you from 8K to 12K or 
from 12K to 16K 


INST* MONTHLY 
PRICE CHG MAINTENANCE 

4490 — 60 

5650 — 80 

2750 150 20 

2500 150 20 








MC8-EJ 

8K memory. Required to 

4150 

175 

40 


Edu 10 



One User Edu 20 



expand from 4K to 12K 





PDP8E-BA 

$4490 

• 

PDP8E— BE 

$5650 

MM8-EJ 

8K memory. Gets you from 

3900 

175 

40 


MI8-EF 

500 

• 

MI8-EF 

500 


8K to 1 6K in one neat jump 





LT33-DC 

1620 

• 

KP8-E 

250 

KP8-E 

Power fail/restart 

250 

60 

2 


Software 

250 

• 

LT33-DC 

1620 

MI8-EF 

Hardware bootstrap 

500 

60 

5 


Textbook Kit 

100 

• 

Edu 20 Software 

250 

LT33-DC 

Teletype Model ASR 33 

1620 

120 

30 



$6960 

• 

Textbook Kit 

100 


modified to work with PDP8 









$8370 

KL8-E 

Interface card for TTY 

300 

60 

10 


Now here are four ways to get a 4 TTY Edu 20 with 8K memory. 

(1) Buy an Edu 10 this year and next year expand to an 8K Edu 20 
with 4 TTYs. 


*This is the charge for installing additional equipment on an existing system . 


• Edu 10 

• MC8— E + installation 

• KP8— E + installation 

• 3 LT33-DC + installation 

• 3 KL8-E + installation 

• Edu 20 software 

Total cost 


6960 

2750 + 150 
250 + 60 

.4860 + 360 
900 + 180 
250 _ 

15970 750 

$16720 


(2) Buy a one user Edu 20 with 8K this year - next year expand to 
4 TTY’s. 


• One user Edu 20 with 8K 

• 3 LT33-DC + installation 

• 3 KL8-E + installation 


Total cost 


8370 

4860 + 360 
900 + 180 
14130 540 

$14670 


(3) Buy a 4 user Edu 20 with 8K this year. 

• Edu 20 with 8K and 1 TTY 8370 

• 3 LT33-DC 4860 

• 3 KL8-E 900 

Total cost $14130 

(4) Buy an 8K Edu 20 with one TTY from DEC and buy 3 TTYs 
from someone else.* 

• Edu 20 with 8K and 1 TTY 8370 

• 3 TTYs from someone else* 3450 

• 3 KL8-E from DEC 900 

Total cost $12720 


© © • <S> <Q> 

$16720 $14670 $14130 $12720 


*We got this price from Data Terminals Corporation. $1150 for a new ASR 33 
TTY modified so taht it will work on a PDP8E. Or you can get a rebuilt ASR 33 
for PDP8 from DTC for $850. For more information , contact Data Terminals 
Corporation , P.0. Box 5583 , San Jose , CA. 95150. Phone (408)378-1 112. 



Next — let’s look at more memory. First, suppose we buy a 16K 
Edu 20 with one TTY. 

• PDP8E—EJ 5650 

• MM8-EJ 3900 

• Hardware bootstrap 500 

• Power fail/restart 250 

• LT33-DC 1620 

• Edu 20 software 250 

• Textbook kit 100 

Total cost $12270 

You can now add on TTYs — up to 8 of them with the 1 6K version of 
Edu 20. Or you may prefer using Edu 21 software which provides 
modest string capabilities. 

We will, in turn, look at another way to get a 1 6K Edu 20 or Edu 2 1 
with one TTY. 

• Start with Edu 10 6960 4K 

• Add op things at later times 

KP8— E + installation 250 + 60 

MC8— E + installation 2750 + 150 8K 

MM8-E + installation 2500 + 150 12K 

MM8—E + installation 2500 + 150 16K 

Edu 20 or Edu 21 software 250 

15210 + 510 
$15720 


Total cost 


Power fail detect and restart is handy! It 
keeps your software from getting wiped 
out during power failures or temporary 
brownouts or when someone trips over 
the power cord. You just restart when 
power is OK again — otherwise, you usu- 
ally have to reload the software. 



I’ll leave other possibilities to you — like going from 4K to 1 2K then 
to 1 6K or from 4K to 8K then to 1 6K and so on. 

In the meantime, I’ll rest up for the next issue of PCC when I’ll talk 
about EduSystem 25 and maintenance and . . . what do you want to 
know? Write a letter! 







CBE BURKbe IS H BflPPV BEBSC 


Hurkle? A Hurkle is a happy beast and lives in another galazy 
on a planet named Lkht that has three moons. Hurkle are 
favorite pets of the gwik, the dominant race of Lirth and . . . 
well, to find out more, read “The Hurkle is a Happy Beast" 
in a book called AWAY HOME by Theodore Sturgeon, 
published by Pyramid Publications, 444 Madison Avenue, 

New York, NY 10022. (Unless they have moved since 
January, 1968.) 

fiu/tJ&lM . 

Sc<\hJl(L ku/ckJi 2A (JO IrUHMJoijLo 

took cu cfj cx, fio^ojotj 

^suxdLa&nj \ruAn)o\sL^ loAxt jjrm, coyoqaxj^ 
cMck j^caJxsA. Ujlvyl oukuL o • * • 



RUN 


DO YOU WANT THE RULES Ct*YES 0*NO>? 1 <] 'C 

A HURKLE IS HIDING IN A GRID# LIKE THE ONE BELOW. wfi, M 


WEST 





123456789 


SOUTH 


100 
1 10 
120 
130 
I 40 
150 
160 
I 70 
180 

1 90 
200 
210 
220 
230 
240 
250 

2 60 

2 70 
2 80 
290 
300 
310 
320 
330 
340 

3 50 
360 
3 70 
380 

3 90 
400 
410 
420 
430 
440 

4 50 
460 
470 

4 80 
490 
500 
510 
520 
530 
540 
550 
560 

5 70 
580 
590 
600 
610 
620 
630 
640 
650 
660 

6 70 
680 
690 
700 
710 
720 
730 
740 
750 

7 60 
7 70 
780 

7 90 
800 
810 
820 
830 
840 
850 
860 

8 70 

8e0 

8 90 



TRY TO GUESS WHERE THE HURKLE IS HIDING. YOU GUESS 
BY TELLING ME THE GRIDPOINT WHERE YOU THINK THAT 
THE HURKLE IS HIDING. HOMEBASE IS POINT 0#0 IN 
THE SOUTHWEST CORNER. YOUR GUESS SHOULD BE A PAIR 
OF WHOLE NUMBERS# SEPARATED BY A COMMA. THE FIRST 
NUMBER TELLS HOW FAR TO THE RIGHT OF HOMEBASE AND 
THE SECOND NUMBER TELLS HOW FAR ABOVE HOMEBASE YOU 
THINK THE HURKLE IS HIDING. FOR EXAMPLE# IF YOU 
THINK THE HURKLE IS 7 TO THE RIGHT AND 5 ABOVE 
HOMEBASE# YOU ENTER 7# 5 AS YOUR GUESS AND THEN 
PRESS THE 'RETURN* KEY. AFTER EACH GUESS# I WILL 
TELL YOU THE APPROXIMATE DIRECTION TO GO FOR YOUR 
NEXT GUESS. GOOD LUCKl 


THE HURKLE IS HIDING - YOU GET 5 GUESSES TO FIND HIM. 


WHAT IS YOUR GUESS? 5#5 
GO NORTHWEST 

WHAT IS YOUR GUESS? 3#7 
GO SOUTH 

WHAT IS YOUR GUESS? 3#6 

YOU FOUND HIM IN 3 GUESSES!!! 
LET'S PLAY AGAIN. 




dsV- 


THE HURKLE IS HIDING - YOU GET 5 GUESSES TO FIND HIM. 
WHAT IS YOUR GUESS? f'lj. 


Quit 


"'Ub/'jjj 


*h 




7o 




EAST" 


RANDOM 

REM *♦* N IS THE NUMBER OF GUESSES ALLOWED 
LET N*5 

PRINT "DO YOU WANT THE RULES C1«YES 0*NO>"! 

INPUT Z 

IF Z <> 1 THEN 490 
REM *♦* HERE ARE THE RULES 

PRINT "A HURKLE IS HIDING IN A GRID# LIKE THE ONE BELOW." 

PRINT 
PRINT 

PRINT TAB <26 > I "NORTH" 

PRINT 

FOR K=9 TO 0 STEP -1 
IF K <> 4 THEN 270 
PRINT TAB < 8 ) 1" WEST 4”!TAB<20>! 

GOTO 280 

PRINT TAB < I 4 ) I KlTAB <20 > !" • • • • " 

NEXT K 
PRINT 

PRINT TAB <20 )"0 1 2 3 4 5 6 7 8 9" 

PRINT 

PRINT TAB <2 6 ) I "SOUTH" 

PRINT 

PRINT "TRY TO GUESS WHERE THE HURKLE IS HIDING. YOU GUESS" 

PRINT "BY TELLING ME THE GRIDPOINT WHERE YOU THINK THAT" 

PRINT "THE HURKLE IS HIDING. HOMEBASE IS POINT 0#0 IN" 

PRINT "THE SOUTHWEST CORNER. YOUR GUESS SHOULD BE A PAIR" 

PRINT "OF WHOLE NUMBERS# SEPARATED BY A COMMA. THE FIRST" 

PRINT "NUMBER TELLS HOW FAR TO THE RIGHT OF HOMEBASE AND" 

PRINT "THE SECOND NUMBER TELLS HOW FAR ABOVE HOMEBASE YOU" 

PRINT "THINK THE HURKLE IS HIDING. FOR EXAMPLE# IF YOU " 

PRINT "THINK THE HURKLE IS 7 TO THE RIGHT AND 5 ABOVE" 

PRINT "HOMEBASE# YOU ENTER 7# 5 AS YOUR GUESS AND THEN" 

PRINT "PRESS THE 'RETURN ' KEY. AFTER EACH GUESS# I WILL" 

PRINT "TELL YOU THE APPROXIMATE DIRECTION TO GO FOR YOUR" 

PRINT "NEXT GUESS. GOOD LUCK!" 

PRINT 

REM ♦** HURKLE 'PICKS' A GRIDPOINT AND HIDES 
LET A* I NT <10*RND<0>) 

LET B« INT <10 *RND <0 ) ) 

PRINT 

PRINT "THE HURKLE IS HIDING - YOU GET" JN!"GUESSES TO FIND HIM." 
PRINT 

REM *** GET A GUESS AND PRINT INFO FOR PLAYER 
FOR K=1 TO N 

PRINT "WHAT IS YOUR GUESS"! 

INPUT X# Y 

IF ABSIX-A > ♦ABS < Y-B ) =0 THEN 710 

REM *** GO TO INFO SUBROUTINE 

GOSUB 760 

PRINT 

NEXT K 

PRINT 

REM *** HURKLE WAS NOT FOUND IN N GUESSES 
PRINT "SORRY# THAT *S" IN1"6UESSES." 

PRINT "THE HURKLE IS AT "!Ai"#"lB 
PRINT 

PRINT "LET'S PLAY AGAIN." 

GOTO 490 

REM *♦* HURKLE HAS BEEN FOUND! 

PRINT 

PRINT "YOU FOUND HIM IN"K I "GUESSES ! ! I " 

PRINT "LET'S PLAY AGAIN." 

GOTO 490 

REM *** SUBROUTINE! 

PRINT "GO "I 
IF Y=B THEN 820 
IF Y<B THEN 810 
PRINT "SOUTH"! 

GOTO 820 
PRINT "NORTH" ! 

IF X*A THEN 870 
IF X <A THEN 860 
PRINT "WEST"! 

GOTO 870 
PRINT "EAST"! 

PRINT 
RETURN 
END 


l3o. g^essi 


es *ti r 


Oty e( j 


Oh 

or 





320 n ■ 

>°'^ZY 0 >y J0 


G to* WOL,lci Vn 

G by q p r 9nd _ _ e ° print. _ . y °u 


orJ° Prj *t 


ffrict 


yrj(j 


of. 


a h. 




r 9er 


d el ete 




ixo. 




Change the game - 

• First number is distance above and 
second number is distance to the 
right of homebase 

• Longitude and latitude? 

• Number the grid in rows and 
columns, like this 

NORTH 

123456789 10 


WEST 


PRINT INFORMATION FOR NEXT GUESS 


1 

2 

3 

4 

5 

6 

7 

8 

9 

10 


• • • • • 


EAST 



is 


1,1 


Homebase - . . f oU 

(Call it a matrix Y 


wish) 


SOUTH 


page 22 







LOOKING gVER THE MEDIA -Jw 

i COMPUTERWORLD Il{ i«i!I!!?!?f I ^ ^f^sr-rn— r-, 


1* ^ \ 1 / 1 1 THE NEWSWEEKLY FOR THE COMPUTER COMMUNITY 

SIXTY AUSTIN STREET NEWTON, MASSACHUSETTS • 02160 • TELEPHONE (617) 332 5606 


JLia-> 


<< 

mm 

OX 


Drawing by Arthur berger (Reprinted from WORKFORCE, Jan-Feb, 1973) 





send check or money order to: People’s Computer Company 

P. 0. Box 310 



name 

address 


Menlo Park, Ca 94025 


zip 


what kind of computer do you use?. 

subscriptions start with 1st issue of school year 


$4 for 5 issues 

($5 Canada & overseas) 


Bulk Rate 
U.S. Postage 

PAID 

Menlo Park, CA. 
Permit No. 371 


/ 


TO 


Serial Supervisor, ERIC Clearinghouse 
D 10 Cypress Hall 
Stanford University 
Stanford, Ca. 94305