Everything you need to start with the Pi Pico – Beginners guide for the Raspberry Pi Pico
13th October 2023Cheap Windows and Linux Mini PCs – Turn a Thin Client into a Full PC
27th October 2023Bare Metal Emulation on the Raspberry Pi – Commodore 64
If you’ve tried out some retro gaming you’ve probably had a go at emulating some old 8 bit home computers like the Commodore 64 or ZX Spectrum. But mostly we just boot up straight into a game and start playing. Whilst this is great fun you don’t ever get to experience the actual computer. Everything just becomes a series of software titles that look a bit different from machine to machine.
In this video we’ll look at how you can get a bit closer to the original experience feel of these iconic machines, starting with the Commodore 64. We’ll still be using emulation, but we’ll be doing it directly on our Raspberry Pi hardware.
So let’s see how to build your own Commodore 64.
Parts I Used
10 inch HDMI display for Raspberry Pi
https://amzn.to/3Mcu3Tf
Raspberry Pi 3
https://amzn.to/3Qab4ts
Raspberry Pi 4
https://amzn.to/407Tmv9
Micro SD Card
https://amzn.to/45IWqzh
Bare Metal Emulation
Bare metal emulation is a technique where we ditch the usual Linux operating system leaving only the basic board BIOS intact. This firmware provides access to all of the board functions at a low level so we can then load in an emulator package that turns the Raspberry Pi into the computer system of your choice.
The upshot of doing this is that when we power on the Raspberry Pi it will almost instantly (4 or 5 seconds!) boot into a Commodore 64.
This very closely mimics the experience you’d have gotten when you first unpacked your machine back in 1982 and plugged it into your TV set. Just the blue boot screen and a flashing cursor waiting for you to tell it what to do.
From here you need to learn how to use the computer to tell it how to load disks, you can type in your own code, or just generally poke around trying to get the Commodore 64 to do something.
You can of course easily get it to play games through some simple emulator menu commands, but that’s not really what this is all about.
Why Bother?
You might well ask why bother making it harder to play games.
Bare metal emulation gives a much more authentic feel to retro computing. We’ve basically replaced the original hardware with a Raspberry Pi allowing us to get around the cost and hassle of running and maintaining 50 year old electronics. The emulators, and we’ll be using a version of VICE for this project, usually allow you to interface with original accessories such as keyboards, joysticks, etc.
Many of these accessories can be bought new so you don’t even need to start hacking up dead machines. For the Commodore 64 you could buy a brand new breadbin style case, add a new C64 keyboard and then mount your Raspberry Pi inside the case to make a totally modern replica of the real thing.
Download the original user manual and you’re straight back to Christmas morning in the early 80’s.
Of course, it’s up to you how far you take this recreation and you can end up spending quite a lot to replicate a single machine, but the option is always there.
For me, and in this tutorial, I’ll be showing you the basics of getting the bare metal Commodore 64 up and running as a standalone machine and how to get a real feel of what the original home computing experience was like.
Useful Links
BMC64 Code Repository
https://github.com/randyrossi/bmc64
BMC64 Project Site – Download from here!
https://accentual.com/bmc64/
Commodore 64 Cases and Keyboards
https://www.ami64.com/c64-cases
VICE keyboard map
(keyboard image from https://www.waitingforfriday.com/?p=470)