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.
Tag: retrocomputing
C64 Repair: Blue Screen
Another C64 was waiting for a repair. This one had a blue screen on startup, but nothing else. Seems like a good sign, at least a bit of code seems to be executing. But boy, this was not a straightforward repair. I think someone messed with this board before, and left some loose ends.
C1531 Datassette Refurb
The Commodore Datassette is a very classic and iconic piece of equipment. It had a couple of variants. Today we have a black C1531 for the Commodore 264 range of computers: C116, C16 and Plus/4. It has some mechanical issues that we will try to fix.
C64 Repair: Shimmering Color & More
I received a hand full of broken C64 machines, and am now trying to repair one machine at a time. This machine here seems to have multiple issues, but is working mostly. The color on the screen is shimmering a lot though. This might be a color RAM or PLA issue. Let’s investigate!
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 0x2B: Memory and Pointers
Here is a little refresher on how memory management and pointers work in the C programming language, and especially under real mode MS DOS programs written in Turbo C 2.0. We will go back to the basics to give all the new subscribers of this video series a chance to catch up.
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.