Since C64CD has been running for over three years at the time of writing, it seems a good idea to your correspondent to add a proper Frequently Asked Questions page.
QUESTIONS ABOUT THE PLAYERS
Q: Who is “the author”?
A: This is the less than affectionate title used to refer to the owner of Commodore64Crap.Wordpress.com where he goes by the name C64Hater, although your correspondent also knows him as SIO99 from the Atari Age forums. The author owned a C64 between 1984 and 1985, during which time he failed abysmally to learn programming to any significant level. He erroneously believes this was because the BASIC dialect shipped with the computer rather than his own inability and randomly blames that on some of the people behind it including Commodore founder Jack Tramiel and the editor of a buyer’s guide for home computers which was published in the UK during the mid 1980s.
He’s also childishly compared his experience of owning a C64 in the 1980s to being “like rape” and expressed a hope that the editor of The A-Z Of Personal Computers had “come to a sticky end”, commenting that he felt a “suitable fate would have been to be repeatedly mugged”.
The author started his “bash blog” on the 5th of August 2012 – having previously been laughed at in the usually Commodore-hostile environment of Atari Age’s Atari 8-bit Computers section – claiming it would “[expose] how and why the Commodore 64 was crap and just a games console masquerading as a computer” but, apart from a tiny amount of personal “experience” and quite a bit of ranting about The A-Z Of Personal Computers and his parents, the author’s focus has been as much on the C64’s contemporaries as it was the machine itself. The majority of his “exposing” is either “factually challenged”, twisted out of context to fit a specific “argument” against the C64 or based on an already biased source.
And despite three years of writing about programming the author’s abilities are extremely limited and he has yet to complete a substantial project.
Q: Who is “your correspondent”?
A: Your correspondent more often than not will respond to his given name Jason or more often to T.M.R, a contraction of The Magic Roundabout which has been his demo scene handle since the 1990s. He spends his days acting as an all-round technical support person whilst nights are put aside for working as a freelance games journalist (something that never ceases to amaze him even after several years of doing it) writing for a number of publications about new games on 1980s and 1990s hardware as well as independently developed titles on current systems.
Your correspondent would also describe himself as a reasonably seasoned programmer with around three decades of experience under his belt; the primary focus since the mid 1980s has been the C64, but he also has game and demo releases for the other Commodore 8-bits, Amstrad CPC, Atari 8-bit computer series and Sinclair Spectrum along with some Windows-based development tools written in BlitzMax and quite a bit of work-in-progress code for platforms such as the Apple II, BBC Micro, Acorn Electron and Atari 2600, of which some may actually see the light of day!
Your correspondent also has absolutely no doubts that many of the people who’ve previously laughed at SIO99’s obsession with the C64’s BASIC at the Atari Age forums also feel that starting a bash blog in order to correct posts from another bash blog is a somewhat childish course of action but, whilst that may well be true, your correspondent replies with a fourth Doctor quote; “there’s no point being grown up if you can’t be childish sometimes”.
Q: Who was Jack Tramiel
A: In the context of this website he was the founder and CEO of C64 manufacturer Commodore Business Machines and later the saviour of at least part of Atari after Warner Communications and the American video game crash had run it pretty much into the ground. Tramiel was an Auschwitz survivor and spent over five years in various labour camps during the second World War before moving to America and starting a new life with next to nothing. His story is, of course, significantly more complicated and there’s a proper article over at Wikipedia about him for further reading.
QUESTIONS ABOUT THINGS
Q: What is the Commodore 64?
A: The Commodore 64 (referred to throughout this website as the C64 for brevity) is an 8-bit home computer released by Commodore in late 1982 to the American market and early 1983 in Europe. The Guinness Book of World Records has listed the C64 as the highest selling single computer model of all time because, whilst the design was reworked in the mid 1980s to reduce production costs and take advantage of new fabrication processes, the last machine off the production line in 1993 was compatible with the first.
The C64 uses a 6502 variant called the 6510 which is just a minor reworking to add some specific functionality that was required for the C64’s architecture. Graphics are provided by the VIC-II chip which offers, amongst other things, has a sixteen colour palette, 320 by 200 or 160 by 200 pixel resolution depending on display mode, hardware smooth scrolling and eight hardware sprites which are 24 by 21 or 12 by 21 pixels, again depending on selected mode. Sound comes from the SID chip which is still popular amongst independent (and sometimes mainstream) musicians to this day.
Q: What is Commodore64Crap.Wordpress.com
A: A “bash blog” set up by the author to air what he considers to be grievances about the C64. The content is a mixture of unqualified personal opinion, half truths based on the author’s own interpretation of what he has read on the internet and (sometimes deliberate) misinterpretations of actual facts. The primary focus was originally declared as “how and why the Commodore 64 was crap and just a games console masquerading as a computer” but, at the time of writing, the stated aim appears to be “explaining why the Commodore 64’s BASIC V2 was crap and how some people managed to program the C64” despite author not being equipped with the knowledge to answer that question.
The blog itself is built on several fallacies, the most prominent of which is the author’s belief that his personal experience somehow overrides those of millions of satisfied C64 owners. The author originally stated that he was “trying to limit [his] blog to the period early 1984 to April 1985, when [he] owned a Commodore 64“ presumably to remove the impact of vast amounts of software released after that date on his “arguments”, but has merrily cherry picked both software and hardware from outside that time period when he feels a particular nugget can be twisted into use as a “weapon” against the C64.
A skewed definition of the term “user friendly” has often been employed as well which apparently includes computers which were “supplied with versions of the programming language BASIC, which supported their hardware” regardless of their actual user friendliness. There have also been several moments of “over sharing” where the author’s childhood is discussed as though it has some bearing, a few journeys into the land of fiction to contend with (which are only sometimes signposted as such) and the odd reference to the venerable science fiction television series Doctor Who thrown in, usually regardless of relevancy or indeed accuracy.
Q: What is C64CrapDebunk.Wordpress.com
A: Well that’ll be this blog, which is usually referred to as C64CD to make it easier to type. It was started after the author refused to accept a comment pointing out specific errors on his blog; your correspondent decided that, rather than submit further comments only to have them arrogantly ignored in the same way, that he would instead amuse himself by starting his own blog to debunk the author’s bogus claims and point out his more glaring moments of hypocrisy or hyperbole.
C64CD’s writing style came about because your correspondent wanted to try something different to the way he usually creates articles; it has been based loosely on the faux tabloid format employed at venerable IT news website The Register because it seemed amusingly appropriate. The editing is somewhat scrappy because your correspondent doesn’t exactly put a massive amount of time into what he’s doing, and there isn’t much in the way of promotion done either although that has changed over time in part because other people felt it was necessary.
As of September 2015 C64CD is also a one-person “demo crew” releasing small demos for the C64 and other 8-bit systems written by your correspondent; most of these releases are based on existing demos released during the 1980s or 1990s that are covered by the ongoing Code Notes series on this blog and the demos themselves can be found behind the Programs tab in the website’s menu.
Q: How much memory does the C64 actually have?
A: As the name might suggest, there is 64K of main memory. That’s augmented by a further one thousand nybbles of colour RAM and some further space for the various I/O registers.
Q: So where does that 38K thing come from?
A: That’s the memory available for BASIC programs; this is why the C64 powers up with the message “38911 BASIC bytes free”. The space available is from $0801 (below this point are the default screen RAM and assorted work spaces used by the processor and system ROMs to maintain BASIC) to $9FFF (because $A000 onwards is where the BASIC ROM itself sits in memory).
Q: So that means everything for a BASIC program has to sit in that space?
A: Only the BASIC program itself is limited, but an executing program can also use memory outside that space in the cassette buffer or the 4K chunk of spare RAM at $C000 onwards for various tasks without any effort. Things like graphics can also be placed “under” the ROMs with a little more programming trickery.
Q: Isn’t 38K for BASIC programs small for a 64K computer?
A: A 64K Atari 8-bit has about 1K less memory available to BASIC programs and a 64K Amstrad CPC has around 2K more, so the C64 is sat somewhere in the middle.
Q: And how hard is it to actually use the C64’s RAM from machine code?
A: It depends on the competency of the programmer; turning off just the BASIC ROM will give a contiguous block of 51K which requires just two assembly language commands and almost no prior planning. Disabling all of the ROMs is a little trickier (the programmer’s own routines will need to take over from the ones supplied as part of the ROM) but that frees everything apart from the first two bytes of memory and the space under I/O, the latter of which which can be used with further care. Many programs use at least some of this extra space with no problems.
All of the techniques are well documented in programming books of the time including the venerable Commodore 64 Programmer’s Reference Guide from Commodore themselves.
Q: How primitive is the C64’s BASIC?
A: The author insists that specific graphics and sound commands are somehow vital to learning programming despite apparently failing to properly do so during his own exposure to more feature-laden BASIC dialects such as those for the BBC Micro or Commodore 128. But Commodore BASIC V2 does have the commands required to teach the important things a would-be programmer needs to know such as program logic and structure so in that respect it’s pretty much in line with most other 8-bit computers and even superior to some of the competition.
It does however lack commands for the features supplied by the VIC-II and SID chips, so accessing these facilities has to be done via POKE commands which write to the actual registers.
Q: And how important was having a feature filled BASIC?
A: Well, it wasn’t particularly important for the majority of 1980s computer users; most people were more interested in using existing games or productivity software rather than programming their own – as long as the software was actually there, these people just purchased what they required and simply got on with it.
For the people who did want to learn, bespoke commands for bitmapped graphics or sound do seem handy in the short term but can be something of a double edged sword when things get serious. Much as the author hates it, the C64’s BASIC forced would-be programmers to deal with the hardware registers directly with POKE commands which, for those who retained an interest, made the transition to assembly language easier since those register writes translated directly. On the C64 the border colour is set to black from BASIC with POKE 53280,0 and that becomes LDA #0 / STA 53280 in assembly language (note how the numbers remain the same), the equivalent command BORDER 0 on the Spectrum turned into the far less obvious LD A,0 / OUT (254),A