Replacing Commodore 64 Key Mechanism by 3d Printing

Making Of / 20 December 2020

Yesterday I was detaching keycaps of my Commodore 64 to clean the mess under, because some of the keys were not pressing well. But while detaching the keycaps I broke 19 of them. Since the time passed, these key mechanism plastics got crunchy.

Normally this means you need to send your computer to service, and make them replace the key mechanism. Since there is no service of this brand, that mean I need to solve this myself.

First I tried to super glue the thing but it was not a good idea, since doens't work. After that, I decided to 3d print the parts that I broke down.

But first, I needed to remove the broken part inside the caps. For that, I used "wine cork technique" with a tiny screw! First I screwed it 3-4 steps into the broken part and I pulled it back.

Next, I modeled the existing part with Solidwoks by taking measures with calipers.

Before printing this kind objects that needs to be used on mechanical purposes, I make the slicing angular (about 30°). This way printing layers will be angular, so part will be more durable for the forces on the arms.

Since it is roughly 10mm to 18mm part, I wasn't sure that it will come out correctly. Because there is a rubber conductor part that needs to be attached to that part to make it work.  

I'm very happy with the result.

Time to attach the rubber conductor.

Let's apply the replacements!


Alignment is perfect as well!



Works great! Thanks for reading.

Also this part can be downloaded by this link: https://www.thingiverse.com/thing:4691398

Firepad 64 - V3 - Home Production Logs

Making Of / 08 December 2020

Hello, 

Recently I made an advancement on my Firepad64 design, which is the Version 3 (possibly the last update) for this device. It's a joystick replacement for Commodore 64 that has a keyboard layout for easy playing. You can check this post to see the first creation steps of this device:

https://www.artstation.com/blockmind/blog/zPLm/making-of-firepad64-joystick-replacement-for-commodore-64

I want to share the steps of the creation of this device because (except the PCBs) it's all homemade manufacturing which is a great achievement of our world has come to. I didn't even get out from home to create this "mechanic and electronic" product. So I find this important to share the details of creating an end-user product at home. It's cyberpunk! :)

Anyway, Version 3 of Firepad64 has 3 major advancements after the previous version.

  1. Professional Outemu brand mehchanical keys with regular linear (red) and clicky type (blue) versions.
  2. Backlit Lighting
  3. Screw Assembly instead of shrink-fit




This video shows some details of the product but it's in Turkish.


The most problematic part of this update was to adapt the Mechanical buttons to my existing PCBs. Because the pin positions are totally different. Since I have some 50 pieces of the previous PCBs, I decided made an adapter for the buttons to comply with my existing boards.




Without those adapters I was adapting the keys with prototyping boards. It was good for some 1-2 adaptations but it was not durable and it was so much time consuming to make the buttons adapt to my existing PCBs.


Wtih the help of the adapters it was easy for me to make usable mechanical switches in a fast way.


Next I 3d printed a template to make the perfect alignment for the keys before soldering them.

You can see the lighting under the keys. Best part of these mechanical keys, they are designed for to let the light under them. So I used a serial light cable which are used on new year lighting applications on homes to make the keys lit.

I assembled the PCBs.






This is how they shine like a Christmas tree :)

My next step was to finalize the 3d design and make the 3d printing. I made the whole design with Solidworks but I love how Rhinoceros show the CAD models. Look at this fast AO computation in viewport!

So I started 3d printing and assembled each set after they're complete.




Nice part about these keys is you can use regular keycaps.



So here is the army of Firepads :)




  


  

And finally the connector & cable design.










Time for boxing.


Enjoying Mr. Steven Wilson's great music while working on the stickers and product sheets.

...and voila!

I hope you like the steps of this home production phase for some friends from the community of retro gaming. Thanks & see you!

Easyflash3 Cartridge Case Design

Making Of / 01 November 2020
Hello! I made a 3d printable case design for my easyflash3. 


Easyflash3 is re-programmable Commodore 64 cartridge that supports all CRT files and fastload cartridge binaries like Action Replay, Final Cartridge Etc. You can find more details about it by this link: https://skoe.de/easyflash/

I used Solidworks to measure and model the existing electronic part first. I use calipers to measure all distances and clearences while creating the model. And next I modeled the case by referencening the electronic part.

This way I had a chance to get rid of that center screw which I don't like on cartridges. It's economic and easy way for an assembly but my version is more rock solid at the end with no loose fixation between case and the PCB.


You can download the models from thingiverse. I also added some label designs as PDF file. 


You can see the timelapse video by here:

Here are some photos of the assemblying 3d printed parts. Hope you like it, see you on next project :)



 

Firepad64 V3 - Cherry Buttons!

Making Of / 19 October 2020

I updated my Firepad64, a controller device which is used as joystick replacement for Commodore 64 and other compatible devices.


Firepad 64 has an adjustable autofire system and Arrow Key (or WASD) layout for easy to play classic games with classic devices.

Let's have a commercial break :)


Firepad 64 version 1 had the more rough buttons and turn type autofire adjustment handle. 

You can check all the details about Version 1 by this post:

https://www.artstation.com/blockmind/blog/zPLm/making-of-firepad64-joystick-replacement-for-commodore-64

Firepad V2 was the same case design with linear adjusment handle and old-school click-type mitsui keyboard switches. I desoldered these switches from some mechanical keyboards that one of my friends Lutfi Öner gave me as a gift.


You can check some details about Version 2 by this link (blog post is Turkish).

https://www.artstation.com/blockmind/blog/2KYQ/firepad-64-v2

And finally for best gameplay experience, I upgraded switch type with cherry buttons. For that buttons to be usable with my existing PCBs, I made an adapter board by using cheap prototyping boards. Because conductive legs of the cherry switches are not comply with my PCBs.


This is the single adapted switch for my firepad PCB.

Making these adapters and soldering the legs one by one is an overwhelming process, so I designed a PCB layout for that job. I didn't yet ordered the PCBs, so I'm not sure if they'll fit good. Until then, I will continue to make handmade adapters.

Hand made adapters work well too.


I even designed 3d printed custom keycaps!

Voila!

After this progress, I wired some LEDs for keys. Because I can even use translucent keycaps with these lights now.




After this touches, I finally made some Red & Black concept with keycaps to make a resemblance with most of the joysticks of the era. Red tone of my 3d printing filament didn't match perfectly but it looks all right.



And photo time with my portable BMC and Quickjoy Turbo joystick!

Portable BMC64 - https://www.artstation.com/blockmind/blog/NgDK/portable-commodore-64-design-with-bmc-64-emulator

Quickjoy Turbo Joystick - https://www.artstation.com/artwork/BrJz8



  



  


  




  


  

Case Design for Pi1541 Zero Compact

Making Of / 24 July 2020

I made another case design ( actually I modified the last one) to comply with the single Pi1541 compact which works with Raspberry Pi Zero.

The case I modified from was this: https://www.artstation.com/blockmind/blog/AnMX/case-design-for-pi1541-zero-epyx-fastload-combo-cartridge 

3d Printable Case design can be downlaoded by here: https://www.thingiverse.com/thing:4550955 

The PCB of the electronic part is not designed by me. You can purchase it by here:

https://www.pcbway.com/project/shareproject/RASPBERRY_Pi1541_ZERO_HAT_COMMODORE_64_DISC_DRIVE_EMULATOR_1.html 

I'm just dumping photos bewcause there is not much of a design struggle this time :)


Case Design for Pi1541 Zero & Epyx Fastload Combo Cartridge

Making Of / 14 July 2020

Hello, 

I made a case design for one of my friends' electronic component which is a both floppy drive emulator and a fastload cartridge for Commodore C64.

This time video is more explanatory then the blog content :)

This is the actual electronic part:


And this is my design:

Some assemble instruction I made:

And photos of the final product:


Electronic part can be purchased by this link:

https://www.ebay.co.uk/itm/Pi1541-Zero-Epyx-Fastload-Combo-Cartridge-for-Commodore-64-C64-SD2IEC-alt/133457648596

3d printable case is available free here:

https://www.thingiverse.com/thing:4541283

What is Pi1541 - https://cbm-pi1541.firebaseapp.com/ 

What is Epyx Fast Load - https://en.wikipedia.org/wiki/Epyx_Fast_Load



Creating Pixel Art with Commodore 64 Limitations

Article / 15 June 2020


Recently I got myself into some pixelart studies by doing it with Commodore 64 Multi Color limitations.

Let me tell you about this limitations. 

1. Fixed Color Pallette

Commodore 64 has a fixed 16 color pallette. Which is a strange choice of colors that made by the developers of the product.

For more info: https://www.c64-wiki.com/wiki/Color 

2. Resolution drop on multi color painting

Standard resolution of the Commodore 64 is 320 x 200 pixel. And C64 has 2 different bitmap modes. 

a. Hi-Res Mode

Resolution that meant by "Hi-Res" is 320 x 200 screen. To paint in this resolution, normally you can only use 2 colors in every 8 x 8 pixels block. You can't put a third color into a block if there is already 2 different colors are used there without totally overriding one of the existing colors on that block.

It maybe high (!) on resolution but it's very hard to create art with switcing colors in every block smoothly.

For more info: https://www.c64-wiki.com/wiki/Standard_Bitmap_Mode

b. Multi-Color Mode

To create a bitmap with multi color combinations, C64 needs to limit it's resolution to 160 x 200 pixels by halving the horizontal pixel count by defining 1 x 1 pixel as 2 x 1 pixel.

Grid in this picture shows square area of 8 x 8 pixels. But you can see that since 1 pixels are 2 pixels wide, 8 x 8 area can only be represented by 4 x 8 pixels. I prefered to make my work on this mode.

For more info: https://www.c64-wiki.com/wiki/Multicolor_Bitmap_Mode 

3. Color Count Limitation

Third and final limitation in Multicolor Mode is the color count in every 8 x 8 pixel block. You can use up to 4 different colors in every block, but one of this 4 colors should be a pre-defined fixed color in every block. Which is called "background color". By another means, you can use 3 different colors and 1 fixed background color.

In this picture you can see that I used 3 colors and additional Black color as background color.

After this 3 limitations you can create your pixel art for Commodore 64. 

I used Multipaint Software for windows for this process. It is very useful and nice designed software for several graphics modes not just for C64 but for many 8-bit computers.

Software homapage: http://multipaint.kameli.net/ 

Next I started to create what I can do with limited pixels. My first approach to create the painting of one of my cool devices. Portable BMC 64 which is an hardware for emulating Commodore 64. 


You can see the details of my design by this link:

https://www.artstation.com/blockmind/blog/NgDK/portable-commodore-64-design-with-bmc-64-emulator 


I loaded the very C64 bitmap with using the emulator itself on the picture. Nice kind of "inception", eh?

Next I go for the Firepad 64 device which I designed before. You can see what Firepad64 is by this link:

https://www.artstation.com/blockmind/blog/zPLm/making-of-firepad64-joystick-replacement-for-commodore-64 

and this (Turkish): https://www.artstation.com/blockmind/blog/zPLm/making-of-firepad64-joystick-replacement-for-commodore-64 


This time I recorded the whole process, and created a timelapse video. As you can see on the video. I combined the Firepad64 illustration with the BMC64 image. 

Let's load the image in a Commodore 64 emulator by itself :)

Since resolution is low, color transitions are too sharp because of the pallette color count, well, scanlines and CRT effect is a necessity when it's come to pixel art. 

Or can embroidery replace the CRT effects one day? :)


(BTW you can grab your free copy of Pixel art embroidery by this link: https://www.artstation.com/artwork/0XgWnV)

My next attempt was to recreate 8-bit version of Furio Tedeshi's amazing work "Dormant".

You can check his art by this link: https://www.artstation.com/artwork/z6eYw 

I made another timelapse video:

Time to check it on real Commodore 64 and real CRT screen this time!

...and embroidery time!

It was real fun making this kind of pixel art by the limitations of 38 years old hardware. Thanks for reading. Cheers!

Portable Commodore 64 - Some Progress

Making Of / 27 May 2020

Hello,

Check this video first!


Previously I made some conceptual design for my portable C64 with cardboard placement.

After finalizing the electronic and mechanic components, I made de rough placement into a cardboard which you can see more details on this blog post.

https://www.artstation.com/blockmind/blog/QlQE/a-proof-of-concept-portable-commodore-64 

This time I designed interior stands to hold all compoenents in a way that made on the cardboard placement. So I measured all compoenents back, and designed holder skeleton stands. These stands will be able to fixed in a planar surface at the ground.

 You can see some progress screenshots from Solidworks.

 



While designing the stands, I started to 3d print them and try to see if they fit and cables are OK starting from the bottom keypad and analog converter board.


To save space, I tried my best to place all components in 2 or 3 layers.  

So I moved on to the upper part with analog controller.


I made the connections through test solders of the raspberry pi as much as I can, to get rid of using connectors. Because the consume to much of space.  

Next I printed the stand that holds USB controller, Raspberry pi and the Screen.

It fit great!



Only menu navigation buttons set and the battery pack is remained.

And finally I printed the battery and navigation key stands with black PLA this time.



Everything in it's place but they are not fixed.

To fix everything on a wooden plate, first I extracted a bottom surface drawing from Solidworks.


  

Printed the drawing and checked if it's correctly scaled with the reference dimension on the drawing.

I glued the template to the wooden plate and drilled the holes with a screw (first I printed the mirrored template by mistake!).

And finally fixed!







 



Look at that screen with CRT Filter! Imho it's almost perfect for  a 800 x 480 pixels screen.

See you on next post!

Creating a Pi1541 with a Pi Zero and Case Design

Making Of / 23 May 2020


Hello,

Previously I made a case design for the Pi1541 standard "hat" circuit to place over Raspberry Pi 3 devices. To see what is a Pi1541 and what it's used for you can check my previous blog entry:

https://www.artstation.com/blockmind/blog/n178/pi1541-case-design-hobby-project 

This time I assembled the electronic part by myself, using a prototyping PCB, by following the instructions on this page:

https://cbm-pi1541.firebaseapp.com/ 

Fİrst I started iwth this circuit diagram.

I made my layout in Excel to place the components onto the prototyping PCB.  

 I also checked the layout with physical items.


After several hours of soldering I completed the circuit (looks like some device from the "Back to the Future". 

...and I tested it out by conencting to my Commodore 64.


Now it's the fun part: the case design.

As usual, I used Solidworks to design the case. I took measures of the existing circuait with calipers and then made the case design by checking the clearences. Here is the modeling timelapse:

I printed the design with my 3d printer and applied to the circuit.







All good except I fotgot the LED holes! 

So I drilled the holes with screw driver.

Nearly ruining the print!

Fİnally better than nothing.

I soldered the LED extension cables.




And it's complete.

Working good as a disk driver on real C64.



See you on next project! Cheers!

SD2IEC Circuit and Case Design

Making Of / 26 April 2020

This weekend I made an SD2IEC circuit with prototyping board and some more components, then I designed and printed a case for it.

SD2IEC is a device that fools Commodore 64 to read / write floppy disk images with an ATMEGA microcontroller. It's not a cycle exact emulation, so it has flows on using on real c64. But it has also a unique type of use by it's nature. Like sid file listing for a Sid player or transfering non-standard files between other C64 devices (for example transfering CRT files to the Easyflash Cartridge).

More about SD2IEC can be found by these links:

https://www.c64-wiki.com/wiki/SD2IEC 

https://sd2iec.de/ 

https://github.com/rkrajnc/sd2iec

There are several revisions and variations of this design but I followed the circuit design on this link: http://pungas.space/blog/index.php?option=com_content&view=article&id=8:build-your-own-sd2iec-with-or-without-pcb-in-english&catid=8&Itemid=102 

I checked the connections on the schematics and made layout by considering the best short connections for all components. Since the hard part here to program the microcontroller with a programmer, I passed this part with the help of a friend who already made the programming for me and sent the microcontroller to me. Thanks to Türker Gürevin!


  

Next, I made all the soldering according to the schematics with naked coppers and cables.


Nest step vas to make a cable for the IEC plug of the C64. I use and like flex cables for this kind of job.


And for doubling that din cables, I used a on-cable IDC connectors. This way I don't interrupt the flow and also can add parallel connections to the cable.

After completing the soldering and cable preparation, I connected the device to my real C64 and tested it. Works nice!

Playing some sid music from the listed files within the SD2IEC.

So after the electronic part is complete, I made a quick design for the case. By using Solidworks of course!

First I created rough geometry of the electronic part and the buttons etc. to see the critical clearances better while designing the case. I took measures with calipers and entered the dimensions while modeling.


After making the rough object, I completed the case design by making it in 2 parts with a wall thickness. 



  

Even I don't like it, but this time I designed the case to be glued to stick the parts. Main reason is getting lazy but other reason is, making a case assembly by shrink-fit or screws needs to expand the outer boundry over the borders of the PCB. It means larger case. Since the electronic part doesn't need any maintenance (SD card is accessible from outside) I made it this way.

This is ithe simple button cap design for to use over the tactile buttons:

And finally I exported the files for 3d printing which took around 3 hours total for the whole set.

I'm so happy when the designed material is totally comply with the real object after manufacturing it :)

Top part and the button caps. 

Gluing the parts (arrgh!)

And finally we have the device. I made the 3d printing in a low quaility. But it's better than nothing :)







Copying from SD2IEC to real floppy disk.

So this was a quick project but I was in need of that device because of it's extraordinary nature. It has unlimited capacy for a floppy disk, so you can save as much as "freezes". Freeze is a snapshot from a game or program by dumping the bits on the memory to a disk to load it anytime when you need a break. freezes created by freeze cartridges like Action Replay, Final Cartridge etc.

So SD2IEC took its part on my Retro Corner.

Thanks for your time, I hope you like it.

Cem