Nerd content and
cringe since 1999
Alexander Grupe

One of the big “whoa!” moments at this year’s Revision was the giant bitmap rotator in the Amiga demo Backslide to Arcanum by Cosmic Orbs. Running smoothly at 50 Hz, effortlessly rotating in full overscan and in 1×1 resolution, moving around the screen, arbitrarily zooming – awesome!

This calls for some poking around in the debugger to see how the sausage is made! Here, the dynamic copperlists are overwritten with a static one, disabling double buffering and Copper updates:

Aha! So, it’s not a full three-way skew, but a combination of vertical skew, horizontal skew, and vertical squeezing. Also, the zoom effect is an artefact of this approach – that didn’t occur to me when I watched the demo live, in awe, so kudos for the presentation!

Of course, that is still scratching the surface, with a lot of clever implementation details to be unearthed: Is the vertical skewing all done by the Blitter? How can it rotate so fast at times, going back and forth? How many buffers are used, and how? Is the dynamic viewport adaption when moving the whole screen a show-off or necessary to keep running at full frame-rate?

Thankfully, Jobbo/Cosmic Orbs provides an excellent technical write-up, answering most of these questions:

previous next close