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:
- Backslide – Technical Details
How the 1×1 rotator sausage is made, and other tastysausagesdemo parts
Blog
- Oct 2024 – 2
- Sep 2024 – 6
- Aug 2024 – 5
- Jul 2024 – 6
- Jun 2024 – 6
- May 2024 – 7
- Apr 2024 – 8
- Mar 2024 – 4
- Feb 2024 – 9
- Jan 2024 – 10
- Dec 2023 – 8
- Nov 2023 – 1
- Oct 2023 – 5
- Sep 2023 – 5
- Aug 2023 – 8
- Jul 2023 – 1
- Apr 2023 – 1
Recently updated pages
- hrrngh!
- Knob-Out
- B.S.I. – Byte Scene Investigation
- Coppenheimer
- Hold mode minutiae
- Shall we play a game?
- Worms VBI
- strss
- Modding the Amiga boot hand
- rotz