Debunking De debunking “Secret squirrels”
For some time now I’ve been busy at work on some more articles which will be posted here soon, including continuations of the series about LOGO, as well as DRAWING THE LINE, and even an exposé of the buyers’ guide which convinced me it was OK to buy a Commodore 64. They will be named and shamed! In the meantime I thought I should take this opportunity to de debunk TMR’s post “Secret Squirrels”. Better late than never!
As noted in the previous post, we’re still all waiting for the author to save everybody from “Tramiel hell” but okay dear reader, your correspondent will put aside his current Atari 8-bit project and away we go.
Of course, by the time TMR’s recommended book “Programming The Commodore 64: The Definitive Guide” by Raeto West came out in about April 1985 (in the USA anyway)
Good programming guides take time to write; the excellent De Re Atari for the Atari 8-bit turned up three years after the release of the machine like Raeto West’s tome and Atari Roots took even longer.
Apart from all that, the book was published by “Compute!”, which I’ve already mentioned I had never heard of when I owned a Commodore 64. This explains why I never even read any of that book at a newsagent, a bookshop, or a library in 1985 or later.
The UK version was but that doesn’t have the Compute! branding. Your correspondent and friends found copies in libraries and specialist bookshops and there were also the options of mail order and the various computer shows as well, so the author’s ignorance of the book is completely irrelevant.
After downloading and reading most of the book “Programming the Commodore 64: The Definitive Guide” recently, I can tell you that like other books published by “Compute!”, it’s quite detailed and well written, but it seems that Raeto West is an expert on “Commodore computers”, so that suggests he learnt about the Commodore 64 in the same way as Jim Butterfield and others, by first of all studying the Commodore PET and/or VIC-20.
Yes, that’s the case with Raeto West because he’d already authored VIC 20 and PET/CBM equivalents of his C64 book by that point. But is it really all that surprising surprising to find out that a publisher would hire a technical writer with experience of multiple Commodore computers to write a guide about… a Commodore computer?
Teachers usually know more than their students and not all of that knowledge is passed on or indeed required.
It takes the book until page 201 out of about 611 pages to start teaching 6502 Assembly Language/Machine Code
That shouldn’t be a surprise either since it isn’t a dedicated machine code/assembly language book.
The book contains a very annoying statement about a deliberately planned design fault of the Commodore 64 done just to save money. This is that although Commodore PET computers needed a time consuming, troublesome, and expensive ROM upgrade to fit a new, debugged version of BASIC, this wasn’t “necessary” on the Commodore 64, because the BASIC could be copied from ROM into RAM, the BASIC ROM disabled, then the RAM BASIC edited or extended. This is exactly what was WRONG with the Commodore 64!!!!
Only according to the author of course, for all those thousands/tens of thousands of people who learnt to program on the C64 (many from West and Butterfield’s books) it wasn’t an issue at all. And, as noted previously, the C64 can also replace BASIC from cartridge and, although the author’s bias won’t allow him to understand why, this is a better solution than replacing the ROM because it also allows for compatibility – anyone wanting to run the original BASIC merely removes the cartridge.
TMR goes on to criticise Atari for not releasing any proper documentation for a couple of years. However, as the first Atari computers came out in 1979, this didn’t affect many people. Atari released more information called the “Technical User’s Notes” for $27 in 1981. Meanwhile, at least these early adopters had Atari BASIC, Atari LOGO, etc, which enabled them to do all kinds of things with their Atari computers.
Unless they wanted to write assembly language games like the ones Atari themselves were producing with hardware sprites, display lists or display list interrupts, because none of these hardware features are available from Atari BASIC and the documentation for assembly language programmers wasn’t readily available. So yes dear reader, your correspondent was critical of Atari for doing that just as many Atarians have done previously and, had the roles been reversed so Commodore kept important information from users, the author would no doubt have joined in too.
I think this program would have been even better if it had used hexadecimal numbers instead of decimal, though. Using decimal instead of hexadecimal was a limitation of the crappy Commodore BASIC V2
C64 BASIC programs can still use hexadecimal by reading the values into a string variable and converting them to decimal internally with some of those nice string handling commands it has. Some other dialects that the author has championed don’t have that option.