|
Inside
the Commodore PET
by Graham Wideman and Mark Czerwinski |
Electronics Today | February 1978
Reproduced by
www.commodore.ca April 13, 2002
To read the original scans (with all the images) go to our
GALLERY, MAGAZINES, ET 1978
We don't fee that "Personal Eletronic Transactor" completely
describes it, but we liked what we found in this machine.
LOOK WHAT
HAPPENS when an aggressive, popular-market calculator company joins forces with
a low pro file, high technology micro-processor manufacturer! Commodore and their mpu wing, MOS Technology have come up with a product which while technologically
unsurprising is revolutionary from a packaging and marketing point of view.
Never before has a company tried to convince the public that a computer is an
acceptable, fun, useful, perhaps even an essential thing to have around the
house.
In the past
it's happened with radios, TV s, automobiles, calculators, digital watches. We
really are now seeing the introduction of the personal computer to widespread
use.
We were
dying to get some hands on experience, and managed to borrow one of the few (one
or two) PETs that Commodore had in Canada. Here's the story, with some
surprises!
IT'S
COMING, IT'SALMOST HERE
No doubt many of our readers will have heard so much about this machine that
they feel it's a little late to do a review and call it news. Certainly
literature, advance press releases, tantalizing hints and the like have been
with us for over six months, but the real machine is still only almost just
arrived. A few words with MOS Technology in Pennsylvania put us in the picture.
By
early December about 500 to 600 PETS had rolled off the assembly line, being
produced at a rate of about 30 per day. These were almost all being shipped in
the States and without complete manuals. A temporary manual was being issued,
which contained little more than a description of BASIC, and a few elementary
explanations for how to operate the machine. There was no sign of a complete
manual in mid-December, nor much hope of its appearance within the near future.
As for
sales of the PET in Canada, no one seems to know very much. The price fluctuates
(mostly upwards) from week to week, and availability??? The price started at
$695 and $895 (Canadian) for 4k and 8k models with delivery in January. At the
time of writing (mid-December) the price is up to $850 and $1,100 for those same
machines, and no CSA approval has been granted, which means no deliveries to
consumers. A couple of machines have appeared in very eager stores, but these
outlets can still only accept orders.
In view of
the low speed of production, and the incredible demand we expect will have
developed for this equipment, it is likely that the US demand will exhaust most
of the supply and Canadians will have a long wait. March is our optimistic guess
for first delivery, but then it's just a guess.
THE
MACHINE ITSELF
The actual, non-imaginary, not just promised hardware we borrowed is pictured on
the cover. We have several assurances that what's in that one is what you'll get
if you order one. It does however look significantly different from that
pictured in Fig. 1., chiefly in case styling, recessing of the keyboard , and
cassette deck. In addition the keyboard in Fig. 1. has completely different
graphics symbols. In any case (?), it appears that our model is closer to a
production machine, or may even be one, having regard to the fact that dates
inside indicate it was buiit in early October, and the main pcb is numbered
0109. The cassette worried us a little though (see below), So what do you get?
Basically, what you see, and a few other features.
Inside is a
microprocessor system, and it's hooked up to an alpha-graphics keyboard,
numeric-and-more graphics keyboard, CRT display, and cassette recorder. The
microprocessor system uses the (big surprise) MOS Technology 6502 mpu, with 14k
of ROM containing everything to operate the hardware, and purportedly a very
fast interpreter for BASIC. As stated above 4k or 8k of RAM is provided for user
program and data storage.
HOW DID
WE LIKE IT
There is no doubt that this package of micro-pieces is, well thought out, and
designed with the idea that the user needs to know very little about computers
to get "into" the PET. "Remember the increased popularity of tape recording when
cassettes came out? Make it simpler to use, easier for the human being. Same
philosophy at work here, and that is what will sell it. Needless to say in spite
of the fact we had very little documentation, we were highly impressed.
First of
all there isno wiringup to do. When you plug in and switch on the PET, after
only a couple of seconds it's ready for action. No BASIC to load from tape, it's
already in there. This is one great headache reliever If the program you've
written bombs out and writes over memory in selected vital (of course)
locations. No waiting for a 20 minute BASIC reload. 14k of built-in software is
worth ten times its weight in silicon.
So after
"power up" you can start programming, (more about that under SOFTWARE) or load
from a cassette the software you want. Presumably in the future, tapes for
various useful software packages will be widely available, so you will
infrequently need to write your own, but its lots of full so you'll actually
want to.
TAPED
Upon entering the LOAD instruction,
the machine tells you to stick the tape in and press the "PLA Y" button. Here's
where a compromise has been made. Although the PET can switch the transport
motor on and off, it tells you to do the muscle work. Commodore have saved money
by using a standard (cheap) cassette recorder, which is sensible for the
consumer market they are aiming at. In fact, as you can see in Fig. 3., our
cassette was so standard it had a grille for "condenser mike", and the corner
had been somewhat roughly cut off for the wires to enter its body.
The
cassette feature worked quite well, although a couple of demonstration tapes did
not load properly (we suspect over-worn tapes due to heavy use). One feature we
would have liked, (which could not have been included without a large extra
cost) would be a fast forward search. Without it the machine took a long time to
find a program if the tape was started at the beginning and the program happened
to be near the end. For this reason it seems most economical (time wise) to only
use C30 cassettes (these are thicker and stronger anyway} and then record only
one or two programs near the start of each side, unless programs are recorded in
some long sequence in which they are to be used, or for storage of little used
data etc.
KEY
FEATURES
Another cost saver is the keyboard,
being of calculator type construction and feel. An idea of its size and action
may be gathered from Fig. 5. All our reviewers disliked the feel (no feedback,
you have to look at the screen to see your entry) particularly since we had a
rot of problems with a reluctant "N"" On the other hand these reviewers were all
used to sitting down at expensive IBM terminals for days (and nights) on and, so
perhaps the comments are unfair.
The
keyboard arrangement has all the rows of keys fined up instead of offset as in a
normal keyboard, which would appear to be a big disadvantage to experienced
typists. However, one is unlikely to enter vast quantities of text, and this
turned out to be less annoying than anticipated.
To solve
all these problems, it would be a simple matter to replace the main keyboard
with a "proper" one. Since there are no electronics inside, it would simply be a
question of configuring the switches the same way. How long will it be until
some one comes out with a PET soup-up kit, come on, we've started counting?
A
CRITICAL LOOK
The video monitor appears to be quite
standard; Fig. 4 is a view in the back, The 9 inch CRT provided us with high
resolution for the 25 lines of 40 characters. A brightness control is located at
the rear.
ELECTRONICS'
For the electronics enthusiasts
(well, you're reading this magazine. aren't you?) we've got Fig. 6. Most of the
important features are shown on this photo, from which a basic idea of the
system configuration can be gleaned.
All the big
chips are plugged into sockets, something nice to see, especially for ROMs.
(When's APL coming???)
Commodore
appears to be producing mostly, if not exclusively 8k models at the moment, but
the hefty ($250) price difference between 4k and 8k models means that it could
be significantly cheaper to buy a 4k model and plug your own 4k worth of RAM
into the sockets, or holes, left vacant.
No doubt 4k
buyers will be offered the option of having an extra 4k installed later, and
they may as well save by doing it themselves. In addition, a planned option is a
24k memory unit with its own power supply to connect onto the expansion
connectors.
Commodore
literature says this unit "cannot be described as static or dynamic but
somewhere between the two". This we take to mean dynamic memory chips with
additional hardware to handle the refresh independently from the PET. This would
allow simple interface, servicing, and great savings in the power supply using
low power cheap dynamic RAMs, The 6502, like 6800 does not use the entire clock
cycle, thus allowing (through suitable synchronizing circuitry) memory refresh
to occur in the unused part of the cycle. Clever and cheap economy attainable in
such a large memory unit.
The
keyboard is accessed via a 16 line Peripheral Interface Adapter (6520 like a
6820 for Motorola fans) which we expect uses 8 outputs and 8 inputs for decoding
64 keys, and then also a couple of the PIA "handshaking" lines for the rest of
the work.1n other word most of the keyboard decoding is done by software.
The
cassette recorder as previously mentioned is a customized standard one, with a
new pcb inside full of electronics suitable for data recording.
In fact two
cassette interfaces are included (second cassette recorder available for about
$100 .00 sometime) with input, output, and motor on/off lines. This uses six
lines of the 16 on the second 6520 PIA (we assume) leaving 10 lines, 8 for
parallel 1/0, and 2 serial, at TTL levels. Both cassettes record at 1000 baud,
but using built in software any program is recorded twice in series for
reliability, cutting the effective rate to 500 baud. Thus an program takes about
2 1/2 minutes to load. In addition, the PET is probably the
first
popular micro-computer to use the IEEE 488 bus for instrumentation
communications, making it compatible with many existing and future digital
instruments, printers etc. Commodore themselves plan to hang on this a printer
($1,000.00?), floppy disc (mini $1,000.00, "full size" $2,000.00??) and
telephone interface ($?) available when we don't know, but with a standard bus
you can be sure there will be a swarm of cheap add-ons from other sources in the
not too far future, just like when the S100 bus caught on.
A final
note of the hardware. Unlike some of the early hobby computer equipment the
inside of this machine looks like it's built for business, and for the
manufacturer to stay in business. Constructed with quality electronics, and
chassis and pcb arrangement for easy assembly and service.
SOFTWARE
As stated before, one of the beauties
of the PET is its built in ROM -full of software. The 14k includes 8 k BASIC, 4k
Operating System, 1k Machine Language and 1 k Diagnostic routine, according to
Commodore's literature. First there's 8k of "extended" BASIC.
The correct
term is "BASIC interpreter". In simple terms an interpreter is a machine
language program which takes your BASIC program as data, "translates" it to
machine language subroutines and then executes it. This process actually occurs
in a line-by-line translate-execute manner. The term "extended" refers to the
fact that many statements are included that are omitted in some versions of
BASIC. Using BASIC means that programming can be conducted in a civilized
manner, using statements that are almost readable in English, with base ten
numbers. The machine does the work of converting to machine language and 8 bit
binary arithmetic.
As
encouragement to skeptics we've included a description of the language and how
(easy it is) to use it. Commodore claim that their BASIC is significantly faster
than anybody else's which we cannot attest to, but for general use the PET
performed admirably as compared to the reasonably typical IBM 360 and 370
interactive, multi-user systems that the reviewers were familiar with. (But we
do like APL!)
The
cassette 1/0, keyboard, video, and other functions are handled by the 8k
operating system. Lacking documentation, we can only guess at the other two ROM
items. The diagnostic routine we assume verifies the operation of the hardware,
and uses the LED as an indicator for this task.
The 1 k
machine language we guess refers to an assembly language ("machine language" is
what the mpu uses, "assembler" is one step higher, using mnemonics for each
instruction, and is generally more readable and useable). There is also a
mention of next year's "assembler device", to be plugged Into the expansion port
for "machine language" (?) programming.
The
advantage of machine or assembler language programming is increased efficiency
of programs over those "interpreted" from BASIC. This could be critical in case
of a routine which runs several thousand times in a loop, or for a frequently
used function. BASIC
BASIC
(INTERACTIVE)
One can think of the PET as operating
in one of two modes: "calculator mode" in which the operator asks the machine to
execute and give the results of one statement; and "programmed mode" in which
the programmer enters a series of statements, then has the machine execute the
entire set at one go. The second mode requires a little more structure for
"administrative" purposes. A list of the available statements and commands with
comments may be found to the right for reference.
CALCULATOR MODE
Known by this name because it is the
process of getting a quick answer from a small formula, (similar to
calculators), or telling the machine to do one thing.
Example: PRINT 3+4
The machine works out 3+4 and "prints" the result oh the screen. Another
example: LOAD FRED . This causes the machine to obtain a program called "FRED"
from the cassette, including giving you instructions about what buttons to push
on the recorder.
PROGRAM
MODE
Problem: Figure out the sum of the integers zero to ten. Program:
10 J% = 0
20 FOR l% = 1 TO 10
30 J% = J% + 1%
40 NEXT
50 PRINT J%
60 END
The numbers down the side are line numbers which can be any integers, and they
keep the lines in order. We have chosen multiples of ten as it makes for easy
editing at a later date by inserting line numbers in between if necessary. The
variables are J% and 1%. The % signs identify them as integers. The FOR -NEXT
pair signify a "loop" to be executed many times. The first time 1% has the value
1, the second time 2, and so on up to 10.
On each
iteration the value of 1% is added to the accumulated total J%. After the 10th
iteration the program continues to line 50, prints the answer, then stops at 60.
A simple task, a simple program. With the program stored in the machine, the
operator keys in "RUN" and the answer appears. How boring. But it does
illustrate the ease of programming.
BASIC
SIDEBAR
Commodore claims that their full
floating point BASIC is the fastest yet implemented on a microcomputer. Here are
the statements and features included
Standard
Dartmouth BASIC Statements: LET,
READ, PRINT, DATA, IF, THEN. FOR. NEXT, DIM, END, GOTO
Extended
BASIC Statements: RESTORE, REM, GET,
GOSUB, DEF, RETURN, STOP, STEP, INPUT, FN, ON, GOTO, ON, GOSUB
Scientific Functions: SGN, INT, ABS,
SOR, RND, SIN, COS, TAN, ATN, LOG, EXP, PI
Logical
Operators: AND, OR, NOT
Operation Commands: RUN, NEW, CLR,
LIST,CONT, FRE
Formatting Functions: TAB, POSc SPC
Machine
Level Statements: PEEK, POKE; Allow
the user to examine and store at specific memory locations. USR, SYS; Link BASIC
to machine language subroutines with parameter passing or developmental
subsystems. WAIT; Monitors status of a memory location such as an 110 port
until specified bits are set.
String
Functions: LEFT$, RIGHT$, MID$
Returns substrings (of specified length and position) of string acted upon. CHR$,
ASC. CHR$ returns a character, give a numeric code. ASC returns a numeric, code
corresponding to a character. LEN returns the length of a string. VAL, STR$.
Convert decimal values to numeric strings and vice-versa.
Extended
I/0 Statements: OPEN, CLOSE, Control
association of a logical file number to a physical device and, optionally, a
file name on the device. SAVE, LOAD: VERIFY. Store and retrieve a program, with
optional file name, on a physical device. Load allows for program overlay,
VERIFY compares contents of memory to stored program. PRINT#, INPUT#, GET# Allow
communication with logical device numbers other than keyboard or screen. GETII
inputs one character. CMD' Permits communcation with multiple devices
simultaneously.
Variables:
TYPES. Real, Integer (%), String ($)
NAMES: Variable names are uniquely given as a letter or a letter followed by a
letter or digit.
Special
Variables: TI, TI$. Time of day, ST:
Status word for I/O operations.
Of much
more interest to people are fun programs like games and business software which
helps you make (more) money. These can also be simple, or of complexity running
to many hundred statements. These programs not only do simple calculations, but
manipulate character data, set up filing systems on tape, draw fancy graphics on
the screen and other entertaining activities. And you can exercise your
imagination writing your own programs. A computer can be a very creativity
promoting toy, requiring very little activation energy (other than original
outlay) to get you involved, a lot more healthy than a TV set, that's certain!
GRAPHICS
We suspect some pretty creative,
intelligent people sat down and worked out the graphics character set on this
machine. Figure 1 shows the keyboard and all the characters you can key in.
The display
system is based upon 8x8 dot units, which may contain 5x7 dot upper case
letters, or assorted symbols which are so designed to provide very ver5atile
diagram and graphing capabilities. Because the 8x8 blocks fit together both
horizontally and vertically, it means that adjacent lines of text look a little
crammed together, but this can be avoided by judicious line spacing if
necessary.
The
"cursor" is a flashing "element" or character that can be moved about the
screen, and it normally indicates the next
space to be typed in. After typing in that space the cursor moves to the next
adjacent spot and so forth. "RETURN" causes the
cursor to move to the first position on
the next line, just as a carriage return does on a typewriter. Additional cursor
control is provided to move it quickly up, down or sideways. The cursor is
useful also for editing and correcting programs already written on screen, with
the facility for inserting and deleting characters. When the cursor attempts to
move below the bottom of the "page", the screen "scrolls up". That is to say
each line moves up one, with the top line disappearing.
In addition
to the normal characters, each may be "reversed", that is appear as black on
white, which can be used to advantage on some occasions.
Finally,
here's our big surprise! If you've been counting keyboard characters, there are
lot less than the 256 possible with the character generator shown in Fig. 6.
Quite by accident we found a whole set of lower case letters! Very interesting.
We're not quite sure what does it but check the pictures for yourself. That
still doesn't add up to 256 characters, so there may be yet more we don't know
about. In fact our Fig. 1 photo, upon close scrutiny of the keyboard shows
another set of graphic symbols including assorted Greek
letters,
could they be inside as well? We don't know, but it all depends on what's in the
character generator. We wonder if Commodore has lower case letters planned as a
future "add-on option?" For that matter you could always burn your own PROM.
WHAT
MORE CAN WE SAY?
It looks like computers are starting their march into the homes of the masses,
which sounds very science-fiction and scary to some. We hope that the
familiarity with computers this may bring to the man/woman/child in the street
will reverse the widespread fear of THE COMPUTER as an enemy. Perhaps man will
once again feel master over objects. There was after all a time when the
automobile was regarded as an evil fire breathing monster, until everybody got
one.
|