This is post from my old blog. I’m not sure how useful this is, seeing how the C64 direct to TV is no longer in production, but if you happen to find yourself in possession of one. There are all sorts of fun mods you can do.
For those that don't know the C64 DTV is a joystick that connects directly to your TV and emulates a Commodore 64 computer with 30 games burned onto its internal ROM. It was produced for 2 years between 2004 and 2006. Awhile back I acquired one off eBay, with the intention of modifying it. Inside the DTV there are labeled solder points to connect a PS/2 keyboard and IEC lines to connect a Commodore 1541 drive. There is quite a lot of information on the web on how to modify one of these, and I've been wanting to give it a try.
My DTV was a version 1 NTSC board. It has an Atmel ASIC at its core emulating the 6510 CPU and the video and audio chips of the C64, it has 128K of Ram and 2MB of ROM. Internally it has connections for an IEC drive, a Keyboard, Joystick port 2 and all the connections for joy port 1 except up. The first mod I did was to install a keyboard. I found super cool vinyl stickers to go on the keys so it would have all the weird characters the original Commodore 64 had. Unfortunately, the keymapping on the C64DTV is off. To fix things I found this hack called a keyboard twister, which uses an ATtiny microcontroller to modify the scan code from the keyboard to the DTV. I modified the keyboards twisters code to send the scan code for a K at boot up which on the DTV forces it to boot to basic instead of pulling up the DTV games menu. I also modified the code to send the scan code for delete at the same time it triggered up on joy port2 which for some strange reason results in joy 1 up being registered by the DTV. That way I would have a complete joy port1. This work's well but now when I press up on joy 1 it registers up being pressed on both joysticks. So, you can’t use both joysticks at the same time. The modified keyboard twister code is at the bottom of the page.
Next, I connected the 2 joysticks to the DTV. The picture below has all the solder points labeled.
JOYA UP = Joystick Port 2 Up
JOYA DN = Joystick Port 2 Down
JOYA LT = Joystick Port 2 Left
JOYA RT = Joystick Port 2 Right
JOYA FE = Joystick Port 2 Fire
JOYB DN = Joystick Port 1 Down
JOYB LT = Joystick Port 1 Left
JOYB RT = Joystick Port 1 Right
JOYB FE = Joystick Port 1 Fire
IEC ATN = Disk-drive IEC ATN
IEC CLK = Disk-drive IEC CLOCK
IEC DTA = Disk-drive IEC DATA
KEYB DTA = Keyboard DATA
KEYB CLK = Keyboard CLOCK
Finally, I made an SD card based 1541 drive emulator to connect to the IEC port. Originally, I was going to use this design. But unfortunately, I fried the Atmega644 I was going to use so I modified Unseen sd2iec 0.6.6 firmware to run on a ATmega 328p Micro controller of which I had on hand.
Anyway, It's all up and running now, I noticed a lot of the Commodore 64 games produce weird bugs on the DTV. On rampage the monsters flicker and are almost transparent. Any way here's a link to a repository with games patched for the DTV 2/3 most work fine on the DTV 1.




Comments
Post a Comment