====== Commodore C64 DTV Hacking ====== From [[https://en.wikipedia.org/wiki/C64_Direct-to-TV|Wikipedia]]: > The C64 Direct-to-TV, called C64DTV for short, is a single-chip implementation of the Commodore 64 computer, contained in a joystick (modeled after the mid-1980s Competition Pro > joystick), with 30 built-in games. The design is similar to the Atari Classics 10-in-1 TV Game. The circuitry of the C64DTV was designed by Jeri Ellsworth, a computer chip designer who > had previously designed the C-One. These are my notes on converting the C64 DTV into a capable, full-featured 8bit computer system. I've written these notes down since a lot of the information on the C64 DTV has been lost over the years. This is a combination of the old web pages I've found, technical specs and my own findings/diagrams used to build my own C64 DTV Computer System. {{:blog:c64:commodore64_dtv_mugshot-x600.jpg?200|}} Firstly, there are some key things to look out for with the different versions of the DTV: == DTV (version 1) == * 128 kbytes RAM * 2048 kbytes ROM * DMA memory transfer engine * Example serial/date codes: * 041107 * 041103 == DTV (version 2) == * 2048 kbytes RAM * 2048 kbytes Flash * DMA memory transfer engine * Blitter engine with bugged transparency mode - //not-fixable// * 256 colour 'chunky' display mode * 8bit digital audio * Chroma/Luma bugged - //fixable// * Example serial/date codes: * 050728 * 050919 * 050921 * 050927 == DTV (version 3) == * 2048 kbytes RAM * 2048 kbytes Flash * DMA memory transfer engine * Blitter engine - //working transparency// * 256 colour 'chunky' display mode * 8bit digital audio * Chroma/Luma output fixed * Example serial/date codes: * 050927 * 051005 * 051008 * 060118 == Hummer Game == The 'Hummer' offroad game model is mostly similar to the later DTV (version 3), so has all of the bugged-features fixes, //but// a number of useful signals are not present on the board (i.e. it doesn't have all the joystick lines available), so it presents more of a challenge. ---- Realistically, the //best// version is clearly the DTV (version 3) which has all of the bugs fixed. But the DTV (version 2) is definitely useable if you are prepared to fix the Chroma/Luma output (linked below). Non-working blitter transparency is a pain, but could be worked around. If you want to take advantage of the unique DTV features, then the DTV (version 1) is **not** what you want. You can see that there is a period in September 2005 when the production of the DTV (version 2) change to the (version 3). If you want a fixed model then you need to look for serial numbers around or above **0509xx**. ==== Power Supply ==== The DTV normally gets ~6v from 4x AA batteries in the joystick. But also has a red LED connected which is used as part of the regulator circuit to reduce the supply down to the 3.3v circuitry on the PCB, as used by a number of the chips. If the DTV is removed from the case and original power switch and LED, it is important that a LED is refitted to remain as a regulator. //Note: The LED should have a **forward voltage** rating of **1.8v**.// === Power Switch Wiring - DTV 1 === On a DTV 1, the power switch is wired as follows: {{:blog:c64:img20230128171536.jpg?500|}} Note that the (black) ground wire is soldered directly to the battery tab (the - terminal). The floating (red) positive wire is soldered to the battery tab (+ terminal). === Power Switch Sub-Board === A more detailed image of the power switch sub-board: {{:blog:c64:img20230131102833.jpg?400|}} From left to right, the connections above are: * LED - (~+3.3v return to PCB) * LED + (+5v from PCB) * VDD + (+5v to PCB, connected by switch) * VCC + (+5v from battery compartment, connected to switch) Seen from above, and with the plastic cover removed, the power supply sub-board also has markings to indicate the connections: {{:blog:c64:img20230131103754.jpg?400|}} In summary: {{:blog:c64:c64_dtv_v1_psu.png?500|}} === Power Switch Wiring - DTV 2/3 === ==== Joystick Port 1 ==== {{:blog:c64:c64_dtv_v2_joystick1.png?500|}} //Note: +5v is only needed for some additional joystick functionality, most sticks don't use this, so it is safe to leave unconnected.// ==== Joystick Port 2 ==== Joystick port 2 is recommended to be in place, since most (unpatched) C64 games typically expect to find port 2 used for the controller on an original C64. It's also what the DTV joystick itself is normally connected to. {{:blog:c64:c64_dtv_v2_joystick2.png?500|}} //Note: +5v is only needed for some additional joystick functionality, most sticks don't use this, so it is safe to leave unconnected.// ==== IEC Bus / 1541 Floppy / SD2IEC Disk Drive Connection ==== {{:blog:c64:c64_dtv_v2_iec.png?700|}} This is my take on the IEC/SD2IEC 1541-III setup with a configurable internal/external/off setup for the IEC bus. Using a 4PDT switch I can toggle the IEC bus between having CLK/DATA/ATN connected to the internal SD2IEC drive, or to the rear panel if I ever want to use a real 1541-III (or similar) floppy drive. A 3PDT switch would work, but with 4PDT there's the option of also disconnecting the ground signal away from either device as well. ==== S-Video Connection & Fixes ==== {{:blog:c64:c64_dtv_v2_svideo.png?500|}} As noted on the diagram, the connections are made to the solder points at each end of the capacitor marked **C10**. The capacitor should be **removed**, and this will also disable composite video output. ==== PS/2 Keyboard Connection ==== {{:blog:c64:c64_dtv_v2_keyboard.png?500|}} //Note: As standard the DTV supports only US English keyboard mappings, as well as not enabling the F7 key. There are modifications to change this, if they are required. This is probably not an important concern for English speakers or those with US (or UK, with minor inconveniences) keyboards.// ==== Sources for Ground ==== {{:blog:c64:c64_dtv_v2_ground.png?700|}} Some easily accessible areas for connecting to ground. The large flat area to the left of the SDRAM chip (left edge of board, top) is probably the easiest to clear and get access to without having to worry about other components. ==== Other Useful Diagrams ==== === General C64 DTV Solder Points === Pinouts and diagrams of potential connections on the DTV (version 2) PCB: {{:blog:c64:computer_c64_dtv2_06.jpg?200|}} {{:blog:c64:computer_c64_dtv2_07.jpg?200|}} {{:blog:c64:th_computer_c64_dtv4_12.gif?200|}} * Sourced from: https://www.commodore-info.com/article/item/hacking_the_dtv_4/en/desktop === C64 Joystick Connector === {{:blog:c64:c64-joystick.png?200|}} * Sourced from: https://myoldcomputer.nl/technical-info/datasheets/connector-pinouts/connectors-commodore-64/ === DTV SVideo Connections === {{:blog:c64:dtv_v2_s-video.jpg?200|}} * Sourced from: https://bencao74.blogspot.com/2008/07/s-video-hack-c64-dtv-pal.html === SD2IEC Connections === {{:blog:c64:sd2iec_classic_v1.0_connections_top.jpg?200|}} {{:blog:c64:sd2iec_classic_v1.0_connections_bottom.jpg?200|}} * Sourced from: https://www.thefuturewas8bit.com/index.php/sd2iec_classic_info