C64 Direct-to-TV

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.

Tulip Computers (which had acquired the Commodore brand name in 1997) licensed the rights to Ironstone Partners, which cooperated with DC Studios and Mammoth Toys in the development and marketing of the unit. Released in late 2004, QVC purchased the entire first production run of 250,000 units and sold 70,000 of them on the first day that they were offered.

Versions
There exist multiple versions of the C64DTV. DTV1 (NTSC television type) comes with 2 MB ROM. It first appeared in late 2004 for the American/Canadian market. DTV2 (called C64D2TV sometimes) is a revised version for the European and world markets (PAL television type) and appeared in late 2005. The ROM has been replaced by flash memory in these devices. However, the DTV2/PAL version suffers from a manufacturing fault, which results in poor colour rendering (the resistors in the R-2R ladder DACs for both the chroma and the luma have been transposed). In the DTV3, a problem with the blitter was fixed.

Hardware specifications

 * Core circuitry
 * ASIC running at 32 MHz internally, implementing 6510 CPU, VIC-II, SID, CIA, and PLA
 * Casing/Connectors
 * integrated in a joystick (as if connected to port 2 of a real C64)
 * five additional buttons (acting like keys)
 * running from batteries only (four AA batteries)
 * Composite video, monaural audio (RCA connectors)
 * looks similar to a Competition Pro joystick
 * Graphics
 * NTSC (DTV2 and later: NTSC/PAL on chip, only PAL wired in end-market devices)
 * reprogrammable palette with 4 bits of luma and 4 bits of chroma
 * DTV2 and later: "chunky" 256 color mode, additional blitter for fast image transformation
 * Sound
 * no support for SID filters
 * DTV2 and later: 8 bit digital sound, additional options for envelope generators
 * Memory
 * DTV1: 128 KB RAM, 2 MB ROM
 * DTV2 and later: 2 MB RAM, 2 MB flash memory
 * DMA engine for RAM/RAM and ROM/RAM transfers
 * DTV2 and later: additional RAM access using bank switching and blitter
 * CPU
 * implementing a 6510 at 1 MHz
 * DTV2 and later: Enhanced CPU (fast/burst mode, additional registers and opcodes, support for illegal ops of the 6510)

Built-in games
The official games for the unit are mostly a mix of Epyx and Hewson C64 games. Games unique to the NTSC or PAL versions are noted below.

Hardware-modding
Since the internal circuit board has exposed solder points for floppy-drive and keyboard ports, hardware modifications of the C64DTV are relatively simple.

Known hardware mods Additional hardware
 * Keyboard connector
 * External joystick (Port 1 and 2)
 * Floppy connector
 * Power unit connector
 * Fixing the palette problems of the PAL version (to some degree this is possible in software by adjusting palette entries)
 * S-Video connector
 * User port
 * Original C64 casing and PS2 keyboard
 * Data transfer cable (Parallel port (or USB/serial port via DTV2ser) to Joystick or user port)
 * SD card interface 1541-III or MMC2IEC

Limitations
The internal flash memory is accessible as device 1. However, software is not included to support write operations so high-score saving is not possible. Also, flash devices used in the DTV are specified for a very limited number of write accesses only.

When using the standard keyboard mod, the F7 key does not work. There is a workaround, the "Keyboard Twister."

Software-modding
The DTV contains software-flashable memory. A number of tools have been released to compile programs into DTV-compatible flash images and load it onto the DTV. People made their own game compilations, adding popular (sometimes DTV-fixed) games that were not in the original DTV, added boot menus to make homebrew software development easier or enable new features, for example transfer programs like DTVtrans for transferring data from PC to DTV RAM and vice versa via the PC parallel port (or USB) and the DTV joystick port.