Debunking Down at the Computer Club
It’s getting somewhat difficult to tell where the author’s fantasies stop and the reported reality is meant to start – for example, the latest missive begins with…
I went along to a local computer club to have a look at various computers being used, even before I’d bought one. During my visits there, I saw various computers, including the Apple ][e, BBC Micro, Sinclair Spectrum, Commodore 64, Sinclair ZX81, Oric 1, and Sinclair QL. After one or two visits, I had bought a Commodore 64.
… so your correspondent is assuming this is a work of fiction since that paragraph doesn’t entirely tally with previous versions of events where he’s said “Unfortunately, I’ve never owned an Atari 8 bit computer, although it was nearly my first computer, but my Dad (RIP) was lending me the money to buy a computer, then he suddenly got obsessed with the Commodore 64, due to Commodore’s business image, compared with Atari’s games image”. It isn’t a direct contradiction, but enough to draw a question mark over the account but, since it’s been presented without any statements to the contrary, we’ll treat it as what we’ll laughingly call “fact” for want of a better word.
I had changed the sprite to look like Doctor Who’s TARDIS and managed to display a second sprite identical to the first, then managed to get the two sprites to cross each other’s paths.
Of course, the “sprite” the author provides to illustrate his story isn’t possible and at best would need to be two high resolution sprites overlaid. Here’s a real single sprite TARDIS that, whilst only being quickly drawn by your correspondent, does demonstrate how easy it would actually be to produce something that wasn’t just fantasy:
After this, I asked the Commodore 64 group leader to show me some collision detection. He explained something which sounded too technical for me, then added some more commands to my program and after a little while, there were some numbers being displayed in the top left hand corner, which changed when the two TARDIS shaped sprites collided.
The “too technical” thing is of course the hardware sprite collision register; the C64 uses a reasonably simple system where one bit in the register represents one of the eight hardware sprites – read the register, check specific bits with those nice bitwise commands Commodore BASIC V2 has (that some others the author has recommended as alternatives don’t) and hey presto, your slow-moving BASIC-driven sprites can now bump into each other. Okay, to the author’s mind that might seem complicated and perhaps to a beginner it would be as well (your correspondent isn’t sure he can remember that far back to begin with, but has explained the idea to many newly-minted programmers in the past) but looking through other 8-bit BASIC dialects doesn’t reveal that much in the way of user-friendly commands to handle these events anywhere else.
After this, I asked the group leader the obvious next question, which was how could I make the sprites bounce off each other and head in different directions. His answer was “Oh, that would be VERY complicated!”
Two objects “bouncing” off each other might seem an obvious step to someone that close to being a beginner, but it’s far more complicated to implement well than the author apparently feels it should be and the author’s miscomprehension here, as with previous posts, is that this is somehow the fault of the C64’s BASIC but there aren’t commands in his favoured Atari 8-bit BASIC for this kind of thing either or indeed any other dialect that your correspondent is aware of.