Die C64DTV-Playstation

English Version

Vorbemerkungen

Ich hatte mir vor einiger Zeit mal einen dieser C64DTV-Joysticks gekauft. Zum einen, weil ich mit dem C64 gross geworden bin und noch kistenweise Kram dafür besitze, zum anderen, weil mein originaler C64 leider den Geist aufgegeben hat (schwarzer Bildschirm, irgendein Chip hat wohl den Löffel abgegeben). Nach einiger Recherche im Internet und nachdem ich mir die Bauteile zusammengesucht hatte, kam es nun an diesem Wochendende zum grossen Showdown zwischen mir und den elektronischen Bauteilen. Dazu ist zu sagen, dass ich keine Ahnung von Elektronik habe. Ich weiss, wo bei einem Lötkolben vorne ist, aber das war es dann auch schon. Nun muss die zu Weihnachten von meiner Eltern erhaltene digitale Lötstation zeigen, was sie kann.

Vorbereitung

Ich habe verschiedene Webseiten als Referenz verwendet. Hier die wichtigsten davon (die Bilder habe ich gespeichert, falls die Webseiten mal weg sein sollten).

  1. Die Haupreferenz für alle Lötpunkte für Tastatur, Floppy, Reset-Taster und zum Gegenchecken der Joysticks war diese Seite.
  2. Für die Anschlüsse und die Joysticks habe ich diese Seite, diese andere Seite und den t5000 blog verwendet.

Das GehÄuse

Als neues GehÄuse für meinen C64DTV hatte ich mir eine PS One ausgesucht. Das GehÄuse ist schick klein, handlich, aber bietet dennoch genug Platz für alle Modifikationen, die ich vornehmen wollte. Mein treuer Dremel (besser gesagt: ein billiger Nachbau von Mannesmann) leistete mir bei der Bearbeitung gute Hilfe. Die benötigten Öffnungen für 2x Joystick, Floppy und Tastatur waren relativ fix geschnitten. In Anbetracht meiner limitierten Kenntnisse habe ich darauf verzichtet, auch noch Video/Sound-Anschlüsse zu installieren.


Arbeit

Nach Öffnen des C64DTV traf mich eigentlich erstmal der Schlag. So klein hatte ich mir die Lötpunkte, besonders die auf den SMDs, nicht vorgestellt. Erste Zweifel an der Durchführbarkeit des Unterfangens durch mich kamen auf. Ausserdem erwies sich meine Idee mit den von aussen verschraubten Buchsen als böser Bumerang, da ich dadurch gezwungen wurde, alle Lötarbeiten quasi im GehÄuse vorzunehmen, falls ich nicht meterweise Kabel im Nachhinein verstecken wollte. Zum Glück kann man ja bei der DTV2 alle Lötpunkte von der selben Seite erreichen, damit wurde das ganze wieder ertrÄglich.

Als Kabel für die gesamte Verkabelung des GerÄtes nahm ich ein IDE-Kabel und teilte es entsprechend ein. Damit blieben die Kabel nah beieinander und das Wirrwarr war überschaubar (sieht man auf den Bildern ganz gut). Die Lötpunkte habe ich jedesmal nach erfolgreichem Test mit der Plastikklebepistole fixiert, ansonsten hÄtte ich vermutlich alles dreimal machen müssen.

Stromanschluss

Als erste Aktion wurde der Stromanschluss gelegt, da ich die Tastatur nicht mit mehr als 5V betreiben wollte (laut den Erfahrungsberichten bescheren bereits 6V einer normalen Tastatur ein sehr kurzes Leben). Der Anschluss wurde aÄhnlich wie auf dieser Seite angelegt.

Das Netzteil an sich habe ich über eBay erworben. Es gehört eigentlich zu einem IDE-USB-Adapter, mit dem man beliebige IDE-Festplatten als USB-Platte anschliessen kann. Der Vorteil war hier, dass ich genau 5V und Masse an den Anschlüssen abgreifen konnte. Hierfür musste ein MOLEX-Stecker mit Verteiler für einen Lüfter herhalten.


(Sources: Image 1, Image 2 and 3)

Ich hatte mir in den Kopf gesetzt, den Ein-/Aus-Schalter der Playstation weiterzuverwenden. Somit musste ich den vorderen Teil der Playstation-Platine abtrennen. Dies hatte den netten Nebeneffekt, dass die Joypad-Anschlüsse wieder gefüllt waren, und ich mir dafür nichts einfallen lassen musste.Das vorgestern bei Conrad für 4,95€ gekaufte MultimessgerÄt erwies sich bei der Suche nach den richtigen Anschlüssen bereits hier als jeden Cent wert. In der Folgezeit habe ich vermutlich jeden Lötpunkt mindestens dreimal durchgemessen. Vier Lötstellen spÄter funktionierte der Stromanschluss auch ganz prÄchtig.

Wenn man das Ding im Betrieb aus- und wieder einschaltet, kommt ein Bildschirm voller Zeichen (eigentlich wohl ein PAL-Fehler). Nach einem Reset ist dann aber alles in Butter. Update: Es hat sich geklÄrt. Der originale An-/Ausschalter des C64DTV unterbricht nicht die +5V Leitung, sondern Masse. Daraufhin werden über die DIS-Leitung (Discharge) die Kondensatoren geleert. Anscheinend muss erst der Speicher geleert sein, bevor die Maschine neu booten kann. Mein An-/Ausschalter unterbricht allerdings sowohl Masse als auch die +5V Leitung, d.h. die Kondensatoren werden nicht entladen, d.h. der Speicher bleibt in einem undefinierten Zustand. Der Original-C64 hat beim Einschalten einen Reset ausgeführt, um genau dies zu Verhindern, aber die entsprechende Schaltung hat man sich beim C64DTV gespart. Muss ich also jetzt den Reset immer von Hand ausführen, auch egal, dafür ist der Taster ja da.

Tastatur

Als zweites wurde die Tastatur angeschlossen (vier Lötstellen auf der Platine, plus vier an der Buchse). Man kann hier entweder einen PS/2 Anschluss (6polig miniDIN) oder einen PC-AT-Anschluss (5polig DIN 180°) nehmen. Man braucht nur vier der vorhandenen Pins (Clock, Data, +5V und Ground - markiert als KBClk und KBData auf dem Bild - plus irgendein freier GND und den +5V Anschluss), man ignoriere einfach die als NC markierten Pins. Bitte beachten: Dieses Bild zeigt die Buchse, nicht die Lötpunkte.


(Sources: Image 1, Image 2)

I nahm den AT-Anschluss, da bei mir noch eine original Commodore Tastatur mit DIN Stecker rumlag, welche ich vor zwei Wochen aus dem Sperrmüll gefischt hatte. Somit war auch dieses PeripheriegerÄt aus dem Hause Commodore.


Nach Anschluss der Tastatur dachte ich erst, alles wÄre kaputt und falsch und überhaupt, weil trotz Drücken der 'K'-Taste nach Einschalten des GerÄtes kein BASIC Prompt erschien, sondern das GerÄt ungerührt im Standardmodus weiter machte. Nach einer kurzen Panikattacke (nicht die letzte an diesem Wochenende) und weiteren Recherchen erfuhr ich dann auch, dass ich stattdessen die STRG-Taste drücken muss. Vermutlich geht die 'K'-Taste nur bei NTSC GerÄten oder PS/2 Tastaturen? Keine Ahnung. Aber ich war sehr erleichtert, als ich den gewohnten Basic-Schirm vor mir hatte.

Joysticks

Nun kamen die Joystickanschlüsse dran. Dazu verwendete ich bereits gelötete (mit Pfostenstecker am Ende) Sub-D 9polige Anschlüsse aus der Computersteinzeit (wer sich noch erinnert: Vor USB-MÄusen gab es PS/2-MÄuse, aber davor gab es serielle MÄuse und die neueren davon brauchten genau diese Anschlüsse). Damit sparte ich mir schonmal die Lötpunkte an den Buchsen. Leider waren die beiden Kabel nicht identisch gelötet (eines war schön an die Anschlüsse 1-9 gelötet, das andere leider wechselseitig, d.h. die Kabel waren an 1,6,2,7,3,8,4,9,5 angeschlossen). Zum Glück habe ich das noch rechtzeitig gemerkt.

Die Stecker sind ganz normale serielle 9polige D-Sub Stecker. Auch hier wieder: Das Bild zeigt die 'Buchse' von vorne, nicht die Lötstellen und nicht den Stecker, der vom Joystick kommt. POT-Y und POT-X kann man ignorieren. Auf dem Bild ist gelb der Joystick 2 (den braucht man mindestens), rot der Joystick 1 (selten benutzt).


(Sources: Image 1, Image 2)

Der erste Test ging gleich mal schief, da die Beschriftung auf einer Webseite leider seitenverkehrt war. Zum Glück ging nichts zu Bruch und nach kurzem Umlöten war dann alles in Butter, und der Joystick an Joy2 tat brav seine Arbeit. Joy1 wurde dann 'blind' angelötet, d.h. ich hatte zunÄchst kein Spiel, um den zweiten Joystick zu testen. Allerdings habe ich dann in einem meiner alten C64-Bücher ein kurzes Listing gefunden, um die Joysticks zu prüfen. Das Buch war das "C64 intern" von, natürlich, Data Becker. Das Listings steht auf Seite 78 und lÄsst sich relativ fix abtippen. Nachfolgend das Listing (nur durch STOP/RESTORE beendbar).

Program to test the joysticks

10 POKE56322,224
20 J=PEEK(56320)    <--- for Joy2, for Joy1 you need to use 56321
30 IF(JAND1)=0THEN?"UP"
40 IF(JAND2)=0THEN?"DOWN"
50 IF(JAND4)=0THEN?"LEFT"
60 IF(JAND8)=0THEN?"RIGHT"
70 IF(JAND16)=0THEN?"FIRE"
80 GOTO20

Floppy

Jetzt nur noch die Floppy anlöten und dann bin ich auch schon fertig (war schon 3 Uhr morgens). Und da ist es dann leider passiert... einer dieser misen, kleinen SMD Chips (der IEC-CLK) wurde zu warm und löste sich komplett von der Platine. Natürlich. Der letzte Lötpunkt. War ja klar. Also eine winzige Pinzette gesucht und das Ding wieder eingebaut. Diese Erfahrung hat mich dann letztendlich davon abgebracht, auch noch den Color-Fix vorzunehmen. Den Stress noch sechsmal oder so? Nein Danke, dafür zittern meine HÄnde einfach zu viel. Für die Floppy brauchen wir eine 6poligen DIN 240° Buchse. Wir brauchen erneut nur vier der Anschlüsse (Clock, Attention, Data und Ground - markiert als IECClk, IECAtn und IECData auf dem Bild, auch hier irgendeinen freien GND verwenden), man ignoriere SRQ und RESET. Und wieder beachten: Dieses Bild zeigt die Buchse, nicht die Lötpunkte.


(Sources: Image 1 and 2, Image 3)

Der erste Test mit der Floppy ergab, dass ich die in den letzten 15 Jahren irgendwann mal auf die Laufwerksadresse 9 geÄndert hatte (vermutlich, um sie als Zweitfloppy an meinem C=128D zu verwenden). Nachdem ich das dann wusste, klappte es auch mit dem Zugriff darauf (LOAD"$",9,1). Damit war die Kabellei soweit fertig und ich konnte endlich in's Bett gehen und ein paar Stunden schlafen.

Reset

Ach nein, wieder was vergessen. Der RESET-Taster installiert sich ja auch nicht von alleine. Ich habe mir dafür einen einfachen Taster mit zwei Anschlüssen bestellt. Der eine Anschluss wird an den nReset-Kontakt gelötet (links oben im Bild) und der andere an einen der verbliebenen freien GNDs (da ist einer direkt über der Resetleitung). So, nun ist's aber gut.


Nur 36 Lötstellen spÄter...


Zusammenbau und Test

Alles drin

Der nÄchste Morgen. was ist noch zu tun? Ah ja, der Stromanschluss muss noch in das GehÄuse. Allgemeines AufrÄumen ist angesagt, schauen, ob auch alles wirklich reinpasst. Passt, prima. Und dann feststellen, dass man das Loch für den Reset-Taster vergessen hat. Mist. Also nochmal bohren, dabei aufpassen, dass nix auf die fertigen Teile kommt. Endlich fertig

Hier ein paar Bilder von oben, und seitlich mit den Anschlüssen.


Alles anschliessen ...

... und testen.


Oben rechts in der Ecke kann man das (nun leere) originale GehÄuse des C64DTV sehen.

Die Tastatur pimpen, ...


Die Tastatur mit den von Hand dilletantisch angebrachten Beschriftungen für die C64-typischen Tastenbelegungen.

... Deckel drauf ...


Auf diesem Foto kann man sehen, dass ich auf den ASIC-Chip noch einen kleinen Heatsink aufgeklebt habe. Er fühlte sich einfach etwas warm an und ich hatte die Dinger noch rumliegen.

...und fertig!


Update 26.11.2006: Luma-Fix

Zwei Wochen spÄter

Nach einer Weile habe ich noch einmal meine Entscheidung bezüglich des Video-Signal-Fixes überdacht. Wie allgemein bekannt ist und aus den SchaltplÄnen des DTV2 hervorgeht, hat der chinesische Hersteller der DTVs die Bestückung zweier Widerstandseihen vertauscht und ausserdem ein paar WiderstÄnde eingespart, um Kosten zu sparen. D.h. für ein paar Cent pro fertigem DTV haben wir nun ein GerÄt, welches anscheinend Cyan und Weiss ziemlich identisch darstellt (das nervt bei Summer Games und Impossible Mission ganz schön). Eine detaillierte Beschreibung des Problems kann man hier finden. Was für Auswirkungen dies hat kann man hier und hier sehen.

Es gibt mehrere Lösungen für dieses Problem. Aber bei allen muss man ein paar SMD Bauteile löten, etwas, dass ich gar nicht leiden kann. vermutlich, weil ich keine Pinzette habe, die klein genug wÄre dafür. Für die komplette Lösung müsste man R12, R14, R18, R22 und R26 auf 680 Ohm wechseln; R16, R20 and R24 auf 330 und einen 680er Widerstand zwischen R14 und R16 auf Masse ziehen. Ebenso müsste man R15, R19, R23 und R27 auf 2k Ohm wechseln; R17, R21 und R25 auf 1k und einen 2k Widerstand zwischen R15 und R17 auf Masse ziehen. Dies ist alles auf den genanten Webseiten dokumentiert (s. Bild). ABER, das sind 17 WiderstÄnde, die ab- und wieder angelötet werden müssten. Für mich viel zu viel Aufwand.


(Sources: Image 1 and 2

Glücklicherweise gibt es einen deutlich einfacheren Fix. Für diesen muss man nur drei 220 Ohm WiderstÄnde parallel zu R16, R20 und R24 einbauen und einen 330 Ohm Widerstand zwischen R14 und R16 auf Masse ziehen. Nur vier WiderstÄnde? Das kann ich grad noch. Ich hatte noch 'normale' 220er WiderstÄnde (nicht-SMD), d.h. ich musste eine kleine Platine bestücken und mit Kabelbrücken anschliessen. 330er hatte ich leider nicht, da musste dann doch ein SMD herhalten, den ich aber auch auf eine seperate Platine montiert habe.

Auf den Fotos kann man leider vermutlich nicht viel erkennen. Digitalkameras, Autofocus und ich passen alle nicht so zusammen.

SchaltplÄne


Bilder: SchaltplÄne vor und nach der Modifikation.
(Sources: Eigene Bilder)

Und wieder fertig!


Update 19.01.2007: Luma-Fix, die zweite

Er war so billig auf ebay...

Ich habe sehr günstig auf ebay einen weiteren C64DTV PAL erstanden, welcher als 'defekt' angeboten wurde, da man bei drei Spielen (California, Summer und Winter Games) die Namen nicht mehr eingeben konnte. Na sowas, das klang für mich nach einem Problem mit dem Joystick, insbesondere der Rechts-Bewegung desselben. Kurz aufgeschraubt und ja, der rechte Gumminippel hat einen Dauerkontakt. Durch Unterlegen eines Plastikringes konnte das Problem umgehend behoben werden.

Wo ich den Stick nun schonmal aufgemacht hatte, habe ich mich entschlossen, doch einmal den etwas komplizierteren Luma-Fix auszuprobieren, d.h. R12, R14, R18, R22 und R26 auf 680 Ohm wechseln; R16, R20 and R24 auf 330 Ohm und einen 680er Widerstand (Rx) zwischen R14 und R16 auf Masse ziehen. Die SMD-WiderstÄnde (805er) hatte ich schon damals bestellt, aber nicht verwendet. Inzwischen fühlte ich mich aber auch im Umgang mit dem Lötkolben etwas sicherer.

Ergebnis: Wie zu erwarten, sind die Farbabstufungen mit dem Pulldown-Widerstand Rx (680 Ohm auf Masse) deutlicher ausgeprÄgt. Zugleich ist die Gesamtfarbe jedoch dunkler geworden d.h. die Farbe Weiss auf Cyan (die Spiele Summer Games, Winter Games und Impossible Mission leiden besonders darunter) sind mit Rx schlechter zu erkennen als ohne. Daher habe ich nachtrÄglich die im Bild erkennbare Drahtbrücke wieder getrennt. Eventuell kann hier der Chroma-Fix noch etwas bewirken, oder aber die Verwendung von anderen Werten für die WiderstÄnde (300 statt 330 Ohm, bzw. 600 statt 680 Ohm).

Tip: Um schnell in den DTVTEST5 zu gelangen, z.B. um diese Farben zu sehen, einfach einen Reset ausführen und die Buttons A und D gedrückt halten, bis ein weisser Schirm kommt. Jetzt loslassen - und schon sind wir im DTVTEST5-Program. Hier wird die Farbpalette angezeigt, der Speicher wird geprüft, eine Checksumme errechnet und es lassen sich alle Buttons und Joystickbewegungen testen.


Bilder: Einbau im System, Einmal Farben ohne Pulldown-Widerstand (680 Ohm auf Masse) und einmal mit.
(Sources: Eigene Bilder)


Links

Dies sind die Webseiten, welche mir am meisten geholfen haben.

  1. PETSCII-Forum - Englisches Forum für Commodore und C64DTV
  2. Forum 64 - Deutsches Forum für Commodore und C64DTV
  3. Galaxy22 - umfangreiche Beschreibung aller Möglichkeiten des C64DTV
  4. Coolweb - Geeky C64DTV Umbau mit schönen Bildern und umfangreicher Linkliste
  5. Hacking the C64DTV PAL - Joystick, Floppy, Keyboard (englisch)
  6. C64DTV Hacking - Joystick, Keyboard, Reset, Floppy (englisch)
  7. The darkside - Beschreibung der C64DTV ports (englisch)
  8. Der Ultimative T5000 blog - Portbeschreibungen (deutsch)
  9. Daniel Kahlin - C64DTV Hacking stuff. Utilities, Color-Fix, Flashing (englisch)
  10. Spaceman Spiff's DTV Hacking - Mit PAL Color-Fix (englisch)
  11. Mr. Latch-up - C64 DTV & Hummer Advice Column (englisch)
  12. Petar Strinic - C64DTV in einer 1571 Floppy
  13. C64 PAL DTV in 1571 - Noch ein C64DTV in einer 1571 Floppy
  14. C64DTV Hacking for Dummies - NTSC Version (Power Supply, Keyboard, Floppy) (englisch)
  15. C64 DTV Hacking - Umbauten zur PAL DTV


Last update: 19.01.2007