Debunking Why was the Commodore 64 such crap?!
There are errors in all three of the points in this post, some of which contradict later postings but those will be discussed when reached.
1. It was a revamped version of a failed games console called the Commodore Max, which was only released in Japan. It should never been marketed as or called a computer.
This is of course untrue. The original purpose for the VIC-II and SID chips when work started in January 1981 was to build a next generation games console but the Max and C64 were developed at the same time by two different engineering divisions at Commodore. Even ignoring the different names offered by various sources for the people involved in each project, this is obvious when the facts are considered; the chips were completed in November 1981 and the Max went on sale early 1982 whilst the C64 debuted at CES in January the same year. Somehow the Max would have had to fail before that unveiling of the C64 or indeed before it was released, not really possible unless one of the unnamed developers was Doctor John Smith…
2. It didn’t have 64K RAM. There may have been 64K of RAM chips in the Commodore 64, but it was impossible to access 64K RAM, no matter what programming language you used, due to gobbledegook excuses such as “some memory locations can be RAM or ROM” and “some chips overlay portions of the RAM”. WTF?!
WTF indeed, because slightly more than 64K is indeed available from machine code once the shadowed ROMs are turned off. Using the RAM beneath those ROMs is documented in the C64 Programmer’s Reference Guide and just about any other book about the C64, but the cheap and cheerful way to get at over 60K straight away is SEI / LDA #$35 / STA $01 – the only caveat is that, if the ROMs are disabled the programmer has to deal with the functions like interrupts they would normally do, again this is all documented and there’s no dark arts involved in making it work.
And it should probably be noted at this point that the C64 wasn’t the only machine using ROM shadowing, 6502 and Z80 processors can only address 64K so most machines had to use some kind of banking scheme to have 64K and ROMs; the specifics may vary, but the result is similar and in some cases there are machines claiming 64K which had less available RAM so singling the C64 out for a reasonable implementation of something so common is ridiculous.
3. The version of BASIC on the Commodore 64 wasn’t even written for the Commodore 64, but recycled from years before. It was standard PET BASIC, as used on Commodore PET computers from 1977 onwards!
This part is actually correct, although again it’s rather unfair to single the C64 out for having a limited or primitive BASIC when other machines were hardly perfect; BASIC as a learning language was already being frowned at by academics by that time (or at least the variants in the majority of 8-bits that didn’t promote structured programming) so very few of the implementations around were considered to be anything more than a toy.
The on board Commodore 64 BASIC, on ROM like almost all other computers, never had any commands added to it, which could have been done with a ROM upgrade. ROM upgrades were offered by Sinclair, and Atari, amongst others.
The problem here is that the author doesn’t really understand the workings of the C64; Commodore didn’t need to offer ROM upgrades because the BASIC could be banked out and replaced by a different ROM held on a cartridge. Simon’s BASIC (which will be discussed at further length later when the author ironically takes a pop at Commodore for offering a replacement for BASIC) was indeed a ROM upgrade akin to those offered by other computer manufacturers, it just didn’t require a trip to an authorised service centre or the confidence to pop a machine open to install it.