The Company
Small Systems Engineering was founded in San Francisco, California on April 1, 1982. The company was dissolved a couple of years later on March 1, 1985.
Based on the above ad, I was under the impression that PETSPEED was created and sold by Small Systems Engineering. However, I discovered that it was actually a product of England. An article in the June 1982 issue of COMPUTE! contained the line “introduced from England by Small Systems Engineering”. (Commodore Magazine also used the same line.) So I did some digging.
I was able to find a copy of a PETSPEED manual. The manual has the name Oxford Computer Systems (Software) LTD on the cover. Based on that, I’m assuming that Oxford Computer Systems created PETSPEED. But that is not all the evidence I found:
an issue of MicroComputer Printout containing an ad for PETSPEED from Oxford Computer Systems
the February/March 1983 issue of the Midnite Software Gazette refers to Oxford Computer Systems as the creator of PETSPEED
the September 1983 issue of Commodore Computing International carried a news item about the newest version of PETSPEED from Oxford Computer Systems
Commander magazine from 1984 notes, “PETSPEED is a trademark of Oxford Computer Systems (Software), Ltd.”
The Product
Most early computers came with a simple version of BASIC (or the Beginners' All-purpose Symbolic Instruction Code) programming language so that users could create their own programs. In the world of programming, there are two forms of programming languages: interpreted and compiled. Interpreted languages use an interpreter to execute the program line by line. On the other hand, a compiled language uses a compiler to convert a program to machine code. Of the two, compiled languages are faster.
BASIC is usually an interpreted language. There are a couple of compiled versions. One of them was PETSPEED. According to the June 1982 issue of COMPUTE!, “The Petspeed compiler uses a four-pass algorithm that gives priority to frequently used variables, removes unnecessary code, and utilizes integer arithmetic wherever possible. In addition to its fast execution, the compiler is available with unrestricted use. Software writers may sell their compiled programs without incurring additional royalties.”
The June/July issue of The Midnite Software Gazette had two reviews of PETSPEED. Roy Wagner wrote the first and he was not very happy. He said, “Preliminary Warning: With this version of the popular compiler for Commodore machines, you cannot compile a program bigger than 80 blocks using a 1541 (maximum program size on a 64 is about 150 blocks). It cannot use a 4040 or 8050 if the IEEE interface software uses up program space in the 64 (especially $C000). Because the Richvale new relocator program 5.1 puts the C64 LINK under the BASIC ROM ($B000), they have supposedly been able to run PETSPEED 64. Small Systems Engineering sells a $180 serial port-to-parallel (IEEE) add-on called INTERPOD that also lets PETSPEED work. I feel their advertising is misleading buyers. Joe Brown has said on CompuServe that PETSPEED 2.0 does not work at all. I will let you know.”
Bill Brown was more positive:
PETSPEED works reasonably well as long as you avoid using a string of blanks in it - the string must be defined each time it is used, apparently. Also, the program has no error checking, so that, if a disk error occurs, it keeps on going and gives you a rotten compilation. I have a 99-block database program which I have used compiled on the PET, and which I wanted to use on the 64. I finally got all the ROM-dependent features fixed up (including relative file commands), and had the un-compiled version working on the 64. So, I bought my 64 PETSPEED and got rolling.
First attempt - a hangup, because I had more than 288 simple variables in my program. (I have not found this limitation mentioned in the PETSPEED manual.) I chopped out about 6 variables and things ran well through Pass 2. Suddenly, a message came on the screen that disk space was lacking and was it okay to scratch source files? I typed "y" and pressed return. The message "I/O error #2" appeared on the screen, and the compilation proceeded. About 2/3rds of the way into the third pass, the disk error light began flashing and PETSPEED just rolled merrily on its way. Finally, things just stopped. I found no files had been scratched, the disk was full, and there were 2 unclosed files on the disk.
A call to "Lisa" at Small Systems Engineering in California revealed that there is an 80-block limit to PETSPEED on the 64; a serious problem which also was not mentioned anywhere in the AOS or PETSPEED manual. Also, a new improved version is now supposedly in the mail, which fixes some bugs in the 1.0 version I had purchased. Meanwhile, a program with only 44 blocks compiled (30+ blocks in BASIC) has also acted up. String variables are forever being clobbered during program execution - filled with garbage after one pass through the program. Ah, well...
Ahoy carried a more detailed review of PETSPEED in their April 1984 issue. Joe Rotello wrote:
Enter Petspeed. This Commodore-compatible compiler is remarkably easy to use, generates a fast compiled code and actually improves the logic and overall structure of your BASIC source code in the process. This improvement process is referred to as "optimizing" and is a very marked advancement over most of the other BASIC compilers on the market today.
By optimizing, Petspeed not only compiles your existing BASIC program, it actually takes your BASIC code apart and rearranges it so that it executes much more efficiently. In fact, in many cases Petspeed can rework even a poorly thought out program for maximum speed. In a way, one might address Petspeed as a sort of intelligent compiler. This intelligence contributes to Petspeed’s ease of use and very acceptable results.
…
Depending on the length of the BASIC source code, the compilation process takes between two and five minutes to complete. Petspeed then stores a copy of the compiled program in memory, so you can see how the compilation turned out. and saves a duplicate copy down to the disk drive.
From that point on, the compiled program appears to the computer to be just another program (displayed as PRG on the disk drive directory) and is loaded and RUN just like any other BASIC program might be.
The only difference is that the compiled program runs between 5 and 40 times as fast as did the BASIC program! Petspeed tacks on the file name extension ".GT" to the end of the Petspeed OBJECT code name so you can easily locate the compiled version in the disk directory.
…
Petspeed's many advantages do not consist of merely speeding up a BASIC program. Due to Petspeed’s internal workings, a user or programmer can actually write programs a little more efficiently and can take advantage of a few added abilities as well.
With Petspeed, the computer < RUN/STOP > key can be disabled or enabled at will without affecting the computer system clock or having to code in any machine language or overly exotic program lines. Believe it or not, POKEs to the video screen can be negative numbers! This little bit of magic actually results in extremely fast video screen printings and can be used in any number of applications.
One of the more pronounced improvements is the ability to use user-defined functions that are composed of STRING functions as well as numeric. Normally, string defined functions are not allowed in BASIC. With Petspeed, it is therefore now possible to code into your BASIC source code a compact PRINT USING routine that will justify strings or numbers to produce a neat organized display or printout. True, it won't execute at all in BASIC. But it will when the BASIC source code is compiled!
In the early 1980s, Commodore purchased PETSPEED. Commodore Computing International mentioned it in their September 1983 issue. “First of all there was Petspeed and then there was Petspeed 64 which was purchased outright by Commodore because it was so good.” The March 1984 issue carried an ad for Commodore-branded software that included PETSPEED.
Further Reading
Review in the November 1982 issue of COMPUTE!
Clip from a British TV show mentions Oxford Computer Systems
October 1982 issue of Torpet has two reviews of PETSPEED, one for and one against
Have you ever used any MicroSpeed or any other Applied Analytics products? Do you know anything about its history? Tell us about it in the comments below.