The Commodore 64 is a computer that has managed to reinvent itself time and again for the past... 41 years, if my calculations don't fail me. Fortunately, the market offers all kinds of mods to keep enjoying this system, and there are also replicas of its PCB that help us build it from scratch, but what we have here today is a project called semu-c64, which presents a particularly slow and complex way to run Linux on a Commodore 64. How slow? Well... how does a week to boot sound?
Despite carrying the number "64" in its name, the available memory for BASIC on an unmodified Commodore 64 is 38,911 bytes. Some of the emails we receive today no longer fit in that space, but they were many bytes in 1982, and also very expensive (adjusted for inflation, a C64 was worth $1,885 at launch).
However, the Commodore 64 has never stopped being a source of inspiration, regardless of its RAM or its CPU frequency.
Why do I say this? Because Onno Kortmann shared on GitHub a project called semu-c64, which allows us to load Linux on the classic computer... or rather, its emulated environment.
semu-c64: Can we run Linux on a Commodore 64?
After studying the technical details of the project, I think the correct answer is "more or less".
Basically, what happens here is that Onno uses VICE (C64 emulator) to run a generic RISC-V32 emulator and virtual memory with an MMU (which means VICE must be configured with a memory expansion unit).
In other words, semu-c64 was not tested on original hardware, and perhaps will never be.
Why? Because a real Commodore 64 would probably take about a week to boot Linux.
Using Warp mode in VICE can reduce the wait to "a few hours", but that means increasing the processor speed to more than 1,200 percent (as shown in the image).
The most interesting thing is that Onno mentions several optimization points, so there will likely be even faster versions in the future.
Access the project: Click here