Linux on a Commodore 64

Linux can now be run on a Commodore C64, although there are a few limitations. The C64 runs the operating system extremely slowly and requires a RAM Expansion Unit (REU) due to its limited memory capacity. Virtual memory is emulated with an MMU. The author requests a timelapse video of an original C64 unit booting Linux on real hardware. To build and run Linux on the C64, use the provided makefile, and for assembling it into the REU image needed for emulation, use the mk_linux_reu.py script. The performance of the compiled 6502 code can be optimized further. The author also mentions the possibility of implementing a checkpointed VM and running X on an emulated framebuffer device. A minimal Micropython port is also mentioned. The generated semu executable can be used to run any RISCV32 executable within the emulated UART address range. A fork of the kernalemu program with “REU support” is also available. The author acknowledges the previous work that made this project possible.

https://github.com/onnokort/semu-c64

To top