Debunking Fixing C64 BASIC V2 in 750 bytes!
So we’re nearly four months on from the author’s claim that he would free us from “Tramiel hell” but to date there’s no sign of change. What happened to the new BASIC interpreter dear reader?!
In their Volume 4, Issue 4 edition, dated July 1983, there was an article with a type in listing called “Graphics Utility”, written by a well known Commodore PET programmer called Brad Templeton. Obviously, this program was written only a few months after the Commodore 64 came out, so there was no way anyone could have learnt how to program many things on it by that time, if it had been their first computer.
Very few learner programmers can just pick their first machine up and do “many things” in a short space of time, the C64 is no different to any other in that respect so singling it out in this way is stupidity.
To sum up, my point is that before programming the Commodore 64 he had programmed the PET and used computers for at least THREE YEARS before this amazing program “Graphics Utility” was published.
It’s called “experience” and more complicated programming tasks require it regardless of platform. The people who wrote the graphics code stored in ROM for the Atari 8-bit or Sinclair Spectrum had years of experience with other machines too. But that doesn’t mean that newly minted programmers aren’t able to do anything with a computer at all so the author has once more made a completely pointless “point”.
The most important thing about this article is that it makes the point that extended BASICs are no good for writing “transportable programs” which will run on someone else’s Commodore 64.
And as your correspondent has pointed out previously dear reader, this is also exactly the problem with any computer where BASIC has been modified in some form during its lifespan as well. The author mentions in his previous paragraph that the listing did things that the “Apple ][ computers could already do in their dialects of BASIC” but that isn’t true; some Apple II computers could do it but not others because they didn’t have the right BASIC.
From this and the general tone of this article, we can conclude that these routines were made to be redistributed without paying any royalty fees! This means that Brad Templeton and The Transactor magazine actually more or less fixed Commodore 64 BASIC V2 in mid 1983 in a magazine published by Commodore!!!!
The author has been whining for a couple of years now but your correspondent mentioned small listings similar to this one previously. It isn’t just a single type-in in one magazine either, Transactor encouraged other magazines to republish it’s code (the copyright notice on that issue says as much) and other people wrote similar support routines so these snippets were available from many magazines as well as through public domain services and “peer to peer”. It’s nice to see he’s finally catching up…
Also, that issue of Transactor wasn’t published by Commodore.
I tried disassembling this code in the C128 built in MONITOR, to try and work it out, but I found that a lot of the code was opcodes I haven’t yet studied and some of it wouldn’t disassemble at all, just listing ??? instead of a disassembly.
Because there are very few machine code programs that are pure code, the parts which aren’t disassembling will either be data used by the program or possibly artifacts from a previous iteration of the code depending on how it was written.
I think that what was desperately needed at this point was for Commodore to include a cassette of this amazing software, as well as a copy of the original article accompanying it, with every single Commodore 64 sold anywhere in the World from that point in time!
If it were “desperately needed” there wouldn’t have been tens of thousands of people succeeding at learning to code on the C64 without it. So whilst it might have been “desperately needed” by a minority which presumably includes the author (and we have no idea how small this group may actually be) that’s nowhere near enough demand to require more than the existing magazine and public domain based distribution; anybody who really needed that help could find it if they put the effort in.
Not long after this, they could have incorporated these routines into their BASIC ROM and actually given them names, such as LRG, DRAW, PLOT, POINT, and TEXT. Don’t forget that this Machine Code program only took up 750 bytes. The Commodore BASIC V2 ROM on the C64 was 8K, but it was only one of FOUR ROMs in the C64, so don’t bother telling me this couldn’t have been done! I rest my case.
Sometimes the author makes an exceptionally large and stupid leap of faith even by his own standards but this one is pushing the limits! Skipping over the obvious factual errors and some of the dim-witted “logic” we’ll skip ahead to the most important question; how easy or otherwise it would be to find 750 bytes of unused space? Well, it’s at least theoretically possible to find a bit of wiggle room but that’s a relatively huge space to claw back even before the extra space required for the commands themselves and the code required to parse those commands is taken into consideration.
So no, it isn’t possible merely because the author says so and all he’s demonstrated is his woeful lack of understanding. Case still very much open, dear reader.