The Commodore Basics
With the developer preview of Microsoft’s OS, Windows 8 available for download, I looked back at Commodore’s history of its prime OS: Basic. Did it get to “8” as well? Why was there Basic in the Commodore machines and was it any good?
Let’s start with the last question. Yes, it was “good”, in the sense that most of us got our first programming experience on the C64. The ease of Basic, the flexibility of the language (OK, spaghetti code is bad, but for a beginner, it’s usually the first incarnation of a program) made it a language that you could easily master and let’s face it, that was what it was all about back then: getting to grips with a computer and doing more than just playing games.
As soon as you started to do some serious development on the breadbox, chances are you shifted your focus to writing your programs, or at least the slow parts, in assembly language instead of Basic, executing the code with the infamous “SYS” command from Basic.
That explains the programming bit, but how did it become an operating system for the best selling computer of all time?
To understand this, you have to cast your mind back to the early 70s in order to see the logic in the setup. Basically, with the first signs of a computer “industry” emerging, with the first Apple computer, the Altair and other homebrew systems there really wasn’t any software industry to supply programs and applications for these machines. Basically, you had to build your own software on your computer of choice, and that meant you needed a language that was easy to use and on which you could get started with minimal training: Basic was the prime candidate for this task.
So, when Chuck Peddle started talking to Micro-Soft as they were called back then in 1976, he explained that he had some ideas on using the Basic language as an OS by adding I/O features to it and building it into ROM so it would be ready to go from the moment you switched on your machine. This would mean a computer user would have the ability to work with his machine straight out of the box and develop his own programs. Peddle was of course referring to the PET computer he had in mind.
It’s also there that Peddle decided to have the PETSCII characters included, the wild extended character set featuring amongst others suit symbols, as one of the things people will do with a computer, he stated, is play card games.
The way Commodore licensed Basic is one of the great anecdotes in computing history. Bill Gates wanted to license it on a per-unit fee of $3, but to this proposal, Jack in his unique style replied “I’m already married” and proposed to purchase it for a one-time fee of $25.000. Gates agreed to these terms (perhaps because he didn’t believe Commodore would be selling many units anyhow) and to this date recalls that business decision as being one of the biggest missteps of his career, as surely pushing for the per-unit fee would have made him a millionaire much faster as Commodore was going to include Basic in every machine they would build.
Over the years, Commodore would expand on the core Basic interpreter and add new commands and features, some governed by the advances in technology (like the need to use a lightpen, as would be the case with the C128) and the needs of the programming community who wanted more robust functions built into Basic like DO, LOOP, WHILE etc. to avoid the use of the infernal GOTO and GOSUB entries.
Officially, the last Commodore Basic version would be V10, which would have been the OS for the infamous C65. Unfortunately, although it would have been by far the best 8-bit machine ever, the world was already living in 16-bit, with 32-bit just around the corner and it never got beyond the prototype stage. So the last version, to be commercially available, was V7.0, also known as C128 Basic. Next to enhancements to support new peripherals it also provided great new developer tools like a built-in sprite editor, advanced memory management, advanced sound and graphics handling and much more.
Some might argue that there actually was a version 8 released, but this was not an official Commodore release, but what I would call a Basic extension, just like Simon’s Basic. Where the latter would improve dramatically on the graphics side of things, especially if you were into drawing complex mathematical graphs, Walrusoft’s Basic V8 would extend the built-in V7.0 to support the C128’s 80-column mode (on RGB monitors) and supporting a whopping resolution of 640×192 pixels. This was one of the unique selling points of the package, as it would open up the true capabilities of the C128 on higher resolutions. The other unique selling point were the ready-made programs like “Basic Paint”, “Basic Write”, “Basic Calc” and “Workbench”. The latter would bring the world of a menu operated GUI, similar to GEOS, to the Commodore user and open up the world of, and here we’re full circle… Windows.