Here Goes (C64) released

So here we go with Here Goes, my first entry into the Intro Creation Competition for 2019 and, as promised yesterday, it’s for the 4K category; despite the limited memory footprint it’s still got 200 scanlines worth of raster colours, the logo and scrolling message required for all entries and a piece of music from Sack; the latter is a SID cover of the Amiga module Freeman which comes in at under 950 bytes long when Goattracker has finished weaving it’s magic!

The memory footprint for this one is a close to the wire $0400 to $13ff and a smattering of zero page use, with the screen data being decompressed directly to $0400 before the code starts up to save having to keep a second copy somewhere else beforehand. The source code can be grabbed from GitHub for anybody who might enjoy prodding around my slightly spaghetti-like code…

Releasing Level One (C64)

We’ve reached the end game for 2018’s Intro Creation Competition so there’s been an inrush of new releases over the last couple of days including one last contribution from yours truly with the ever patient Andy Vaisey on music. It went through a few names but Level One was the final choice simply because it looks somewhat like a game.

The scrolling area takes up the entire regular screen – 39 visible characters across by 25 down – and is being moved using a double buffered scroll routine similar to the ones employed by games which in turn leans on some Run-Length Encoded background data. It also uses the C64’s Extended Colour Mode so, although there are only 64 characters available in the font, it can have four possible background colours for each character so I don’t have to scroll the colour RAM.

Something a little trickier is happening in the black bands above and below the scrolling; these are ten pixels high and sat in the borders, but containing a seven character wide Cosine logo and nineteen characters of either static text or scrolling message. To get twenty six characters into that space the code has to abuse the ghostbyte, splitting it at five points on each scanline to produce the extra two characters (they’re at the far left and right of the screen on both lines) and mask off the raster bars for the areas between the sprites.

I suspect a few people will be asking themselves if a game with similar graphics would be possible and the answer is a sort-of-yes, although drawing decent backgrounds when restricted to just 64 characters is bloody tricky!