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!

2 thoughts on “Releasing Level One (C64)

  1. Looks really pretty!

    Definitely a game in there somewhere and with only 64 chars, maybe something with 8bit pipes… Mmmmmm… 8bit pipes… :D

  2. It’d be possible to have more detail if there were more than one character set and swapping it out at various points in a level, but none of the map editors are really designed for this mode – Level One’s graphics were produced with Char Pad but I had to come up with a couple of work-arounds – so that probably means a bespoke tool.

    Then there’s the matter of sprites and needing two per object in order to match the background graphics… that means a reasonably decent, sorting multiplexer.

Leave a Reply

Your email address will not be published. Required fields are marked *