C64 Direct-to-TV

From Wikipedia, the free encyclopedia

Jump to: navigation, search

The C64 Direct-to-TV, called C64DTV for short, is a single-chip implementation of the Commodore 64 computer, contained in a 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 self-taught computer chip designer who had formerly designed the C-One.

The C64 Direct-to-TV computer-in-a-joystick unit.

Tulip Computers (which had acquired the Commodore brand name in 1997) licensed the rights to Ironstone Partners, which cooperated with DC Studios, Mammoth Toys, and The Toy:Lobster Company in the development and marketing of the unit.[1] QVC purchased the entire first production run of 250,000 units and sold 70,000 of them the first day they were offered.

Contents

[edit] 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. Unfortunately 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. Another DTV variant is the Radio Shack "HUMMER Off-Road Racing Challenge Video Game".[citation needed]

[edit] Hardware Specifications

Commodore DTV PCB.
  • Core circuity
  • Casing/Connectors
  • 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
  • CPU
    • emulating a 6510 at 1 MHz
    • DTV2 and later: Enhanced CPU (fast/burst mode, additional registers and opcodes, support for illegal ops of the 6510)

[edit] Built-in games

The official games for the unit are mostly a mix of Epyx and Hewson C64 games. This list is valid for the NTSC version.

[edit] EPYX

[edit] Hewson

[edit] Image Works

[edit] Hardware-modding

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

Known hardware mods

  • 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 [2]

Additional hardware

  • Data transfer cable (Parallel port (or USB/serial port via DTV2ser) to Joystick or user port)
  • SD card interface 1541-III or MMC2IEC

The board could be used as a System-on-a-chip (SoC) embedded computer for control applications.

[edit] 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.

[edit] Software-modding

The DTV contains software-flashable memory. A number of tools have been released to compile programs into a 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.

[edit] References

[edit] External links

Personal tools