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!
I spent the previous weekend visiting family dahn sarf and, after a particularly harrowing coach trip home, had to spend a few days “recovering” so this post is a bit later than expected… on the plus side, I picked up a copy of Compute’s First Book Of Atari Graphics from the lovely folks at Level Up in Canterbury…
…which I hope is not too advanced for me! It even came with a hand-written page – poking out of the book in the picture above – of display lists as decimal from a previous owner which seems to have been used as a bookmark since it’s a few pages into the chapter titled Introduction To Player/Missile Graphics, one of the few places where the display list isn’t particularly relevant.
Sorry, drifted off a little there… so I’ve been working on the project I’m still not really talking about, although it’s probably safe to say I’ve been a little lazy recently; the intro is done and there’s two complete parts still waiting to be linked, but I haven’t found the time for a prolonged coding session to get any of that done and it’s one of those jobs I don’t want to stop halfway through for fear of losing my place. I also have a list of potential ideas which is coming along nicely and a couple of existing prototypes which can be improved and re-purposed so stuff is still happening.
I did find a couple of hours to doodle some code whilst away though; an interesting thread at the Plus/4 World forums mentioned using the registers $FF1A and $FF1B to scroll a bitmapped screen around in a form similar to AGSP on the C64 except without the “dead air” at the top of the screen, so I spent some time experimenting to get my head around it. The code I wrote works but this method only affects the bitmap itself so colour data would need to be moved by brute force, a bit of an ask considering the Plus/4 uses 2K for bitmapped graphics regardless of mode. It’s something to experiment with later, although I’m seeing an odd, almost FLI-like glitch in the version I wrote which added splits for a character-based scrolling message and can’t think for the life of me why it’d be there!
As noted a few times recently, I’ve cycled over into “demo mode” and have been working on… well, something that I’ll be keeping quiet about for a little while yet until it properly gets past that stage where it could be changed or indeed completely reinvented on a whim. Generally speaking though, my intention is to have something ready for X’2018 in early November – assuming we have a representative to take it along – and have a cluster of prototype routines along with some other ideas I’ve been meaning to try and a folder of logos because everybody loves logos… right?
Things have been going slowly but surely so far – today alone I somehow managed to metaphorically paint myself into a corner on two different occasions with what should’ve been relatively simple code, either choosing a less than sensible place to store things or simply running out of memory altogether – and, because it’s been a painfully long time since I worked on anything that wasn’t a onefiler, last week saw me sitting down and trying to get my head around cruncher and loader integration with some of the more recent iterations of popular tools with very little joy… at least until I discovered lft’s Spindle that is.
Spindle is, in essence, a back engine for demos which deals with loading and decompressing of data to the point where the user doesn’t need to be involved; no fighting assemblers to build loader or decruncher code, no messing around with building disk images of data, just document the files being used and the order they’re needed via a script file which is then run through Spindle to automagically get a working disk image out the far end. There are caveats of course – a couple of places in memory have to be avoided, something else I bumped into today – but having to do things just a teensy bit differently is worth it for the results.
Main project aside, there’s also been a little time spent generally doodling both with graphics and ideas for effects and a couple of forays onto other platforms; something might come of the latter if they survive testing on real hardware – in both cases the code was for a platform I don’t actually own right now, so that’s something of an issue – but at the very least it was all good practice.