I know it’s late, I couldn’t wait

Debunking Hello again!

Hello again from me! I feel I must explain about what I‘ve been doing in recent months since my last blog entry on here.

During this time, I‘ve been continuing to think about the imminent destruction of Britain by Brexit turning it into an offshore tax haven, the “moat” seperating Britain from the rest of Europe, as well as applying for Irish citizenship and an Irish passport.

We could infer from this dear reader that the author struggles to think about more than one thing at a time since he hasn’t been able to post for several months whilst occupied merely thinking about Brexit and presumably doing some paperwork. Perhaps that’s why he so spectacularly failed to learn programming on the C64 back in the day and has yet to produce anything of significance on any other platform since, there was always something else stealing the majority of his worryingly finite mental resources.

After some time, I managed to get WinVICE running. This was a bit dificult, because there was more than one version installed and it didn‘t even seem to appear on the Start menu. I ended up putting some shortcuts for the C64, as well as the C128, and the Plus/4 on the Desktop and it‘s now working OK.

Because WinVICE doesn’t come as an install package it shouldn’t be a surprise to anybody that there aren’t any start menu shortcuts created whilst extracting the archive, these things don’t appear by magic after all. As for which executable to use – your correspondent is rather charitably assuming that the author wasn’t struggling simply because he had somehow ended up with two copies of WinVICE on his computer – it really isn’t even slightly difficult at all because, as the documentation that the author apparently didn’t read says, “two C64 emulators are provided: `x64′ (fast) and `x64sc’ (accurate)”.

I think that the most important commands, which C64 owners were crying out for, are COLOR N,N,N, to set the text and even graphics screen colours, SCREEN N, to set the display mode as text, multicoloured text (which I didn‘t even know existed when I owned a C64, thanks to Commodore‘s crappy manuals), multicolour graphics, and hires graphics, as well as LINE(x1,y1)-(x2,y2),c.

The author thinks that “C64 owners were crying out for” these specific BASIC commands without offering a shred of evidence to back his claim up. Considering how many C64s were sold it’d need to be a significant number of people complaining to be statistically relevant; if we significantly dial down all the numbers to make the mathematics simpler for the authors benefit to pretend that a mere ten million units were sold with each sale only representing just one user, even if the author could demonstrate that 100, 000 people actually wanted the commands he lists that would equate to just one percent of the total installed user base.

A very significant revelation in “The Advanced Machine Language Book of The Commodore 64” is made on page 140, where it says “If we have added our own tokens for our new commands using the previously described vector §304/$305, a special character is no longer necessary”!! This means that new commands wouldn‘t have to be prefixed by characters such as “!” or “@”.

That’s hardly a “significant revelation” dear reader, since there are BASIC extensions from the 1980s which don’t prefix their commands; this is something which the author should have noticed well before now during his “research” but apparently didn’t.

This will probably involve the use of two POKE commands to set the text cursor row as well as just the column, by using variables. This isn‘t possible using the Commodore 64 PRINT TAB(n) command, which only sets the column. Commodore‘s widely publicised way of dealing with this was to use strings of cursor up or cursor down control characters, in conjunction with the LEFT$, MID$, or even RIGHT$ command.

So despite there being a widely known and simple to implement work-around[1] which doesn’t require POKE commands, the author rather perversely doesn’t want to use it despite his previous whining. That says nothing about the C64 or its BASIC dear reader, but does speak several volumes about the author.

I think it could be an amazing experiment to get some Chimpanzees, babies, or toddlers to sit down with a Commodore 64 next to a computer running a version of Microsoft Extended BASIC, complete with instruction manuals, then see how they got on, but I don‘t think I could set this up. I think the end result would be quite predictable, though.

It would indeed be predictable dear reader but not in the way the author insinuates; his proposal involves groups of primates or humans who lack the required language skills for any dialect of BASIC so, unsurprisingly, the outcome is that none of these subjects are going to start programming on either machine or indeed consulting the provided manuals rather than trying to eat them.

[1] It’s not the only obvious work-around either, there are variations using PRINT commands in a loop to select the row and PRINT TAB to reach a specific column or multiple PRINT TABs working in unison (since they can cover a six character high area) and parts of these techniques can be mixed and matched with parts of the POKE-based solution as well.

Posted in Debunking | Tagged , , , , , ,

Release Notes – Hyperzap 2018 (C64)

Hyperzap 2018 is the first game release from C64CD, a gallery shoot ‘em up for the C64 based on a game your correspondent wrote over thirty years ago whilst learning how to program the C64 in assembly language. The original was both painfully simple as a game and technically terrible, but that was because your then teenage correspondent was working out features of the C64 hardware as he went from their entries in the C64 Programmer’s Reference Guide and implementing what was required for his project “on the fly”. The hardware-based sprite collisions which apparently vexed the author in the past were, after a little experimentation to understand how they operated, utilised.

Jumping forwards in time to the bank holiday weekend just a few days ago and your correspondent found his mind wandering a little more than usual – possibly due to the hot weather – and thinking about hardware-based sprite collisions; his code in 1987 was something of a bodge in part because the hardware collision system is somewhat limited[1] and erred on the side of caution by destroying anything registering as a collision to make sure nothing was missed, but perhaps there was a way to handle things with more accuracy? That’s where Hyperzap 2018 comes in dear reader, because the bulk of the main code was written in around four hours on bank holiday Monday to test your correspondent’s cheap but cheerful solution!

Please don’t expect amazing things from Hyperzap 2018 dear reader because it’s very simple fare and deliberately so – that shouldn’t come as a surprise considering the development time – but games like this and the demos we’ve looked at previously are, despite the author’s bizarre and rather pointless fixation about drawing lines, the sort of thing that 8-bit programmers would actually write whilst learning and your correspondent points to himself as one of many examples along with the developers behind some of the games that loosely inspired the original Hyperzap like Pirates In Hyperspace from 1986 or the public domain release Kernal’s Chaos which was originally shared via Compunet in 1987.

Hyperzap 2018 (C64)

The author has endlessly lectured his readers on programming but we have to note once more that he doesn’t actually release anything himself – very much a case of talking the talk whilst failing quite spectacularly to appropriately perambulate it would seem – but this might be his chance for some redemption; after all, he’s said how much easier the other 8-bit systems are to program compared to the C64 so, if that really is the case, writing a similarly simple little action game for one of his favoured platforms which matches the 50 frames per second (or indeed 60FPS on NTSC) action of your correspondent’s little game should be a walk in the park for him [2].

[1] Sprite to sprite collisions are handled by a register where the eight bits of one byte represent the sprites; if a bit is set that sprite is colliding with another, but that’s all the hardware really tells the programmer so further checks are needed.

[2] No dear reader, your correspondent really doesn’t expect the author will do this… or indeed any actual programming despite several promises over the years.

Posted in Programming | Tagged , , , , , , , , ,

Perhaps it shrunk in the wash?

The author has been surprisingly quiet of late dear reader[1], especially considering the release of TheC64 Mini during March; there was a deluge of posts, news items and videos on social media so your correspondent has been half expecting a trite little bile-laden emission from the author after the massive online outpouring of love for the C64 and indeed this new device that the launch created, presumably applying his “I know best” attitude in order to tell everybody else they’re wrong merely because he says so.

For those who aren’t already aware, TheC64 Mini is a scaled down reproduction of the breadbin C64 so despised by the author, containing an ARM processor which in turn powers an emulator and a front end to select games with; there are, appropriately enough, sixty four titles to choose from including a couple of your correspondent’s all-time favourites[2] and pretty much the entire list looks to be decent.

There are a couple of USB ports on the side – one for the included joystick which is apparently a less sturdy copy of the classic Competition Pro – and video output is via HDMI at the back.

Just as interestingly for C64CD readers is Commodore BASIC V2 being available from the main menu and this inclusion isn’t merely a gimmick either; a disk image can be mounted from a USB stick and BASIC then used to “side load” other games to play on the system. Having the BASIC interpreter there also means that programs could be written in BASIC or, with the appropriate tools, assembly language on TheC64 Mini in the same way that they are on a regular C64, although an external keyboard will be required since the one included on the unit is merely decorative.

TheC64 Mini is currently available from Argos, Game, Smyths and a plethora of other sources, usually priced somewhere between £64.99 and £69.99 depending on the seller. Your correspondent hasn’t purchased one[3] but feels that this product isn’t really aimed at people like him who already have a C64 or five lying around the front room; instead TheC64 Mini is for all of those people with fond memories of the C64 from the 1980s and 1990s.

[1] That is probably for the best since most of what appeared in his most recent posts was off topic drivel about operating systems.

[2] Io and Armalyte if anybody was wondering, although Uridium is also close to the top of that list.

[3] The promised full size unit is at least a possibility depending on feature set, price and if your correspondent’s wife will murder him for buying it.

Posted in Commentary, Meta Discussion | Tagged , ,