XeO3-CPC

Monday, November 06, 2006

The CPC can't scroll

The CPC is rubbish at scrolling.

There I said it. Because it's true. You have a 4Mhz CPU and a 16KB bitmapped display and no hardware assistance whatsoever. Even contemplating writing a scroller on it is plain stupid. A brief look at most existing titles will only serve to confirm this. It is a well established fact in retro gaming circles that you don't play the CPC version of games that scroll, because the other machines (even the humble Speccy) will generally do a better job.

Well, actually that's only almost true. There is a tiny bit of hardware assistance. The CRTC is wired up in what is perhaps best described as a funky way, allowing us some hardware assisted scrolling. Sadly it's not enormously useful on it's own, as it moves in chunks of 4 pixels at a time (in the low-res, high colour Mode 0). That means that at 50fps, objects would enter and leave the screen in under 1 second, a challenge for even the most hardened shoot-em-up fan.

It's at this point that 99% of CPC games opt for the, "we'll just use the software scroller from the Speccy version and run suckily slowly". Great for getting finished in time for payday, but not so good gameplaywise. Thankfully over the years, demo coders have perfected the art of pushing the CPC hardware a little further. With a bit more CRTC based jiggery pokery we can shift the position of the screen on the monitor left by 2 pixels. Normally that would look odd, but if we stretch the display to eliminate the left and right borders, we now have smooth 2 pixel scrolling at 50 fps in a handful of CPU cycles. Combine that with a page flipped display and we can have ultra smooth pixel perfect scrolling at almost no cost.

Sounds too good to be true? Well....

0 Comments:

Post a Comment

<< Home