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.

Sinclair ZX81: AV mod and New Keyboard

I have acquired a Sinclair ZX81 from 1981. It is a Z80 based machine with e measly 1KiB of RAM, and arguably the worst keyboard ever. It has only RF video out, so you need a very old TV for that. We will do a composite A/V mod to have more and better options of video output, and it will require a new membrane keyboard, as those usually fail after all these decades.

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