Diagnosing A Mysterious Fault With A Commodore 1541 Disk Drive

Some PCB corrosion on the bottom of the 1541 drive. (Credit: TheRetroChannel, YouTube)
Some PCB corrosion on the bottom of the 1541 drive. (Credit: TheRetroChannel, YouTube)

Recently [TheRetroChannel] came across an interesting failure mode on a Commodore 1541 5.25″ floppy disk drive, in the form of the activity LED blinking just once after power-up with the drive motor continuously spinning. Since the Flash Codes that Commodore implemented and bothered to document start at 2 flashes (for RAM-related Zero Page), this raised the question of what fault this drive had, and whether a single flash is some kind of undocumented error code.

A cursory check showed that the heads were okay and not shorted, ruling out a common fault with the used floppy mechanism. Cleaning up the corrosion on IC sockets and similar basic operations were performed next, without making a change, nor did removing the ICs to induce it to produce the documented error codes, but this helped narrow down the potential causes. Especially after swapping in known-good ICs failed to make a difference. One possibility was that the drive was boot looping, as the activity LED is lit up once on boot.

Some probing around with an oscilloscope between the faulty and a working drive seemed to point to a faulty RAM IC, but while probing the faulty drive suddenly initialized successfully. After some more poking around it appeared that the drive was fine after it had a chance to warm up, which just deepened the mystery.

The drive did talk to a C64 with diagnostic cartridge at this point, but would often glitch out. Ultimately it appears that a dodgy IC socket and a few bad traces were to blame for the behavior, making it an ‘obvious in hindsight’ repair. The bottom of the PCB had some clear corrosion on it, but the affected traces were apparently still hanging on for dear life with the drive still initializing once warmed up.

Continue reading “Diagnosing A Mysterious Fault With A Commodore 1541 Disk Drive”

C64 Gets A Modern Interactive Disassembler

If you want to pull apart a program to see how it ticks, you’re going to need a disassembler. [Ricardo Quesada] has built Regenerator 2000 for just that purpose. It’s a new interactive disassembler for the Commodore 64 platform.

Naturally, Regenerator 2000 is built with full support for the 6502 instruction set, including undocumented op-codes as well. It’s able to automatically create labels and comments and can be paired with the VICE C64 emulator for live debugging. You can do all the usual debug stuff like inspecting registers, stepping through code, and setting breakpoints and watchpoints when you’re trying to figure out how something works. It can even show you sprites, bitmaps, and character sets right in the main window.

Files are on Github if you’re ready to dive in. You might find this tool to be a useful companion to C64 assembly tools we’ve featured previously, as well. If you’re pulling off your own retro development hacks, be sure to notify the tipsline.

[Thanks to Stephen Waters for the tip!]

Commodore 64 Helps Revive The BBS Days

Before the modern Internet existed, there were still plenty of ways of connecting with other computer users “online”, although many of them might seem completely foreign to those of us in the modern era. One of those systems was the Bulletin Board System, or BBS, which would have been a single computer, often in someone’s home, connected to a single phone line. People accessing the BBS would log in if the line wasn’t busy, leave messages, and quickly log out since the system could only support one user at a time. While perhaps a rose-tinted view, this was a more wholesome and less angsty time than the modern algorithm-driven Internet, and it turns out these systems are making a bit of a comeback as a result.

The video by [The Retro Shack] sets up a lot of this history for context, then, towards the end, uses a modern FPGA-based recreation called the Commodore 64 Ultimate to access a BBS called The Old Net, a modern recreation of what these 80s-era BBS systems were like. This involves using a modern networking card that allows the C64 to connect to Wi-Fi access points to get online instead of an old phone modem, and then using a terminal program called CCGMS to connect to the BBS itself. Once there, users can access mail, share files, and even play a few games.

While the video is a very basic illustration of how these BBS systems worked and how to access one, it is notable in that it’s part of a trend of rejecting more modern technology and systems in favor of older ones, where the users had more control. A retro machine like a C64 or Atari is not required either; modern operating systems can access these with the right terminal program, too. A more in-depth guide to the BBS can be found here for those looking to explore, and we’ve also seen other modern BBS systems recently.

Thanks to [Charlie] for the tip!

Continue reading “Commodore 64 Helps Revive The BBS Days”

Building A Commodore 64 Laptop

What might a laptop version of the Commodore 64 have looked like if one had been released by the late 1980s? This is the question that [Kevin Noki] tried to recently answer with a custom C64 laptop build.

While technically you could argue that Commodore’s SX-64 could be construed as a ‘portable’ system, its bulky format ensured that it was only portable in the sense that a 1980s CRT-based oscilloscope is also portable. Sadly, this turned out to be the last real attempt by Commodore to make a portable non-PC compatible system, with the ill-fated Commodore LCD project never making it out of development. We can, however, glean from this some design hints of what Commodore’s designers had in mind.

Interestingly, [Kevin] decided to instead use the Macintosh Portable as inspiration, with adaptations to make it look more like a breadbin C64. One could have argued that the C64C’s design would have worked better. Regardless, an enclosure was 3D printed, with parts glued together and metal dowels added for support.

For the guts, a custom keyboard with a new PCB and FDM printed keycaps was used, with a Raspberry Pi Pico as keyboard controller. We would here cue the jokes about how the keyboard controller is more powerful than a C64, but the real brains of this laptop come in the form of a Raspberry Pi 5 SBC for running the Vice C64 emulator, which blows a C64 even further out of the water.

This choice also means there’s no direct compatibility with genuine C64 peripherals, but a workaround involving many adaptors and more MCUs was implemented. Sadly, cartridge compatibility was sacrificed due to these complications. The resulting innards can be glimpsed in the above screenshot to give some idea of what the end result looks like.

Of course, this isn’t the first time a Commodore 64 laptop has been created; [Ben Heck] used a C64C mainboard and an original keyboard back in 2009. This meant direct compatibility with all peripherals, including cartridges. Hopefully, now that Commodore as a company has been revived, it will pick up on ideas like these, as an FPGA-based C64 or C128 laptop would be pretty rad.

Thanks to [fluffy] for the tip.

Continue reading “Building A Commodore 64 Laptop”

Illustrated Kristina with an IBM Model M keyboard floating between her hands.

Keebin’ With Kristina: The One With The C64 Keyboard

[Jean] wrote into the tips line (the system works!) to let all of us know about his hacked and hand-wired C64 keyboard, a thing of beauty in its chocolate-brown and 9u space bar-havin’ glory.

A C64 keyboard without the surrounding C64.
Image by [Jean] via GitHub
This Arduino Pro Micro-based brain transplant began as a sketch, and [Jean] reports it now has proper code in QMK. But how is a person supposed to use it in 2025, almost 2026, especially as a programmer or just plain serious computer user?

The big news here is that [Jean] added support for missing characters using the left and right Shift keys, and even added mouse controls and Function keys that are accessed on a layer via the Shift Lock key. You can see the key maps over on GitHub.

I’ll admit, [Jean]’s project has got me eyeing that C64 I picked up for $12 at a thrift store which I doubt still works as intended. But don’t worry, I will test it first.

Fortunately, it looks like [Jean] has thought of everything when it comes to reproducing this hack, including the requisite C64-to-Arduino pinout. So, what are you waiting for?

Continue reading “Keebin’ With Kristina: The One With The C64 Keyboard”

Commodore’s Most Popular Computer Gets DOOM-style Shooter

When people talk about the lack of a DOOM being the doom Commodore home computers, they aren’t talking about the C64, which was deep into obsolescence when demon-slaying suddenly became the minimal requirement for all computing devices. That didn’t stop [Kamil Wolnikowski] and [Piotr Kózka] from hacking together Grey a ray-cast first-person shooter for the Commodore 64.

Grey bares more than a passing resemblance to id-software’s most-ported project. It apparently runs at 16 frames per second on a vanilla C64 — no super CPU required. The secret to the speedy game play is the engine’s clever use of the system’s color mapping functionality: updating color maps is faster than redrawing the screen. Yeah, that makes for rather “blockier” graphics than DOOM, but this is running on a Commodore 64, not a 386 with 4 MB of RAM. Allowances must be made. Come to think of it, we don’t recall DOOM running this smooth on the minimum required hardware — check out the demo video below and let us know what you think.

The four-level demo currently available is about 175 kB, which certainly seems within the realms of possibility for disk games using the trusty 1541. Of course nowadays we do have easier ways to get games onto our vintage computers.

If you’re thinking about Commodore’s other home computer, it did eventually get a DOOM-clone. Continue reading “Commodore’s Most Popular Computer Gets DOOM-style Shooter”

A hand holding a One ROM with a Commodore 64 in the background

One ROM: The Latest Incarnation Of The Software Defined ROM

Retrocomputers need ROMs, but they’re just so read only. Enter the latest incarnation of [Piers]’s One ROM to rule them all, now built with a RP2350, because the newest version is 5V capable. This can replace the failing ROMs in your old Commodore gear with this sweet design on a two-layer PCB, using a cheap microcontroller.

[Piers] wanted to use the RP2350 from the beginning but there simply wasn’t space on the board for the 23 level shifters which would have been required. But now that the A4 stepping adds 5 V tolerance [Piers] has been able to reformulate his design.

The C64 in the demo has three different ROMs: the basic ROM, kernel ROM, and character ROM. A single One ROM can emulate all three. The firmware is performance critical, it needs to convert requests on the address pins to results on the data bus just as fast as it can and [Piers] employs a number of tricks to meet these requirements.

The PCB layout for the RP2350 required extensive changes from the larger STM32 in the previous version. Because the RP2350 uses large power and ground pads underneath the IC this area, which was originally used to drop vias to the other side of the board, was no longer available for signal routing. And of course [Piers] is constrained by the size of the board needing to fit in the original form factor used by the C64.

The One ROM code is available over on GitHub, and the accompanying video from [Piers] is an interesting look into the design process and how tradeoffs and compromises and hacks are made in order to meet functional requirements.

Continue reading “One ROM: The Latest Incarnation Of The Software Defined ROM”