Workprint – October 2018

I joked in the scroller for Demo Factory 2018 last week about my X entry ending up as just a couple of parts with loads of effect presets to pad it out, but the party is only a month away now and progress on my demo really hasn’t really been… well, progressing. Part of the problem is my damned shoulder, it’s been “frozen” since the end of 2017 so, whilst working at a computer isn’t an issue in the short term, the longer sessions required for larger projects are proving problematic, leaving me in need of painkillers. I’ll have to see how things go over the next week or so and, if it’s not going anywhere fast, perhaps consider a “plan B”.

In slightly happier news I have a new toy which is pictured above. It’s a Pi1541 and is essentially a Raspberry Pi model 3B+ wearing a magical hat that, with the right software installed, makes it pretend to be a Commodore 1541 floppy drive including emulating the electronics. I haven’t had much time to test things since the hat only arrived in the post this afternoon from Australia, but the Pi’s micro SD card has been set up and I’ve tried loading a couple of demos on the C64; from what I’ve seen so far at least, it knocks the SD2IEC into a cocked hat despite being not much more expensive. It’s intended for use on my VIC 20 but I’ve been keeping an eye out for a C16 or Plus/4 although that search hasn’t been particularly fruitful, one of the latter arrived a few weeks ago but won’t even power up so is going back – which will be able to utilise it as well.

Finally, something interesting which made me happy as it floated past in my Twitter feed this morning was a YouTube video posted by Adrian Black about the C64C he was given which had spent a decade braving the elements of Oregon to the point where a colony of ants had moved in. The video itself is a heartwarming tale of a little 8-bit that could but one thing that made me smile was Adrian’s demo of choice for testing the machine was SIDBurners 7; only the Nostalgia intro appears in his video but the main menu code on that one was mine!

Watching Logo Demo (Plus/4)

Logo Demo from 1990 prominently features, as the name suggests, a large logo which was actually won in competition by a previous release of the programmer! Plus/4 scene stalwarts Muffbusters ran a 20 blocks democompo a little earlier in that year where the prize on offer for the winner was a bespoke logo drawn by group member Jeva and it was developer CSM who took the top spot with his release 20 Blocks. Two of the other three entries appear to have been lost to the mists of time, but third place was taken by a demo also called 20 Blocks which was a rough around the edges port of Moz(IC)art’s Luminous from the C64.

Along with that large, golden logo taking pride of place at the top of the screen and an area below it occupied by some blue colour splits – that routine is important, so we’ll cover it in more detail soon – there’s also a long scrolling message and the visuals are accompanied by a fairly short but still jolly piece of converted music which burbles away to itself in the background. The original SID version of the tune is credited to the Maniacs Of Noise in the scroller, but isn’t a piece I recognise even after spending a fruitless but nonetheless entertaining hour trawling through the relevant folders of the High Voltage SID Collection.

The entry for Logo Demo at Plus/4 World reliably informs us that the colour splitting routine CSM created was actually a significant piece of demoscene history for the machine, being the first time that abybody had managed to vertically split the border colour register so that there’s a different set of colours on each side of the screen. There’s also some neat multicolour character use to handle the transition of colours on the screen itself, which allows the split to swing smoothly back and forth… although I can’t help thinking that the colour tables themselves could have taken greater advantage of the platform’s 121 colour palette. That niggle aside though, this is a fun release which features a decent tune, some tidy graphics and a groundbreaking effect on the Plus/4.

Demo Factory 2018 (C64)

Okay, so between writing the first draft of Saturday’s post rambling about the development of Demo Factory and actually pushing it out to the world I found myself pondering ways to rework it and… well, sort of accidentally wrote a complete, upgraded version! Demo Factory 2018 has been through a few iterations since that first build, but the final code was finished in the early hours of this morning. The music this time is from the game Ninja Rabbits and was composed by Sean Connolly, whilst the general layout of the screen was based on the original 1976 release with some tweaks to add new features. After that, everything else was pretty much built from scratch.

In some respects at least this version works in the same way as the original Demo Factory, relying on the C64’s hardware-based sprite to background priority register for the disks – that’s why one of the character multicolours is black in both versions, those parts of the graphics can never have a higher priority than the sprites so the moving floppies are actually passing in front of those parts of the background – but the sprite-based part of the scroller has to work differently, with the left hand character being a sprite that’s being masked in software so it can pass behind the black part of the pipe regardless of the letter’s current colour.

Although there’s one highlighted effect running in the box labelled “VFX” there are also two starfield-like routines, the animating “SFX” cone and a couple of other, smaller elements which are mostly being refreshed every frame – the moving arrows are shifted every second frame because they don’t look as pretty moving faster and things like flashing lights change only when needed – and that lot are all handled with either character redefinition or simply changing the screen or colour RAM. The only hardware sprites in use are the eight floppies which are either on or sitting by the lower conveyor, the last three characters of the scroller as it falls from the upper belt and one expanded sprite which displays the character that’s just about to appear for the scroll.

I did consider saving Demo Factory 2018 for the CSDb intro competition if it happens this year – the highest byte of memory used is $3FFF since the upper and lower borders are open and the ghostbyte needed to be zeroed so the code is small enough and it does technically feature a logo – but it feels more appropriate to put it out now alongside my fevered ramblings about the original. The source code has been cleaned up and can be squinted at courtesy of GitHub for those who might be so inclined.