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