Categories
Uncategorized

Let’s Code MS DOS 0x17: Come On Let’s Twist

One ubiquitous demo effect that can be seen on a wide variety of demos and intros is the twister or the twister bar. There are numerous examples in productions for the Amiga, Atari ST and 2600 that I know of (and even at least one on the Sega Master System). And probably a lot more that I don’t know. However I have never seen this effect in any of the old PC demos, except maybe in Future Crew’s PANIC, where something very similar was used for the vertical scrolling greetings. But it was not quite the same still. So today we will code a variant of the twister using Turbo C for MS DOS!

Categories
Uncategorized

Let’s Code ESP8266: The SI7021 Temperature and Humidity Sensor

The SiliconLabs SI7021 is a very popular sensor for measuring temperature and humidity. It uses the I2C bus and is easily accessed from the ESP9266 or ESP32. Some breakout boards use different variants of the chip, namely the measurement Specialties HTU21D or even the Sensirion SHT21. These chips are more or less compatible to one another, but some don’t implement all the commands. However temperature and humidity can be used on all those chips. Today I’ll walk you through a tutorial of accessing the SI7021 via the Arduino Wire library.

Categories
Uncategorized

Let’s Code MS DOS 0x16: Fire Exclamation Mark!

It’s summer and it’s hot. And what better to code than another classic demo scene effect: the ubiquitous fire. But we will do it with a twist. The naive implementation is slow, very slow. Especially on older 286-486 computers. We will optimize the actual algorithm a bit and utilize a hidden VGA function that gives us scaling in the X-direction by a factor of 4 for free.

Categories
Uncategorized

Let’s Code MS DOS 0x15: Sine Tables

I got a question in the YouTube comments about the sine tables that we used for a few animations, like the Copper Bars, the Smooth Scrolling etc. In this episode I try to explain why and how to create sine tables. The idea is to speed up computations, since computing the sine or cosine — even with an FPU — takes an awfully long time on early MS DOS machines.

Categories
Uncategorized

Let’s Code MS DOS 0x14: Hello World in x86 Assembly

In the last live stream we did some Turbo C inline assembly, which was pretty fun. But let’s today use an actual pure assembler: the Borland Turbo Assembler. And let’s demystify some of the things surrounding assembly language. It is actually not that hard, so let’s write a hello world program, using assembly, for MS DOS!

Categories
Uncategorized

Let’s Code MS DOS 0x13: VGA Mode X Fast(er) Blitting

Today we continue on our quest to make a small VGA game. So far we learned how to initialize Mode X and use some of its nice features. Copying images from system memory was painfully slow though. So let’s make it faster with a small trick!

Categories
Uncategorized

Letscode Episode 0x12: VGA Mode X Panning & Scrolling

The next part in the series about VGA Mode X programming. Let’s do some smooth scrolling. We already did that in text mode, but not in graphics mode, and not in a horizontal direction. So let’s lay down some basics!

Categories
Uncategorized

Let’s Code MS DOS 0x11: The Mysterious VGA Mode X

Today we’ll tackle a more complicated topic. That’s also why the video is rather long with 40 Minutes. However I think this is necessary, given the importance of the topic. The VGA card is surprisingly feature rich. However a lot of these features are not accessible from the standard 256 color mode 13h. That’s why we take a look at Mode X today, which unlocks such features as page flipping, scrolling and giving access to the VGA’s full memory.

Categories
Uncategorized

Let’s Code MS DOS 0x0F: VGA Copper Bars

Categories
Uncategorized

Let’s Code MS DOS 0x0E: XMas Edition PowerBasic