Workprint – June 2018

One ongoing project that’s been vexing me a little is the new C64CD game; the problem I’m having is with the name, which is basically six consonants from the latter half of the alphabet slung together pretty much at random which make it, as far as I can tell, unpronounceable. That wouldn’t be a problem except there’s always a chance I’ll need to talk face to face about this thing down the line and having to refer to it as “Thingybob” because I can’t pronounce my own game title would be embarrassing if I had any shame… perhaps I’ll just tell everybody that it’s pronounced “Thingybob”?

Anyway… the weekend saw me prodding around Vallation with the intention being to migrate to the latest version of Char Pad; this was mainly because it supports direct editing of the character set again rather than painting to the tiles, something which kept me away from every version after the first release. This transition would also mean a begrudging upgrade to my cheap and incredibly cheerless map converter which was originally written because the levels are stored as source code with each screen being a converted block of Char Pad map data followed by colour, exit and enemy data.

But on yanking the existing CTM files into the new version of the editor I discovered that the mode Vallation used which assigned thirty two bytes per tile with half of them being attribute data wasn’t supported in this updated Char Pad! Instead there’s an attribute byte per character so, if the byte for character $14 is set to red, every instance will appear in that colour and there has to be a second copy of the character if you want one in purple. But after muttering darkly about this for about half an hour whilst and prodding grumpily at the data, I realised that the bullet had actually been dodged because, apart from the four teleporter characters which ended up getting their own code, the tiles weren’t using more than one colour per character so converting it was actually possible.

It still took a quite few hours of juggling to sort out the existing levels, followed by rewrites to the tile plotters which updated how they handled colour, then some new code allowing each tile set could have a unique attribute table as well but, after three days scratching my head and swearing, for the most part at least all of those changes are invisible because it looks the same as before! On the plus side, there’s over 5K of memory saved on colour data and I can work in a far more comfortable version of Char Pad now, although the map converter was more cheerless than I remembered it being and will need further surgery sooner rather than later.

MD201706 (accelerated C64)

Another release so soon? MD201706 is merely a plotter with some cosmetic niceness, but the code is a little unusual; it needs a SuperCPU (which can be emulated in recent versions of VICE and, unless it’s lying, it should run on either PAL or NTSC) or the Turbo Chameleon set to 6MHz or faster in order to run. Its single buffered and can clear, update and draw four hundred points a frame courtesy of the expansion hardware. It isn’t fully using the capacity of either device, the current firmware of Chameleon with its speed set to “no limit” is slightly faster than the SuperCPU but I restricted myself to 6MHz in case that top speed changes downwards with future updates.

A few people are probably going to ask “why” and the simple answer is “because”, but I’d actually been prodding around my unrolled plotter which was used in MD201704 on the C128, using 2MHz mode in the borders and found myself wondering just what my Turbo Chameleon could do with it. Then Wolf 3D for the SuperCPU arrived and I decided to make my code run with both. As always, GitHub is the source for… erm, the source and questions can be passed on in the usual manner.

This is probably going to be the end of season two for the Monthly Demo series because I want to take a little break to work on games… and yes, I’m already braced for the influx of responses that’ll probably get, so will be running away before this post goes out!

WannaClone (C64 and Atari 8-bit)

Two releases for the price of one this time, although they’re built on the same block of scroller code. WannaCrypt for the C64 and Atari 8-bit is a teensy demo with a loose copy of the WannaCrypt decryption tool and a scrolling message which is, due to a discussion about simple encryption at the Atari Age forums, reversibly mangled using a couple of simple techniques. Here’s the C64 version which features an old but still golden tune composed by Marc “Skywave” Francois…

…and this is what it looks like on the Atari 8-bit with graphical help from José Pereira and accompanied by Miker on the POKEY. There are even vertical colour splits being used on this one!

The source code for both the C64 and Atari 8-bit versions are available at GitHub, although they don’t come with the painfully hacky BlitzMax tool which takes some text and creates a mashed up binary file.