Workprint – September 2018

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!

Workprint – August 2018

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.

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…