Let’s Code Commodore PET 0x01: Hello World!

This time around we will start another, probably short lived Let’s Code series. It will center around the Commodore PET, the first personal computer made by Commodore in 1977. Even before the VIC20 and C64. It shares a lot of structural similarities, but also has many peculiarities. It does not have any proper graphics support, so we will do a bit of a fancy text based hello world program, using direct screen memory access. We will use the modern, optimizing C compiler named oscar64.

Let’s Code MS DOS 0x2E: VGA Redefinable Charsets

The EGA and VGA cards support custom or redefinable character sets. Those can be used to add characters from languages not covered by the original ROMs on the card, but can also be used to aid in drawing shapes in text mode. We will use this feature to port our VGA plasma effect from graphics to text mode.

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!