Start

heckmeck!

Nerd content and
cringe since 1999
Alexander Grupe
Losso/AttentionWhore

A nice Teletext artwork appears. On closer look, you wonder: Wait, how is that possible?

Sounds familiar? Yes, of course it does! Let’s dive into Teletext’s hold mode!

DPaint JS

It’s been out for some time now, but watching the timelapse of Steffest’s compo-winning oldschool graphics entry The Old Man and the Muse made me take a closer look at DPaint JS – a modern day re-imagination of DeluxePaint in the browser.

While still in Alpha (according to the version number), a mind-boggling amount of work has been put into it already. It even features a built-in Amiga emulator (via SAE) to preview your artwork in the original DeluxePaint II!

I will need to get more familiar with this tool (having the original DPaint workflow and keyboard shortcuts in muscle memory, encountering the occasional odd circle, needing to grasp how brushes work here), but it already beats Photoshop and DeluxePaint itself for my own puny pixelling needs: Layers! Mousewheel zooming! And right-click colorizing, as God intended! :)

Der liebe Tom von Loco’s Welt Gaming hat mich zu einer Video-Podcast-Folge eingeladen. Wir reden über Teletext, Demoscene- und Amiga-Kram. Außerdem wende ich zielgruppengerecht das Wort an die junge Generation („Checkt es aus!“).

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:

The elevator at my company has a reputation for getting stuck from time to time. If I ever get into that situation, I sure hope it won’t happen on the third floor! I would be tearing out my eyes before any technician arrives.

Yeah, yeah, okay – the display is kind of high res, way beyond the scale of pixel-perfect hinting (and a font rarely aligns with perfect 45° angles anyway). But it’s still coarse enough to distinctly display this irritating discontinuity. What kind of monster designs something like that?!

PS: If you like pixel nitpicking, you’ll love this: Hardest Problem in Computer Science: Centering Things

Hmm, is this typographically correct or am I off by a pixel? [sweating noises]
previous next close
eie