Let’s Code x86 Assembly: 0x08 Sizecoding Game Of Life WITH “MUSIC”

In this episode we take a look at a tiny 256 Byte intro that I originally coded for the Outline 2023 demo party. However as I couldn’t attend the party in person, it wasn’t used in the competition. So instead I walk you through the code here and explain how to fit Conway’s Game of Life into 256 bytes and also have some MIDI music, for lack of better words!

The Homebrew Hercules Graphics Card

After viewing our CGA Redux livestream a friendly tinkerer named Arek contacted me if I was interested in a homebrew Hercules Graphics Card PCB that he designed. Naturally I said yes and assembled the card, playing beta tester for his design. It will probably be open sourced eventually, but is not yet available. So instead I give you a little tour of the card and what it can do!

Let’s Code MS DOS 0x20: Bresenham Line Drawing

If you want to do graphics programming at some point or other you will have to draw or at least compute straight lines. Those can be use for many things: simple 2D primitives, 3D wireframe graphics, UI elements, or linear motion of sprites and objects. There is a very fast algorithm developed originally by the mathematician Jack E. Bresenham. Its main advantage is that it is very simple and does not require any floating point arithmetics. Which is a good thing on old and slow DOS machines. Let’s investigate this algorithm and code up a nice screensaver!

Let’s Code MS DOS 0x1F: Detecting Graphics Cards

Back in the 1980s and early 1990s IBM PCs didn’t have the capabilities to announce their hardware to the operating system or application programs. Instead programs would try to ask the user or auto detect the hardware like installed graphics card. Today we learn about how to distinguish between VGA, EGA, CGA and even MDA and Hercules Graphics!

EGA Graphics on C64 Monitors

In the 1980s IBM PCs would mainly use CGA and EGA graphics cards to display color graphics. The corresponding monitors have often been already trashed, recycled or are simply broken. There are however still quite a few CRT monitors in the wild that were actually meant for home computers, like the C64, Amiga and similar. We have a look at the Philips CM8833-II, which sports a TTL RGB input, fitting for being driven by an EGA card.

RGBtoHDMI for Retro PCs

The OSSC is a great solution to get analog video signals to HDMI capable devices: TVs, PCs or for streaming. For RGB TTL computers, such as the IBM PC with it’s CGA, Hercules/MDA and EGA standards or the Commodore 128 and many other home computers it’s a bit harder to get a nice and crisp HDMI signal. One such solution is the RGBtoHDMI converter. This is an add-on board for the Raspberry Pi, and we take a look at it today with the additional RGB TTL buffer board.

GameBoy Pocket CleanPower Mod

Since the IPS mod in the previous episode the GameBoy Pocket was intermittently resetting. Mostly when playing Super Mario Land 2, but also in some other games. One hint was that the power regulator, which generates all the voltages for the GBP was not providing enough current. There are modern replacements, such as the CleanPower by Retrosix (no affiliation) that supposedly give a better result in this case. So I tried it out and got a CleanPower for our GameBoy Pocket.

Retro Travels: Karlsruhe Retro Games e.V.

We are back on the road, or more clearly: on the train! And this time we visit the German city of Karlsruhe. It is home to the amazing Retrogames e.V. arcade. This arcade is open every Saturday from 15:00 to 22:00 and hosts an amazing number of arcade and flipper machines.
Moreover we stumbled upon a neat little store called the “Nerdzentrale” in downtown Karlsruhe. Come and see what kind of stuff we found and which games we played!