personal-computer-world-april-1978-commodore_pet_2001-uk-coverPersonal Computer World
Volume 1 Number 2 April 1978

Graciously scanned and sent to by
the UK’s Arnold J Rimmer
OCR’d and posted by April 7th 2004
Formatting cleaned up Nov 2018

The formatting has been replicated as much as possible from the original source including spelling mistakes

by John Coll

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

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
BM2     9.7
BM3 18.2
BM4 20.3
BM5 21.8
BM6 32.4
BM7 50.9
BM8 12.2
BM7+8 63.1The 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 useful facility.
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                                                                                                            Page 1

The keyboard

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