Demoing an 8088

The demoscene usually revolves around the Commodore 64, and when you compare the C64 hardware to other computers of a similar vintage, it’s easy to see why. There’s a complete three-voice synthesizer on a chip, the hardware allows for sprites, a ton of video pages, and there are an astounding sixteen colors, most of which look good. You’re not going to find many demos for the Apple II, because the graphics and sound are terrible. You’re also not going to find many demos for an original IBM PC from 1981, because for thirty years, the graphics and audio have been terrible.

8088 MPH by [Hornet], [CRTC], and [DESire], the winner of the recent 2015 Revision Demo compo just turned conventional wisdom on its head. It ran on a 4.77 MHz 8088 CPU – the same found in the original IBM PC. Graphics were provided via composite output by a particular IBM CGA card, and sound was a PC speaker beeper, beeping sixty times a second. Here’s a capture of the video.

Because of the extreme nature of this demo, it is unable to run on any emulator. While the initial development happened on modern machines with DOSbox, finishing the demo needed to happen on an IBM 5160, equivalent to the 5150, but much easier to find.

Despite the meager hardware and a CPU that reads a single byte in four cycles, effectively making this a 1.19 MHz CPU, the team produced all the usual demoscene visuals. There are moire patterns, bobbing text, rotated and scaled bitmaps, and an astonishing 1024-color mode that’s an amazing abuse of 80×25 text mode with NTSC colorburst turned on.

Below you can find a video of the demo, and another video of the audience reaction at the Revision compo.

Continue reading “Demoing an 8088″

Ask Hackaday: Understanding the x86 Memory Addressing System

A quick look at the pinouts of an Intel 8086 & 8088 processor reveals a 20 bit address bus. There was high demand for the ability to address 1 meg (2^20) of address space, and Intel delivered. However, a curious individual would wonder how they can achieve such a feat with only 16 bit registers. Intel solved this riddle by combining two registers so they could make it compatible with code written for the 8008, 8080 & 8085. The process they use can be a bit confusing when trying to figure out where to locate your code in the ROM. In this article, we are going to go over the basics of how the Physical Address is calculated and how to locate your code correctly in ROM.

Continue reading “Ask Hackaday: Understanding the x86 Memory Addressing System”

(Better) Full Motion Video On The First PC


Ten years ago, [Trixter] created 8088 Corruption, a demo for the original PC, the IBM 5150, that displayed full motion video using a CGA card and a SoundBlaster. It was hailed as a marvel of the demoscene at the time, garnered tons of hits when it was eventually uploaded to Google Video, and was even picked up by the nascent Hackaday.Now, ten years later, and seven years after [Trixter] said full motion video using the graphics mode of a CGA adapter was impossible, he’s improved on his earlier work. Now, it’s possible to display video at 640×200 resolution at 30 frames per second on a 30-year-old computer.

[Trixter]’s earlier work used the text mode of the CGA adapter, only because the 40×25 character, 16 color mode was the only graphics mode that could be entirely updated every single frame. It’s still one of the high points of the PC demoscene, but from the original video, it’s easy to see the limitations.

A while back, [Trixter] said displaying video using his computer’s graphics mode was impossible. He’s had years to think about this statement, and eventually realized he was wrong. Like the developers of modern video codecs, [Trixter] realized you don’t need to change every pixel for every frame: you only need to change the pixels that are different from frame to frame. Obvious, if you think about it, and all [Trixter] needed to do was encode the video in a format that would only change dissimilar pixels from frame to frame, and manage the disk and memory bandwidth.

After reencoding the 10-year-old demo for graphics mode, [Trixter] turned toward his most ambitious demo to date: playing the ‘Bad Apple’ animation on an 8088. As you can see in the video below, it was a complete success.

Continue reading “(Better) Full Motion Video On The First PC”

Hackaday Links: September 1, 2013


[Anton] has been doing some Commodore 64 Datasette experiments. He managed to connect the C64 audio traces to his smartphone and use it for tape playback.

Not wanting to actually disassemble his Mendel 3D printer, [SteveDC] figured out how to make extenders that increase his build height by about 40%.

We have fond memories of owning an 8088 PC. We did a lot of experimental programming on it but never anything as impressive as getting the TCP/IP stack to run on it. Then again, we’re not sure there was such a thing back when we owned the 10 MHz hardware. That’s right, the microcontrollers we mess around with now days are much faster than that old beast was.

When he goes running at night [Tall-drinks] straps a pico projector to his chest. We guess you’d call the readout a heads-up display… but it’s really more heads-down since it’s projecting on the pavement.

See how things heat up as a Raspberry Pi boots. This video was made using a thermal imaging camera to help diagnose a misbehaving board.

We don’t have very many trinkets on our desk (that would steal space normally reserved for clutter). But be would happily make room for this motorcycle model made from VCR parts (translated).