PET 2001 Review
Personal Computer World
Volume 1 Number 2 April 1978
Graciously scanned and sent to Commodore.ca by
the UK's Arnold J Rimmer
OCR'd and posted by Commodore.ca April 7th 2004
The formatting has been replicated as much as possible from the original
source including spelling mistakes
PET 2001 REVIEW
by John Coll
The PET is a very attractive small computer in appearance and design. It is a
successful attempt at placing computing within the reach of thousands and
there seems little doubt that thousands worldwide will buy it. Thus features
which now seem to be non-standard will come to be accepted and it is probable
that software and hardware which is CBM-compatible will be offered in the same
way that there are now alternative choices to IBM software and peripherals.
Let me start by
giving you my overall impression of the PET 2001: - it is a very well
constructed machine with many nice features but I was unable to spend more
than a day with the machine: a week would have been more appropriate.
The machine is well
built, solidly constructed and has a bright sharp V.D.U. display. The
internal construction is very clean - a single printed circuit board
carries all circuitry except the power supply and monitor scan circuits.
Connections to the outside world are made via 4 edge connectors directly
on the main p.c. board. I found the calculator style keys on the keyboard
too small to use comfortably at speed. The integral cassette drive
resembles an ordinary cassette transport but it was quite impossible, in
the time available, to examine it in detail.
The keys normally produce upper case output on the screen, but if
the "SHIFT" key is depressed then the displayed character is a graphic.
The graphics characters are not of the usual Viewdata / Ceefax/ Oracle "3
squares by 2" format but instead are generated by a "graphics ROM". This
can generate such characters as "hearts" and "diamonds" as well as a good
range of lines and shaped area from which complex pictures can be easily
built up. This is a very interesting departure and makes picture-drawing
very straightforward. The lack of compatibility with other systems may
well be a price worth paying.
Getting into lower case, however, is not so easy. The command is
"POKE 59468,14". Having executed this command the display will show upper
and lower case letters but not graphics characters. "POKE 59468,12"
enables upper case and graphics to be displayed but not lower case
letters. That is a pretty inconvenient facility. POKEing 59468 with
anything else usually causes the system to crash with total loss of
program and data - but fair enough, one expects the command POKE to wield
havoc if used carelessly.
The BASIC interpreter is resident in Read Only Memory - which is
convenient in some ways but it does mean that if (when) any bugs are found
or extensions to the language are needed there will be
nothing that you can do
except buy a new set of ROMs from CBM, and that could be very expensive.
It also means that if you find a better version of BASIC available from
someone else you will not be able to put it in without buying a whole lot
more memory from CBM. The interpreter has been written by Microsoft who
supplied Altair with their BASIC. The timings of those benchmark programs
which were given in the last issue are:
BM1 1.5 s
The really outstanding
feature is the screen edit facility. (See Patrick Sutton's article in
this issue - Ed.) One can move the cursor to any line of program that is
displayed on the screen and with single keystrokes one can insert, delete
or change any character. On hitting the RETURN key the new line is input
to the interpreter. Thus small errors are very easily corrected. One can
also use this feature to enter a series of identical lines with different
line numbers. To do this one enters the line in the normal way and then
edits the line number before hitting RETURN each time. That is a really
There are two major omissions in the software. The first is the
lack of a RENUMBER command. Yes, one can manage without it, one can manage
without almost any particular command, but anyone who has used an
interpreter with RENUMBER will know that it is vital. (Do you remember
that strange idea that one heard once, that Computers were meant to save
you time? No . . . perhaps I imagined it.) The other major omission is the
impossibility of stopping a program in mid-stream, changing a line or two
and then continuing with variables intact. If ANY changes are made to your
program then a// variables are zeroed. When a program is saved the status
of variables is not automatically saved - so if you intend doing a two
hour run then you had better make sure that your own "variable save"
program works first - and don't decide half way through that you want to
save one of the other variables!
Strings are limited to 256 characters and there is no PLOT command
to match that found in other inter- preters. It is not possible to tell
BASIC to leave a section of memory free for machine language subroutines.
BASIC stores strings downwards from the top of memory and BASIC program
text and variables, upwards, so you have to take a leap into the dark when
trying to place any machine language routines in memory. There is one 192
byte block of memory available between $033A and $03FF. The Random number
generator is not a True Random Number Generator, as stated in their white
leaflet, but is the usual pseudo-random sequence generator. It seems to
work well. One slightly awkward feature is that although the machine works
Personal Computer World
nternally the V.D.U. does not store alphanumerics with
their normal ASCII code. A is stored as 01, B as 02 etc. down to Z stored
as 26. Zero to nine are stored with codes between 48 and 57. That seems
really strange since the ASCII code is one thing that everyone
understands, and it surely would have been just as easy to put the right
code in the right place in the ROM. This is going to make interchange of
program material difficult.
The machine is certainly individual: non-CUTS standard cassette,
BASIC in ROM, non-ASCII VDU display, IEEE interface not plug compatible;
and they "PEEK protect" the screen editor ROM so you can't use the
disassembler to look at the routines they use to convert the internal
ASCII to their own VDU code.
Talking of disassemblers brings us to the machine language
environment. Well, quite simply, there wasn't one. There was no machine
language monitor in any form - nor was data of any system made available.
I understand that the KIM monitor is on its way. There is no editor (in
the accepted sense of that word) or assembler. I did use their dis-
assembler which was written in BASIC. I was told that it would be
available for £10 and that seems reasonable if it proves to be so. It is
quite adequate though it did not attempt to label statements that were
referenced elsewhere or attempt to deal with text strings in any way. I
did not have enough time to test it thoroughly, though. As I have said,
areas of ROM are PEEK protected and therefore cannot be immediately
disassembled. The protected area runs from 49152 to 57599 ($C000 to $E100)
and includes the whole of BASIC, and at least some of the screen editor
routines (if their memory map is accurate). Clearly anyone working with
machine language text routines will need to use similar (identical?)
routines. He will therefore need to copy the ROM programs to an area of
memory that is not PEEK protected and set the disassembler going on it
there - as an attempt at protection it is totally ineffective, and could
be an irritant.
At present there is no floppy disk system or hard copy unit and
C.B.M. are not at present giving any indication of when they are likely to
be available. Anyone who has used a computer will know that these two are
absolutely essential in the long run. I will be very interested to see the
pricing of these items. Will they be as much of a bargain as the PET
itself is, or will they carry a substantial price tag which the already
committed PET owner will have to pay? Anyone want to place bets? I think
prospective users would be well advised to wait and see.
The cassette system uses a non CUTS standard format, which
is unfortunate, and in the time
available I was unable to see if it would be easy to
write machine language software to read and create CUTS format tapes. It
is not clear from the intro- ductory booklet whether the second cassette
that the system can support needs to be special in any way. One would hope
that an ordinary audio cassette machine could be used unmodified. One
quote from their glossy leaflet: "A second cassette is available through a
built-in interface. This allows true file keeping and places the PET as a
true and conventional electronic data processing system equivalent to just
about any large commercial computer". That statement is, in my opinion,
utterly misleading. The access times (for file maintenance) are vastly
The cassette file handling system has the unfortunate facility that
file name matching can work on substrings. Thus if the command LOAD "CAT"
were given the file handling routine would load in any of the following
files "CATALOG", "CATS" or "CATCH". The lack of a tape counter or of any
means of fast-searching a tape - features found on other systems - are
serious omissions. I was unable to establish whether binary files could be
saved, read or appended and whether or not a "link" address could be
associated with such a file. The cassette system is pretty much a bare
minimum. It was also noticeably easy to "crash" the PET into a state from
which recovery was only possible by removing the mains plug with resultant
total loss of program and data. A "RESTART" switch is essential. Even if a
system "crashes" it is often possible to recover much, or all, of your
program if an ordered RESTART is provided.
It is fairly easy to form an impression of the merits and
demerits of machines and their software, given adequate opportunity. What
is far more difficult, but very very important for the prospective
customer, is to weigh up companies' attitudes to their customers. The
system that you own will expand. You will want new facilities as they
become available, you will want to expand memory as its price decreases,
you will want to run competitors' software and to write your own routines.
You will have problems and need help from companies. To suggest otherwise
is naive. When purchasing your first substantial chunk of computer you
will want to consider companies' previous records. Have they been prepared
to help with your difficulties? Have they offered software freely at
reasonable prices with good documentation and listings of vital parts such
as the input-output routines?
These are questions worth asking and worth getting answers to.