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.

Zombie Floppy: How To Revive A Broken 1541 Head

The Commodore 1541 floppy drive is a real workhorse, that was used by millions of C64 users. It came with drive mechanisms from different vendors. The Newtronics/Mitsumi drive assembly has the annoying fault to have their drive heads fail due to some wires going open inside of the read/write head. This is so far not economically repairable. However a clever user by the nickname of Ruuudi on German Forum64 has designed a little bodge PCB to make the half of the head that is still okay to all the work and thus revive an otherwise dead drive.

ZoomFloppy+OpenCBM+8050

The main issue with the Commodore 8050 and 8250 drives is: How do you get data onto them? The units use 100tpi floppy drives that are incompatible to the regular 48tpi and 96tpi disk drives used in the 1541 and in PC DD and HD drives. So there is no chance using those. However there is the ZoomFloppy, which is an implementation of the XUM1541 interface and it comes with an optional IEE488 plug! We can attach the 8050 to that, and use the OpenCBM tools to read and write data to and from the floppies.