Skip to the content
PCBKitNew board
2 layers49.3 × 81.5 mmC64-Mega Switcher, the printed circuit board in 3D

C64-Mega Switcher

tebl/C64-Mega-Switcher20

Adapter for using Sega Mega Drive/Genesis controllers on a C64, with builtin port switcher so no more cable switching!

Size
49.3 × 81.5 mm
Copper layers
2
Thickness
1.6 mm
Parts
34
Nets
40
Pads
142
Tracks, vias
477, 64
Pours
1
Routed
Yes
KiCad
KiCad 4
Created
31 Jul 2019
Updated
28 Sep 2019

Overview

C64-Mega Switcher is an open-source printed circuit board by tebl, from the tebl/C64-Mega-Switcher repository on GitHub. It is a 2-layer board of 49.3 × 81.5 mm with 34 parts on 40 nets, routed with 477 tracks and 64 vias.

It is built around the 74HCT4053D, NE555 and BC547. Its parts include 12 diodes, 7 resistors, 5 connectors, 3 capacitors and 3 ICs. It belongs with the retro computing and games and interfaces and adapters boards of this library.

Main components

3

README

README.md

C64 Mega Switcher

With 8bitdo starting recent productions of new quality wireless controllers for the Sega Mega Drive/Genesis, I thought it was time to look into adapting the usage of these with the Commodore 64. Normally a controller of this type would be HARMFUL to your C64 WITHOUT using of a suitable adapter, a great one was made by SukkoPera a while back and I've taken a lot of inspiration as well as lifting a couple of the kicad footprints from his OpenC64MegaDrivePadAdapter. What this project aims to add into the mix is a way of swapping the active port your joystick is connected to at the press of a button, that way you don't have to fiddle around with cables every time you try out a game that for some reason insists on having the joystick in the other port!

I could probably have made one that was a lot smaller by using SMD, or possibly even a lot more dynamic one by the use of an AVR at it's core, but I wanted one that was easy to build and does not require any other skills than pointing the hot end of a soldering iron to the requisite parts. Hopefully it'll be something anyone can build and have fun with!

Revision B with 8bitdo M30

Building the switcher

Soldering together the few components should be easy going as long as you have access to reasonable tools, personally I'm using a cheap soldering station with adjustable temperature so no need to go expensive if you don't have to. Use 60/40 soldering tin, the lead free makes to job a lot harder if you're new to the hobby.

Start by studying the PCB, both sides and perform dry fits to see that you have an idea of where everything goes since removing things is always a lot harder than getting it right in the first place (match orientation to symbols, see gallery images for reference if you're unsure). The diodes are installed standing, the stripe goes into the board so that it is laying directly against the board - a hint for making these look pretty, is wrapping one of the wires around a small screwdriver to get the loops looking almost identical!

The female DB9 connectors used for port 1/2 comes with a metal shroud, this comes off when you remove the two screws that would be in the way anyway. Given that the C64 ports are made out of plastic, the metal shroud is not needed though you could possibly keep it by gluing it to the connector if you really wanted to and then filling in the screw holes with solder to keep them together afterwards. Do a testfit of the connectors with the C64 before soldering them to the board, this is recommended in order to avoid adding any stress to the C64 board, usually I keep the metal anchors as they keep the connector from wriggling around too much.

I recommend putting something underneath the board, so that it isn't flexing too much when pressing the buttons. Nylon standoffs cut to size, extreme amounts of layered tape - you decide what works best for you and whatever leftovers you can find in the parts-bin!

Components

Using the switcher

Firmly insert the switcher into the C64, making sure that it is inserted the whole way and fits firmly without feeling loose. When playing a game, if you encounter a game that expects a joystick inserted into the other port, just press the button for the port you want to use instead. The module supports alternate fire, in other words the second button that was found on the ill-fated Commodore 64 Games System console - this works, but I've so far only tested it with Robocop 2 on cartridge.

WARNING!

  • Do NOT move any of the jumpers while the computer is switched on, doing so may cause damage to it. Always power off first!
  • Do NOT jumper so that more than one button/direction does the same thing, for example: if you jumper the B button for UP, then you have to REMOVE the jumper enabling D-PAD UP!
  • In essence, just make sure to only jumper once per vertical or horizontal line of jumpers. Personally I use C as the primary fire button, B is jumpered as alternate fire for the few titles that support secondary fire buttons. If in doubt, refer to the image at the top.

Schematic

The supplied KiCad files should be sufficient as both a schematic and as a starting point for ordering PCBs (basically you could just zip the contents of the export folder and upload that on a fabrication site), the schematic is also available in PDF-format and this is what you'll need to print and work your way through this things don't work as expected after assembly.

BOM

Most parts should be easy to get a hold of from your favourite local electronic component shop, but given that I don't have access to such shops where I live so everything was based on whatever I could get cheapest from ebay/AliExpress (free shipping, plan on usually waiting 3-4 weeks though). Parts listed in parenthesis are optional and is only used for the secondary fire button, so you can safely skip these unless you want the whole thing built in one go (BC547 can be substituted with a 2N2222 connected the wrong way around).

ReferenceItemCount
PCBFabricate using Gerber files (order)1
C1-C3100nF capacitor3
D1,D25mm LED2
D3-D121N4148 diode10
R1,R210k ohm resistor2
R3,R4220 ohm resistor2
R5,R72k2 ohm resistor(2)
R6100k ohm resistor(1)
Q1BC547 TO-92 transistor(1)
U174HCT4053 or CD4053 DIP-162
U3NE555 DIP-81
SW1,SW2SPST momentary push button2
JP12-pin straight header1
J1,J2Female DB9 right-angle connector2
J3Male DB9 right-angle connector1
J4,J52x2-pin straight header2

Parts

34
QtyValueFootprintReferences
101N4148Diodes_THT:D_DO-35_SOD27_P2.54mm_Vertical_AnodeUpD3, D4, D5, D6, D7, D8, D9, D10, D11, D12
3100nFCapacitors_THT:C_Disc_D4.7mm_W2.5mm_P5.00mmC1, C2, C3
210kResistors_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR1, R2
2220Resistors_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR3, R4
22k2Resistors_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR5, R7
274HCT4053Housings_DIP:DIP-16_W7.62mm_SocketU1, U2
1100kResistors_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR6
1BC547TO_SOT_Packages_THT:TO-92_Inline_WideQ1
1B_SELPin_Headers:Pin_Header_Straight_2x03_Pitch2.54mmJ5
1C_SELPin_Headers:Pin_Header_Straight_2x03_Pitch2.54mmJ4
1Mega DriveRND:DSUB-9_Male_Horizontal_P2.77x2.84mm_EdgePinOffset7.70mm_Housed_MountingHolesOffset9.12mmJ3
1NE555Housings_DIP:DIP-8_W7.62mm_SocketU3
1P1_LEDLEDs:LED_D5.0mmD2
1P1_SELButtons_Switches_THT:SW_PUSH_6mmSW1
1P2_LEDLEDs:LED_D5.0mmD1
1P2_SELButtons_Switches_THT:SW_PUSH_6mmSW2
1Port 1RND:DSUB-9_Female_Horizontal_P2.77x2.84mm_EdgePinOffset7.70mm_Housed_MountingHolesOffset9.12mmJ1
1Port 2RND:DSUB-9_Female_Horizontal_P2.77x2.84mm_EdgePinOffset7.70mm_Housed_MountingHolesOffset9.12mmJ2
1UPPin_Headers:Pin_Header_Straight_1x02_Pitch2.54mmJP1

Questions

How big is the C64-Mega Switcher PCB?

It measures 49.3 × 81.5 mm and has 2 copper layers, 1.6 mm thick.

What parts does the C64-Mega Switcher use?

34 parts, built around the 74HCT4053D, NE555 and BC547. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the C64-Mega Switcher KiCad files?

From the tebl/C64-Mega-Switcher repository on GitHub, at the commit this page was made from: the board is C64 Mega Switcher.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the C64-Mega Switcher design in my own project?

Its repository states no licence, so its author keeps all rights: ask tebl before reusing the design.

Similar boards

  • 2 layers49.3 × 81.9 mmC64-Joystick Switcher, the printed circuit board in 3D

    C64-Joystick Switcher

    tebl/C64-Joystick-Switcher

    Wanted a joystick switcher for my Commodore 64, so I built one by adapting C64 Mega Switcher for use with Atari-style joysticks.

    30 parts21
  • 2 layers82.6 × 40.6 mmAmiga Mouse Switch, the printed circuit board in 3D

    Amiga Mouse Switch

    tebl/Amiga-Mouse-Switch

    An attempt at building an automatic Amiga Mouse/Joystick switch (when used with Amiga port 1) - pushing the button changes the device connected. No more two-cable Merengue for me on the Amiga 500, forever more!

    25 parts11
  • 2 layers213 × 65.1 mmSizif512, the printed circuit board in 3D

    Sizif512

    UzixLS/zx-sizif-512

    ZX Spectrum CPLD-based clone for rubber case

    214 parts195MIT
  • 4 layers65.4 × 111.6 mmGinger, the printed circuit board in 3D

    Ginger

    mrehkopf/Ginger

    Socket shift, CPU switch, Clockports for Amiga mITX "Denise"

    30 parts12
  • 6 layers65 × 55.8 mmAES42HAT, the printed circuit board in 3D

    AES42HAT

    s13n/AES42HAT

    A digital audio interface in the shape of a Raspberry Pi Hat for AES42 microphones and more.

    232 parts1
  • 2 layers41.5 × 31.4 mmEjercicio 2, the printed circuit board in 3D

    Ejercicio 2

    CursoKicadFIUNER/PracticaKicad

    Repositorio de curso Kicad en la FIUNER 2016

    16 parts
  • 2 layers90.8 × 22.9 mmDrawdio, the printed circuit board in 3D

    Drawdio

    UC3Music/drawdio

    UC3Music version of the Drawdio, originally designed by Jay Silver

    30 parts15