It’s All Hallows’ Eve girls and boys, so time for something appropriately spooky from deep within Cosine’s cobweb-strewn crypt; on the slab tonight is Dark Bit Factory forums and inspiration was taken from a Halloween demo released by Arkanix Labs for the C64 back in 2013, specifically the hidden screen.
As with the previous instalments in the series, the PureBasic source code and appropriate assets are included in the archive for those curious as to how the code works. And when you exit the demo, there’s ghostly laugh which originally comes from the closing titles of kids telly classic Rentaghost!
So, hands up who thought I was going to miss the monthly demo deadline for October then…? Okay, I had my doubts as well but MD201510 – Spoopiness came out yesterday afternoon just in time for Halloween, which is good considering it’s appropriately themed and sports the music from Elvira – Mistress Of The Dark which was composed by Sean Connolly.
This demo is also an entry into the UOC coding challenge at the CSDb where the objective is to produce code that takes advantage of unintended opcodes – sometimes called illegal, pseudo or undocumented opcodes, your mileage will vary – so notes as to where the pseudo opcodes are used and what advantage is gained need to be included; in this case it’s relying on SAX (which ANDs the contents of the A and X registers together as the result is written to memory) to give four possible values per scanline to the ghostbyte splits in the border rather than the usual three and there’s some use of another command called LAX (which simultaneously loads the same value into the A and X registers) for the logo movement routine, saving a couple of cycles per character drawn. Also, it’s a Halloween demo which has ghostbyte splits, geddit? Oh, please yourselves… [Mutter, mutter]
I’ve also opened a GitHub account and pushed everything bar the build tools required for MD201509 and MD201510 up for those who felt themselves masochistic brave enough for a nose around my source code; they’re probably not for beginners since there’s quite a bit of self modifying code and loop unrolling going on, but future instalments in the series will appear there as well.