Release Notes – Clonetro

It’s been quite a while since we released anything here at C64CD in part because, as noted previously, your correspondent drifted away from programming demos for a while. But over at the C64 Scene Database there’s a fun competition running for programmers to create intros and, considering the previous groundwork of the last three Code Notes posts was originally intended to lead up to a C64 release along those lines, the announcement seemed like a good excuse to get something finished!Clonetro (C64)So the very imaginatively titled Clonetro is based on a number of C64 crack intros from the mid 1980s; the top part of the screen takes inspiration from the Dynamic Duo crack intro covered a little while back for the logo itself and another by Yeti Factories one for the bias relief frame around it, various Ikari intros provide the basis  for the sprite effect under the scroller in the middle of the screen and your correspondent had a particular Jewels intro in mind for the moving grids at the bottom which was again covered previously. In most of these cases the intros cited may not be the originator of said effects, but are at least the ones where your correspondent saw them first “back in the day”.

As with any competition there are rules to abide by with the  most notable being that each entry must use no more than 16K of the C64’s RAM because, in real world use, an intro is usually “linked” to a second, compressed file which takes the rest of the available space. Clonetro decompresses to use memory from $0800 to just before the $3a00 mark so, apart from some zero page overheads, is around 12.5K. The code is also completely “legal” in the sense that it doesn’t rely on self modification for the moving colour bars that pass through the logo, instead reading colour data with commands like lda (colour_read_1),y and changing the contents of the two zero page locations referenced by the label colour_read_1 instead. As always, source code is available for those who want to prod around further.

Your correspondent has also realised whilst writing this post that he’s used the same “two colour registers changed per scanline” trick a few times now without really discussing the basics of producing raster bars on the various 8-bit systems beforehand. The intention here has never been to teach beginners to programming as such (although people are getting in touch to say that they’re learning things from the C64CD source code posted to Github) and there’s honestly no need to understand the simpler methods before looking at what’s been done here but this is potentially the topic of a future post.

Posted in Programming | Tagged , , , , , , , , ,

The hills are alive – part 1

Debunking Making music – part 1

Things have been quiet here of late dear reader, partly because the author hasn’t posted but more because your correspondent has been rather busy with “real world” things and, as is the norm from time to time, found his interests drifting away from programming demos and towards games; we won’t be covering those here however, in part because the interest is currently in developing for Windows-based systems but mainly because dissecting game programming even at the theoretical level is a more complex topic that wouldn’t really suit the somewhat throw away nature of this blog.

So after skirting over what we will rather euphamistically refer to as the author’s “compositional skills” for reasons which are probably obvious to at least the majority of those who viewed the video, here we go once more dear reader!

I was also involved in political campaigns for the Mayor of London and Greater London Assembly (GLA), as well as the EU Referendum. I was devastated and sidetracked by the leave result, which means the abolition of the UK/Britain, serious isolationism for England and Wales and that I must leave the country ASAP.

As noted in passing previously, your correspondent wasn’t happy with the outcome of the EU referendum either, but plans to weather the storm as it were whilst hoping that a little sanity perhaps prevails in the long run… although that currently appears to be doubtful. And this is of course irrelevant to the author’s stated topic.

 Then, I got an email asking if I was alright and when I’d make another post. My answer to that was I was still alive, but basically that I didn’t know when I’d make another post. Now, after over three months without any new posts, I decided to do this post instead.

Your correspondent was inactive for a shorter period but has still already received multiple messages of a similar nature through various channels; perhaps the author’s writings simply aren’t as popular as he believes them to be…?

Making music was one of the reasons I bought a Commodore 64. It was one of the computers described in that lying buyers’ guide “The A-Z of Personal Computers” as containing a 3 channel synthesizer chip. This detail was true, but of course there was a catch.

So where exactly is the “lying” in that statement dear reader when the author immediately admits that said detail was correct? The presence of a three channel synthesizer isn’t negated merely on the grounds that the author personally was unable to use it regardless of how important he feels himself to be.

I was disgusted when I found out I could’ve bought a peripheral for the Sinclair ZX Spectrum which added such a chip.

Since said peripherals rarely have native BASIC support and must be programmed with the equivalent of POKE commands or handled via software in exactly the same way as the C64, where exactly is the advantage to going down that particular route for someone so irrationally opposed to said options such as the author?

The Commodore 64 seemed to have everything I needed, although I knew I didn’t really need 64K, because plenty of computers had less than that amount of RAM.

The author has commented previously about being “SHOCKED to find out that [he] couldn’t use anything like 64K in [his] BASIC programs” after buying a C64 and whined petulently and at length about how he erroneously believed it to be impossible to use all of the C64’s memory; why would anyone complain so vigorously about something they “didn’t really need” dear reader? And if the sentiment above were actually true, the authour wouldn’t have wanted to expand his Amstrad CPC664 to 128K or felt an urge to brag about how much RAM was present in his MSX2 either!

About two years after buying a C64, in early 1986, I bought a Yamaha CX5M Music Computer.

The majority of the post from this statement onwards both falls outside the author’s self-imposed 1984 to 1985 window and isn’t covering the supposed topic of “explaining why the Commodore 64’s BASIC V2 was crap and how some people managed to program the C64” so is, rather obviously, completely and utterly irrelevant!

The only things really worth noting from said pointless meandering through the author’s personal history as a musician are that he isn’t programming the Yamaha from BASIC in the video at the start of his post and that he spends some time berating someone else for not being “dedicated enough to learning” when that’s precisely the reason he didn’t learn the C64 – that dear reader is some quite frankly industrial grade hypocrisy right there!

I first learnt to play my first tune written by anyone else on just the sixth (i.e. the thickest) string before learning to play it using bar chords, meaning that the first finger is placed across all the strings, allowing guitarists to play the same chord shapes for Major, Minor, Seventh, Ninth, Minor Ninth, Diminished, etc chords at any fret, meaning root note, on the guitar.

This is merely the author just showing off as a know it all[1] dear reader!

That’s all for now! You can look forward to another post about making music, or about “The Machine Language Book of The Commodore 64” in the near future.

Didn’t the author say at the start of his post that it was a “very complicated subject” and that he “didn’t know how to finish” it…? That doesn’t bode particularly well, especially since the previous posts were already rather poorly written so we probably shouldn’t hold our collective breath for a masterpiece this time around either.

[1] The author has the ridiculous idea that demonstrating ability is “just showing off” having accused your correspondent of the same previously – ironically whilst showing off about his own, off-topic culinary skills – so this is merely your correspondent returning that particular “favour”.

Posted in Debunking | Tagged , ,

Code Notes – C64 Crack Intros (part 3)

Once again, things are a little late here at C64CD but this time your correspondent is going to blame the EU referendum because… well, it was there! But putting the quite frankly depressing result aside and not commenting any further than that, here we go with another Code Notes instalment delving through some crack intros which all utilise the C64’s ability to change colour registers as the display is being drawn.

Dynamic Duo Intro (C64)The first intro is release from the Dynamic-Duo; most of the screen is plain text – which probably isn’t surprising considering this was a 1986 release – with a sprite-based message that uses a ROL scroller at the bottom of the screen and a very colourful Dynamic Duo logo near the top. That upper effect is achieved by changing two of the character multicolours once ever second scanline and moving the colour tables that are used to govern those splits to make bars roll downwards on one register and bands of colour move up on the other. There isn’t any sound here but, as with the silent Ikari intro we looked at previously, calling a music driver from the interrupt wouldn’t have been technically problematic.

Papillons Intro (C64)The theme of splitting colours continues with the Papillons logo in their 1988 intro shown above, except the colour changes this time are happening on every scanline rather than every second. Most of the static text has also been jazzed up a little by constantly altering the colour RAM for that part of the screen and, along with the regular scrolling message below the logo, there’s a second, larger scroller which converts each pixel of a letter into a character and then passes colour splits through the result for good measure. The excellent piece of music comes courtesy of Superbrain of the Gamma Cracking Force.

Ikari Intro (C64)Finally there’s this busy-looking 1988 offering from Ikari (who we have mentioned twice already in the previous instalment) which raises the raster bar further[1] by having two values being written to three video registers per scanline where the logo is displayed; more specifically, the border and background colours are receiving one value whilst the horizontal scroll register gets another. The larger scroller is another sprite-based affair, this time with a colour split on every second scanline, whilst the moving lines above and below the small, character-based scroller are another example of colour RAM manipulation. This intro has shipped using a number of tunes from Edwin Van Santen, Johannes Bjerregaard and most prominently Laxity, with the tune provided in the download being the one your correspondent personally remembers.

And it probably doesn’t need stating again dear reader, but we shall for the author’s benefit; from C64CD’s viewpoint, all of the programmers, graphics artists and musicians whose work is featured in these crack intros started out as amateurs, teaching themselves the skills required either during or not particularly long after the author’s 1984 to 1985 window and without any amazing resources that weren’t available to someone in the United Kingdom.

[1] Oh dear. If it helps dear reader, your correspondent had to take a ten minute break after conjouring up that particular “pun” but can’t in all good faith apologise because he’s rather childishly proud of it!

Posted in Meta Discussion, Programming | Tagged , , , , , , , , ,