This article is about hacking a C64 DTV-1 (NTSC version). The following will be added: IEC (disk drive), keyboard and two joysticks. The C64 DTV-1 will be connected to an 1571 disk drive.
You will need some components:
Before cutting the holes in a disk drive housing make sure the connectors have enough space when the drive is closed. Take out the inside of the floppy (drive mechanism, PCB, power supply), it is much easier with an empty housing. I used a 1571 because it has lots of room, but I think that any IEC floppy will work. (1541, 1541II, 1570, 1581)
After installing the connectors and the switch (drive reset) I connected all the wires to the connectors. I put the 34 pole connector on a piece of experimental PCB for easy soldering and easy mounting. The following connections are made to the PCB of the drive:
After the drive modding I hacked the keyboard. The problem with the DTV is that all the connections for both the joysticks are on the PCB except for JOYB UP. To get around this problem I made a hack to the keyboard. On the DTV (and on the real C64) the UP is mapped to the character "1". I used the spare wire in the keyboard cable to get a signal to the keyboard for JOYB UP. You have to check if this spare wire is not connected to anything inside the keyboard.
In the picture you can see the connections made on the extra PCB and the components. In Blue the wires that go to the keyboard PCB (GND, JOY, +5VDC) and two wires connected to the '1' key. In Black the wires (and components) at the topside of the extra PCB. In Red the connections on the bottom side of the extra PCB (Like if you could look through the PCB).
To press the '1' key on the keyboard I needed to work around a few problems. First you cannot connect the UP switch directly to the '1' key because the keyboard switches are in a matrix and 1 side of the UP switch is connected to GND. This will disrupt the working of the matrix. So we need a so-called potential free switch, which means that the switch may not be connected to the 5VDC or the GND. So I used a IC 4066 which has 4 of those switches inside. But there was the second problem with the switches of a 4066. They need a '1' (5VDC) to close and a '0' (GND) to open. That is exactly the opposite of the joystick button (switch pressed = '0'). To get this right a made a inverter with one of the 4066 switches and a resistor. The inverter simply changes a '0' into '1' and a '1' in to '0'.
Then the big moment putting it all together.