Retrocomputing by Macc
The facelift64 project
January - August 2025
In brief, the facelift64 project is a reimagining of the C64's appearance, along with virtually every accessory I own that connects to it. This includes the C64 computer (with its keyboard), the 1541/II and 1581 floppy drives, cartridges, a monitor made from an iPad4, a custom-designed power supply, and cables (yes, even those). This description covers the project, the technologies used, and the implementation process.
Before diving into the details and process description, here's a small gallery of the final result.
The whole project started when I was looking at my old yellowed, worn-out C64 alongside my Amiga 600, and I got the urge to design some sort of Amiga-style case for it. A few months earlier, I'd replaced my old, worn-out beginner 3D printer with a brand new Bambu Lab A1. Compared to my old printer, this was capable of printing so much more beautifully that I thought it might be possible to achieve quality similar to factory injection-moulded enclosures. So I started designing, and within about a week (being a hobby project alongside work and family), I had a printable model: an Amiga-like enclosure for the C64.
Before printing the first actual enclosure element, it's very important to calibrate dimensional accuracy. I learnt this the hard way by printing the two large pieces of the bottom enclosure from half a kilo of filament over 20 hours, and when I tried to screw in the motherboard, I discovered that if the screw hole aligned on one side, there was about a 1.5mm discrepancy at the furthest hole. So I printed a small ruler, measured it after printing, and found a 0.5% deviation. Thus, on my printer, with a certain filament type, I need to scale elements to 100.5%. With another type, it was 100.2%, as I later discovered.
This enclosure, like the original, consists of two main parts: a bottom and top element. However, since the printer can't print at this size, both elements were cut in half and designed so they could be joined together with screws. I rejected gluing because, besides being difficult to do neatly without visible traces on the outside, I couldn't find an adhesive that could bond PLA strongly enough to withstand mechanical stresses (e.g., if I grab the machine by one side and lift it). The joining itself is done by sanding the mating surfaces smooth, then screwing them together. After that, I assemble the bottom and top elements the same way as with the original enclosure: hooking them together at the back and screwing them together at the front from below (with 4 screws instead of 3 for symmetry, due to the central joint).
After the enclosure was finished, the visual catharsis wasn't complete, as the keyboard was still the original one, almost completely yellowed, and the shape of the keys didn't match the case either. So the project called for designing new keycaps. Again, the Amiga was the inspiration. I designed all the different keys. The shape changes slightly in each row, and there are double and triple-width keys, and marked ones (F, J). I modelled the bottom connection of the new caps on the original keys, so using the C64 keyboard's frame, the new keyboard was completed. Well, not quite—I had to modify it a bit to fit the new case: specifically, I had to completely cut off the bottom mounting tab, and trim 1cm from the right side of the keyboard (including the PCB). This is only possible with certain types—more precisely, only one of the two types I had available.
Meanwhile, my SD2IEC device arrived (this is a floppy drive emulator that uses SD cards), which didn't really win me over, and it brought a pile of extra cables to the existing cable jungle: a power cable (USB) and a strange data cable DIN↔USB A (only in appearance, the wiring is custom). So the challenge was set: build it into the case so the SD card could be changed from outside, and the buttons would be in the right place. Since the little device's buttons were mounted on its motherboard, they definitely had to be relocated, so they were moved to a small external PCB, which, when mounted inside the enclosure, gave us the desired button row. Last but not least, an LED position was needed so we'd have visible feedback from outside as well.
This could have been the end of the story if I'd been satisfied with the result, but I wasn't, and fortunately, I thought of something completely different in terms of form. It looked very good in my head, so I started designing the idea to be as small as possible, eliminating all unnecessary bulk. Thus began another complete case design encompassing everything: every little screw mount, port output, keyboard mounting points, LED positions, joints, fasteners, screw holes, ventilation grilles, etc. So after another 10-12 hours of design, the new version was ready for printing.
Here, however, I'd like to delve into the details a bit, because there was an important change in the printing method that the new form allowed, whilst the old one didn't. It's really about the fact that when you print something that doesn't lie flat against the printer surface, you have to support it, and those surfaces on the finished print that were supported during printing won't really look nice. In the previous model, these fell on the inside, so they weren't visible from outside, but the joining of the bottom and top elements wasn't perfect because of this. The external surface of this same element was the top of the print, which usually turns out quite nice on the Bambu Lab A1, but the printing lines were still visible there. But the part of the print that lies against the printer surface can be as smooth as the plate you're printing on, and if that's a smooth plate, then it's beautifully smooth. So the new model could be designed so that every surface facing the outside of the case would lie against this smooth surface, and the internal surfaces would be on top during printing, which is both beautiful and, most importantly, precise. Thus, the new case is almost silky smooth on the outside, whilst inside it can deliver very high-quality print surfaces.
So I set about designing the new case based on this principle. To be able to print the case this way, I had to break it down a bit further, so from the bottom and top elements came 2 top and 3 bottom elements. And these had to be further halved to fit on the printer surface. So in total, 10 elements had to be printed, which became 5 pieces after I joined the pairs together. These could then be nicely screwed together without any sanding, so in the end, I got the bottom and top elements. The keyboard frame also had to be printed, because after further modification, the original could no longer be mounted. From the original keyboard, only the PCB, springs, and the key mounting posts remained usable. So the case was finished, I assembled it, and... I didn't like it. The form wasn't right, or rather, the form was right, but not to look at. No matter where the light came from, you couldn't feel that the surface was tilted, and it looked clunky. I was a bit disheartened, but I still felt this form could be good; something was just missing.
I started playing with a few adjustable dimensions, but it still wasn't quite right.
Beyond the dimensions, the next version got a small minimal shape change—really just tiny details—and shrank a bit more, and finally, the version christened REV3 was born, which I finally felt good looking at. I was finally satisfied. Meanwhile, my Megara also arrived, so I nicely installed it along with the SD2IEC, for whose buttons my first custom-designed PCB also arrived. So finally the case was finished, could be assembled, and tested. It felt very good using the machine like this. I can't even explain it. It's like when someone used to replace a bad CRT monitor with a good IPS, and the blurry, distorted image became sharp, clear, and regular. Or when you replace a shabby keyboard with a beautiful, good, new one—it's almost a different feeling using the machine afterwards.
This was helped by the monitor made from an iPad4, on which I displayed the C64 image through a RetroTink2x, using the C64's S-video signal as source. The image was also stunning. The rasters are as needle-sharp as they were on my old green-and-white monitor with the monochrome image. Exactly that "clean" view, but now in colour too (see below)!
A particular challenge was integrating the SD2IEC and positioning the buttons and connecting them to the small push buttons on the PCB. The main problem was lack of space, as the buttons fall right at the bottom half of the motherboard's left side, and there's an old IC in a socket right there, so the PCB simply won't fit behind the buttons. The solution was a small triangular rocking element that converts sideways button presses into upward pressure, so I could position the PCB horizontally higher up so it wouldn't clash with the old IC. This solution will be useful later on as well...
I'm trying to proceed chronologically, so now I'll move from the C64 to the 1581 floppy drive. It wasn't born as simply as I'd imagined. The story of how I didn't get an original 1581 is quite embarrassing in itself. About 20 years ago, I saw one advertised on a Hungarian auction site for 25,000 HUF, and I thought that was too much (at the time, I bought a Mac Classic II for 2,500 HUF, and it still worked!). Then when I'd accepted a few months later that this was its price, it was already 50,000 minimum, which I again thought was too much. When that became acceptable too, it was well over 100,000 HUF. I was foolish, so this year I finally decided to build one. I ordered the kit from the worst possible place with the most expensive shipping, and after assembly, it didn't really want to work. There's no support either—despite writing to our friend Chris several times, he didn't even dignify me with a response. Finally, it turned out the floppy controller IC was faulty; I got a defective one with the kit, but at least the second one I ordered worked, so I finally had a working 1581. First, I printed one of the replica cases available online and built it into that, but since I'd really got into enclosure design, I got the urge to make a more compact version of it. Thus was born the facelift64 version of the 1581, which became the most compact possible. It no longer looks clunky next to the new 64.
The 1541/II floppy drive became the next victim; it also underwent shrinkage and became centimetres smaller in every direction than the original. With these modifications, I always try to ensure that the original internal parts fit into the new case without modification, but even so, I run into things like the original LED PCB not fitting anywhere at the front. Fortunately, with this case, it could be solved by cutting the original small PCB smaller. Everything else fit 1:1, even the EPROM (JiffyDOS) used instead of the original ROM fits, because it's 1-2mm taller.
The iPad4 display is also part of this project and was completed around this time (after the C64 and floppy drives). However, 1-2 years earlier, whilst I was using my rubbish printer, I made a monitor for an iPad1 display—that was my first complete case, and it turned out quite badly: neither beautiful nor good. It held the display together with the controller PCB and stood on its legs, even if it wobbled occasionally, but at least the display didn't fall off. Later, with the Bambu Lab, I designed a more properly thought-out enclosure for this rubbish case, which I think turned out much more tasteful, but mainly much more solid, and the leg could even be adjusted so it could be a portrait display. So, returning to our timeline, a slightly redesigned version of this case became the iPad4 display's case. Naturally, the controller isn't identical to the previous display's either. The latter is, incidentally, an AliExpress miracle. I call it a miracle because when I ordered it, the controller IC's datasheet didn't even list the iPad4's full resolution among the supported resolutions, but when it arrived and I tested it, it turned out to drive the display beautifully, with every single pixel having its own life. And the miracle is that this controller eats 15kHz VGA signals, so the display is perfect for directly connecting an Amiga (600 or 1200, for example, that has a VGA output), and it can use this display for almost all its resolutions. I love it.
One more thing about the display: it was made before the facelift64 project, so design-wise it doesn't quite match this line, so a new design was also made for it.
Now that so many devices were finished and I'd put them to use, another problem arose: all those brick power supplies with their long, stiff cables, which are not only ugly but take up loads of space. What bothers me most is that virtually everything needs some sort of power source. The C64 has a brick. The floppy drive (only one at a time) was powered by a modded Amiga power supply—I needn't say how big that is, and its cable is so stiff I can practically lift the floppy drive by it. The display needs 12V, supplied by a separate little plug-in power supply. The RetroTink2x Pro expects 5V via micro USB; that also has a little plug-in brick. If I connected another floppy, I'd need another giant brick. In short, I wanted to deal with this big pile of rubbish in a slightly more compact form, so the project's next element became a custom-designed power supply. The goal was for one power supply to power the entire system. Its size limits the number of devices that can be used simultaneously, as you can't put infinite connectors on it. So according to the plans, what the power supply needs to be able to do: 12V, 5V outputs, plus connectivity for C64, floppy drives, and Amigas. For this, it needs 12V, 5V, -12V, and 9V AC. Since I couldn't solve these voltages with one device, two separate devices provide the appropriate voltages. One is a MeanWell RT-65B, which provides the 12V, -12V, and 5V; the other is a small AliExpress no-name transformer that provides the 9V. The next task to solve was that if I also wanted to use an Amiga from this power supply, all three of its circuits (+/-12V, 5V) had to be switchable. I finally solved this with a 2-circuit relay and a mechanical switch. This switch switched the 5V, and this switched 5V powered the relay, which switched the 12V and -12V on the two circuits. And since I have 2 Amigas, I designed 2 switchable outputs. The other 2 outputs were reserved for the C64; these don't need to be switchable, and beyond the above, the 9V is also brought out here. I used Molex connector sockets: 2×4 for the C64, 2×3 for the Amigas. I solved the pin assignment so that the 2×3 can also be plugged into the 2×4 so it picks up exactly the voltages it needs. The floppy drives also get power from such 2×3 sockets.
The next step, closely related to the power supply, was making the cables. It was necessary to replace the old ugly, properly grubby cables too. Only the connector enclosures were printed; their factory equivalents were very crude and ugly. Some didn't even have enclosures on the Molex side. I should note here that soldering cables isn't among my favourite tasks. Quite the opposite!
As a little finger exercise, I designed enclosures for my 2 cartridges: an ancient Action Replay MK6 and a recently released KungFuFlash2. For the latter, it was almost mandatory, as the original printed enclosure didn't meet my visual expectations in any way. And the KungFuFlash lettering, well, good heavens, it doesn't really catch my eye. So something had to be done.
There was a small issue with the keyboard that bothered me a bit: it definitely needed a donor, and that wasn't usable in its original form; it had to be modified. Moreover, only one specific type was suitable for this modification. Furthermore, I would have had to make several different keycap types to remain compatible with all types, and I didn't have much appetite for redesigning that. Printing keys is quite tedious in itself. It takes a very long time—nearly 70-80 hours of printing before all the keys are finished. Moreover, the material for exactly the best colour is a bit different from the others, which meant that after the first printed layer, if I didn't manually help the extruder (which feeds the filament to the nozzle), it tended to jam, and then either the printer would beep or it would print nothing for X hours. So, in short, printing keys isn't good fun, nor is designing them. So I finally concluded that a really good solution was needed: a custom-designed mechanical keyboard. With hot-swappable switches, with a Shift-Lock circuit (because the cherry switch that works identically to the original hasn't been available for about 5-10 years), detachable cabling, etc. So I could get out Sprint Layout again and finally design a proper-sized PCB. Unfortunately, I don't understand circuit design, but I found a similar project that was open source and contained exactly this circuit, so I copied it, redrew it a bit, and it was ready for production: the board christened PROTOTYPE1. The PCB was made by Nyakruház Ltd (happy to give them free advertising), and it turned out very beautiful (see photo). For this new PCB, I also had to design/print a new frame, which then mounts the switches to the PCB, and then the whole frame can be screwed to the enclosure. For the switches, I had to redesign the keycaps and print them again (hah!). Finally, it was finished. Oh yes, and one small detail. The Shift-Lock key got a transparent hole filled with PETG, through which the shift-lock LED shines, indicating its state. The electronics work, with one tiny annoying bug: it always turns on, but sometimes it won't turn off. Then you have to press it 1-2-3 times again, and suddenly it turns off. Quite annoying, especially if you've accidentally pressed it beforehand.
Finally, the last piece of the project elements completed to this day became a BT module. The original C64 RF tuner position was left empty on the Megara. So the enclosure was also designed so that a cover could be popped out of the rear enclosure at this section, which could be completely covered, could have an opening for the RF tuner output if we wanted to use an original C64 motherboard, or could even have an audio output designed here. I put a small Bluetooth module here, with a button and LED brought out to the rear wall. It works perfectly. I particularly like that I can now listen to the little machine with my BT headphones without having to cable any external device to it.
The facelift64 project elements and their details
-
C64 - Amiga design
- Enclosure: 4 printable elements, PLA (~10h/element)
- Keys: 66 printable elements, PLA, 2 colours (~10h/10 elements)
- Badge: 1 printable element, PLA, 2 colours
-
C64 - Amiga design - SD2IEC
- Enclosure: 1 modified printable element, PLA
- PCB stand: 1 printable element, PLA
- Buttons: 1 printable element, PLA
- PCB: 1 piece, 2-layer
-
C64 - REV1, REV2, REV3 design
- Enclosure: 10 printable elements, PLA + PETG support interface (~4h/element)
- Keyboard: 1 printable element, PLA
- Keys: unchanged...
- SD2IEC button PCB holder: 1 printable element, PLA
- Buttons: 1 printable element, PLA
-
C1581 - redesign
- Enclosure: 3 printable elements, PLA + PETG support interface (~5h/element)
- Stand and button: 2 printable elements, PLA
- Badge: 1 printable element, PLA, 2 colours
-
C1541/II - redesign
- Enclosure: 3 printable elements, PLA + PETG support interface (~5h/element)
- Accessories: 1 printable element, PLA
- Badge: 1 printable element, PLA, 2 colours
-
Power supply
- PCB: 1 piece, 2-layer
- Enclosure: 2 printable elements, PETG (~5h/element)
- Front panel: 2 printable elements, PLA
-
Mechanical keyboard
- PCB: 1 piece, 2-layer
- Frame: 1 printable element, PLA (~5h)
- Keys: 66 printable elements, PLA, 2 colours (~10h/10 elements)
-
Connector enclosures
- Molex 2×3, 2×4 enclosures, PLA
- DIN enclosure, mini DIN enclosure, square DIN enclosure, PLA
-
Cartridge enclosures
- Action Replay MK6 + buttons: 2 printable elements, PLA
- KungFuFlash2 + buttons: 2 printable elements, PLA
-
Bluetooth module
- Rear panel, button, mounting: 3 printable elements, PLA
In conclusion, the finished C64 (facelift64) became a device I feel good about turning on and using. Thanks to this, I've started developing and making music on the C64 again. The configuration now looks like this:
- C64 - facelift64
- Megara motherboard with original ICs
- Fully integrated SD2IEC with external buttons, SD card slot, and LED
- 2 SID chips (in this config, an 8580 and a 6581 as second SID)
- KungFuFlash 2 cartridge, by default as 1MB REU memory expansion
- JiffyDOS kernel ROM
- Bluetooth 5.3 audio module
By development, I mean: on one hand, I made a full-screen spiral with 284 collapsed side border raster lines and 68 sprites; on the other hand, I started making a file browser for more convenient SD card use. The existing ones simply didn't appeal to me and were a bit uncomfortable. What I'm making has the following features:
- SD card content display, listing folders and files
- Opening files, loading into memory
- List caching for faster navigation
- File sorting by alphabet or size
- Text file display
- SID file playback
There are still a few functions I'd like to implement:
- File copying, renaming, deletion
- Long filename handling
- Image file creation (.d64, .d81)
- File sorting (default sorting used by the LOAD"$",8 command)
I've made 3 pieces of music recently, each a reinterpretation of an existing piece on SID. The first was made together with Munu (my daughter, who wonderfully appreciates SID music): a version of Max Richter's Vivaldi/Four Seasons Summer III.
The second is a suddenly inspired arrangement of Gravity Falls Main & Weirdmageddon Themes
The third is an adaptation of Jules Gaia's Break Fast...