Sven Krasser’s Blog

Musings on technology, security, and sundries.

Assembling my Commodore 64

For this latest part of my series of posts on building a Commodore 64, it is time to assemble all the pieces. The Pixelwizard C64C case has since arrived in the mail, and now all parts (namely the Ultimate 64 board and an original keyboard) need to go into it. To that end, I ordered a mounting kit as well, which contains standoffs for the keyboard and a support for the U64 board. And that’s where the problems start…

Finishing the 3D-Printed Paddle Controller

Now that I’ve received the Ultimate 64 board, it’s time to finish the 3D-printed paddle controller for my to-be-built Commodore 64. And to try it out in action, I’ve ordered a copy of Commodore’s “Clowns” game on a cartridge. The case for the machine is still in the mail, so the setup is quite jury-rigged with the circuit board and keyboard sitting on a toolbox as you can see in the picture below. A breadboard is wired up to the first control port with a potentiometer and a button attached to it.

Ultimate 64

Finally, the next item for my quest to build a Commodore 64 has arrived. After several weeks of travelling the world in a box, the Ultimate 64 circuit board arrived at my house in L.A. this week. You can see it (with the 3D-printed joystick from my last post) in all its glory in the picture below. With the keyboard and the circuit board checked off the list, now only the case is missing, which should arrive shortly as well.

3D-Printing a Joystick and a Paddle Controller (While Waiting on my C64 Parts)

The circuit board and the case for my project to build a Commodore 64 are still in the mail, and while I am waiting for those to arrive in Los Angeles, I started building input devices: a joystick and a paddle controller. Like many other contemporary machines, the C64 uses a DE-9 connector to hook up game controllers. These types of connectors are easy to get as they’re still in use in modern devices, e.g. for RS-232 serial interfaces. A paddle consists of a button and a potentiometer, also easy to obtain. And a joystick is, well, the actual stick assembly (with 4 switches, one for each direction) and a button. Those parts are still made for arcade machines. Lastly, both the paddle and the joystick need to fit into their own enclosures. For those I’ve opted for 3D printing. The result for the joystick is below. It’s a bit bulky but it works, probably—we’ll know for sure once the C64 parts are here.

Building a Commodore 64

The C64 has a special place in my heart. My uncle bought one of the initial breadbin versions when it came out in the 80’s, and my cousins taught me programming in BASIC on it. I was hooked on computing. Later, I got my first computer at home as well, a C64C—or C64-II as it was marketed in Germany.

Nearly four decades later, the C64 community is still going strong. There is even new commercial software released for the platform to this day. There are a number of ways to experience the C64 today. The quickest route is by emulation, e.g. using the VICE emulator. I’ve used VICE and the ACME cross-assembler to write a small game a few years ago (ACME is the same assembler used for my breadboard 6502 project). Cloanto sells C64 Forever, which wraps VICE in a convenient launcher and comes with a bunch of software to try out.

Another option is to buy THEC64, which also emulates the looks of the C64. Under the hood, it uses an ARM CPU to run an emulator. There’s also THEC64 Mini in a smaller form factor and without a working keyboard (I own a Mini, mainly to play California Games). Outside of emulation, there are FPGA/ASIC-based implementations such as the C64DTV. The MISTer is built around a Cyclone V FPGA that can be configured to implement numerous retro platforms, including the C64.

You can also still find original C64s on sites like Ebay. Often, some attention is required such as replacing the capacitors on the circuit board or getting a new power supply as the original power supplies have established a reputation of failing while frying the attached system. Another route to an almost-original system (for varying degrees of “original”) is to build one using modern replacement parts, which is the focus of this post. There are three main areas to consider: the circuit board, the case, and the keyboard. Let’s take a look!

Arduino Raster Bars Redux

After sitting partially dismantled for about 5 years in a toolbox, I resurrected my old Arduino Raster Bars project. The primary reason for the endeavor being that I recently bought a video capture device that can digitize VGA signals, and I wanted a higher quality video of the output than the footage I filmed with a DSLR camera off the monitor. There’s a new video on my YouTube channel, see below, that shows the result and also explains the effect in a bit more detail.

Pandemic Projects: Sewing Pajama Pants

With many businesses and locations still shut down, projects at home are a good way to keep busy. While most of the posts on this blog revolve around electronics, information security, and machine learning (or on rare occasions rocket launch pictures), my most recent endeavor is in a new area: sewing. Specifically, sewing pajama pants, which as I understand it is to sewing what “Hello World” is to programming. If you enjoy the other topics on this blog, then maybe consider giving sewing a shot—it’s actually quite fun seeing something wearable coming together (and wearing it, of course).

More Colors, More Visuals, Some Math

The latest addition to my homebrew 6502 computer is more colorful graphics output. To be specific, the system now supports output in 256 colors. As a little exercise, I’ve implemented a rotozoom effect to put the system through its paces. In this post, I’ll cover the hardware, the effect, and the implementation. Before getting into the details, you can find a YouTube video below showing the system in action. You can view the effect about one minute into the video.