Let’s Code MS DOS 0x2C: Noisy 3D Animation

Earlier this year I saw a demo effect using a random noise background and simple wireframe 3D using XOR line drawing to create an interesting visual effect. Building on the 3D Cube program we did a while ago we can reimplement this effect. The magic happens when you pause the animation — or this video. Then the object magically disappears…

Let’s Code MS DOS 0x2A: Background Adlib Music

We already learned how to program the Adlib sound card to produce percussion and melodic instruments. Now we tackle the problem of getting real music out of it. By utilizing the Reality Adlib Tracker’s playback routine we learn how to program the Programmable Interrupt Timer (PIT) in the PC to get a steady playback of background music.

Let’s Code MS DOS 0x24: Low Level Keyboard Programming

Getting input from the keyboard can be as easy as calling the getch() function. But for games we need a better solution. For games on MS DOS machines you need quick, unbuffered input. To simply get the state of keypresses we need to talk to the keyboard controller directly. Let’s have a look at how that’s done!

Let’s Code MS DOS 0x23: 2nd Reality Lens Effect

In 1993 the Future Crew released the seminal demo “Second Reality”. Last episode we re-implemented the tunnel effect, this time we try to understand and replicate the lens effect. A bouncing, tinted glass ball that distorts the background image. Thirty years back it was pretty jaw dropping, and even today we can learn something!

Let’s Code MS DOS 0x22: 2nd Reality Tunnel Effect

In 1993 the Future Crew released the seminal demo “Second Reality”. One of the more simple effects they showed in this demo was the “Dot Tunnel”. It is a simple, yet mesmerizing oldskool demo effect. We can build on our knowledge of fixed point maths to implement this effect and maybe even improve on the original!

Let’s Code MS DOS 0x1B: Fixed Point Arithmetics Rotozoomer

In the last episode we learned how to code the rotozoom effect using floating point arithmetics. This however is pretty slow on ancient DOS machines, like 486 and even worse on slower machines. So in this episode we will rewrite the program to use integer based fixed point arithmetics.

Let’s Code MS DOS 0x1A: I Am Not An Atomic Playboy! (The Rotozoomer)

Back in 1993 the Future Crew published „Second Reality“ on the PC. This was a mega-demo of epic proportions. It showcases many new and some old effects with a brilliant soundtrack. One of the effects that was very well done and that stuck in my mind was the „rotozoomer“. A tiling image being rotated and scaled in a very fluent animation. As a kid I wondered how it’s done. Later I learned the maths behind this and today we want to explore this simple yet brilliant effect. In this part we will deal with the basics and implement a floating point version. However the original code used fixed point integer arithmetics, which we will visit in a second video…