Zephyrnet Logo

Video And Audio Playback On Low-End MS-DOS Machines

Date:

For most people the phrases ‘MS-DOS’ and ‘video playback’ probably aren’t commonly associated, yet it was quite normal as those of us who were watching full-motion video with games like Command & Conquer can attest to. These audiovisual experiences did however require somewhat more capable hardware than something like an original, 4.77 MHz IBM PC. More recently, however, the removal of these limitations has been turned into a challenge that has been gleefully accepted by hackers, including [Scali] whose recent tinkering with getting not only real-time video but also audio working on these old beasts has been documented on their blog.

Unlike existing early video formats like FLIC from the 1990s, the XDC format developed over the past years enables real-time, 60 FPS video and audio playback on an 8088 IBM PC that has a SoundBlaster 2 and CGA card installed. As [Scali] notes, the SB2 card is convenient, because it enables DMA transports for the audio data, which saves a lot of precious CPU cycles. Unlike the original SB card, it also fixes some teething issues, but an SB2 is hardly ‘low-end’ for an early 1980s PC, so it has to go.

In [Scali]’s GitHub fork of the XDC codebase a number of optimizations are added, as well as PC speaker PWM routines that use an in-memory lookup table to convert from PCM to PWM values, which still struggles on a 4.77 MHz system. Next, the Covox Speech Thing supports PCM directly, giving pretty good results at 4.77 MHz, and adding both Tandy NCR 8496 as well as Sound Blaster (1.0) support was a snap afterwards, opening up a HD-ish audiovisual experience to many more early 1980s systems.

Below you can compare the two versions, first on an IBM PC with SB2 card, and then [Scali]’s version running on a Turbo XT system with just the dinky little PC speaker, which clearly sounds like it’s struggling:

[embedded content]

[embedded content]

spot_img

Latest Intelligence

spot_img