x86 scb

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

Ladies

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

hackaday-links-chain

[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).