hn.today

8088 Domination Post-Mortem

trixter.oldskool.org3 points0 comments
Screenshot of 8088 Domination Post-Mortem

8088 Domination is a demoscene project that plays full-motion video on a 1981 IBM PC, pushing beyond an earlier work that used text mode to display video on the same limited hardware. The challenge seemed impossible in CGA graphics mode: at 24 frames per second, replacing 16 KB of screen data per frame would require 384 KB/s, beyond both the PC’s roughly 240 KB/s CGA memory-update rate and period hard drives’ approximate 90 KB/s throughput. The key change in approach was to stop assuming every pixel must be refreshed each frame. Carefully chosen footage can look fully animated even when only some pixels change.

The design treats performance as a time budget rather than a fixed amount of data: screen updates and disk reads can vary in size as long as they stay within what the hardware can handle. The encoding process, which has ample time, plans frame differences and variable-length video-and-audio packets, while ensuring playback degrades gracefully if the PC cannot keep up. Preparing images for CGA is another major problem: its 16 KB of memory supports 640×200 two-color, 320×200 four-color, or 160×200 16-color graphics. Ordinary error-diffusion dithering is unsuitable because one source-pixel change can alter much of the dithered image, defeating efficient frame-difference updates. A stable, localized dither instead makes each output pixel depend on its corresponding source area, limiting changes to the parts of the image that actually move.

Read on trixter.oldskool.org0 comments on Hacker News

Summary generated by AI from the linked article. hn.today is not affiliated with Hacker News or Y Combinator.

More in Programming

The daily digest

Today's best Hacker News stories, summarized and screenshotted, one email a day.