Watching Charlatan (C64)

Since I’m in a demo-ish mood, let’s do something different and watch a demo rather than playing a game! Charlatan by Solomon of the Beyond Force was released in early 1989 and, after the relatively simple intro, launches into a part which was incredibly impressive at the time since it moved a rainbow of colours around in ways that seemed impossible. The heart of this demo is an FLI routine in all but name – Solomon is credited with having pioneered the routine but didn’t christen it, that came later – which forces the VIC-II to fetch colour data on each raster line rather than for every character row. That display routine is paired up with a processor-intensive chunk of code which refreshes the colour data for that part of the screen once per frame.

At the time it was released the results were absolutely stunning and I remember it just leaving me completely gobsmacked; I just about understood how regular vertical colour splits worked enough to realise that it couldn’t be done that way and I was almost fooled by the baloney in the scrolltext since the only other solution would have been characters and the effect was displaying far too much colour to be handled that way. It eventually took my friend Matt who was a far better coder than me prodding around and working out that it relied on VIC-II “features” and, once aware of that, I did produce something similar which worked in a similar way to Charlatan‘s wonderfully hypnotic sort-of-sequel Splitter did.

It could have been a teensy bit tidier around the edges – the timing at the top of the screen isn’t stable and the grey area could have been blanked simply by enabling multicolour mode and changing the bit pattern for the part of the screen where the effect is – but Charlatan was released during the early, “Wild West” era of demo coding when getting an innovative new routine out into the world was as important if not more so than aesthetic concerns. And the movement of both the FLI effect and the animation are still hypnotic after nearly thirty years, which was the primary motivation for my “remaking” the former for MD201509 a few years back…

Randomly musing about NTSC

So I make a nuisance of myself on Twitter from time to time… not much because that’s not my “style” but every now and then something interesting will come up and I stick my metaphorical oar in. For example, a tweet drifted through my feed from Joseph W. which said…

It’s regrettable that the NTSC C64 demoscene never really took off. I know there are some technical reasons why, but there were still some pretty nice demos that came out of NTSC groups.

My response was that “being cordoned off from the PAL scene meant the one-upmanship that drove and indeed still drives demo dev wasn’t there” because, essentially, the coders in NTSC territories saw a small fraction of what was being churned out in industrial quantities over in PAL land and the most technically impressive pieces of code required cycle accuracy and ate all of the available processing power on each frame so wouldn’t run on American or Canadian machines. It’d be difficult to devise uses for some of the VIC-II’s “features” in a vacuum or pick through PAL code that wasn’t running correctly on their machines but, even when emulation unified things a little, the NTSC scene didn’t really seem to evolve.

I have fond memories of the NTSC demo scene in the mid to late 1990s because I was a small part of it; I spent quite a bit of time on the relevant IRC channels, joined Canadian-based Carcass for a while to contribute code and graphics to a couple of releases and, along with contributing to disk magazine Driven on a few occasions with a mixture of articles and the occasional bitmapped logo, I also entered all three of their 4Kdemo competitions and won two! But at the same time, that didn’t bode well for the NTSC scene if PAL bunnies could rock up and beat the “local talent” like that and, despite there being a couple of driving forces like Coolhand trying to keep things rolling, it still ground to a halt eventually…

In response to my tweet, Joseph W. went on to say…

I suppose it would be pointless to make a NTSC demo these days.

…but I’m not sure that’s the case any more than it could be said of other “niche markets” like demos for the C128, SuperCPU or REU-equipped machines. Making demos is primarily done for fun anyway so, if someone felt that they’d get enjoyment from focusing on doing NTSC-specific C64 releases then they should and VICE can handle pretty much anything they’ll throw at it so the rest of us get to enjoy the results. I’ve been sidetracked by demo code since the weekend myself and it’s very tempting to NTSC fix some of my prototype code and throw something together right now…

Workprint – July 2018

Things have been a little rough of late with everything being topped off with our thirteen-year-old dog King passing away on the 7th of June – he arrived here at the start of 2005 as a small, six week old bundle of fluff. I haven’t really been in a fit state for much of anything since then – I pretty much kept up with Retro Gamer and tried “powering through” and sticking to my blog schedules but only managed about half of the “planned” posts – and I was even quieter than usual on social media which is something of an achievement I suppose? I’ve just realised whilst writing this that it happened almost a month ago, but I’m still getting the occasional wobble when it would have been his dinner time…

I haven’t done much code since then, but the bulk of what I’ve written during that period has been “busy work” to keep my mind occupied more than anything else. Vallation hasn’t seen any attention because I didn’t dare sit down with anything that complicated where I could easily lose concentration halfway through modifying something important and leave myself with a steaming mess to knock the bugs out of later… I’m perfectly capable of doing things like that often enough as it is without any external encouragement!

One of the distractions was writing a game for the Spectrum for release under the C64CD brand. It’s pretty much done apart from needing quite a bit more level data, but now it’s that close to complete I’m sort of committed to finishing it as an entry for the venerable CSS Crap Game Competition. It’s crap in the sense that it’s incredibly simple as a game and my Z80 is shockingly bad to the point where I’m considering a disclaimer when the source goes up to Github warning people that it’s not there as a “learning tool” unless being used as an example of how things really shouldn’t be done. That doesn’t stop me being almost perversely proud of it for some reason?