C64DTV – C64-Wiki (original) (raw)
Der C64DTV (C64 Direct to TV) ist ein in einem Competition Pro-ähnlichen Joystickgehäuse integrierter zum Commodore 64 in weiten Teilen kompatibler Computer, der von etwa 2004 bis 2008 im Handel erhältlich war. Hauptbestandteil des C64DTV ist ein ASIC, der die Kernkomponenten des C64 (6510, VIC etc.) in Hardware nachbildet; es handelt sich also insbesondere nicht um eine softwarebasierte C64-Emulation.
Neben einem leicht modifizierten C64-KERNAL befinden sich 30 Spiele auf dem ROM-Chip. Der C64DTV kann mit Hilfe eines Cinch-Kabels direkt an einen Fernseher (TV) angeschlossen werden und wird von vier Mignon-Batterien mit Strom versorgt.
Der C64DTV wurde von Jeri Ellsworth entwickelt, die sich schon mit dem C-One in der CBM-Szene einen Namen gemacht hat.
Durch geringe Bastelarbeiten kann ein C64DTV in einen fast vollwertigen Commodore 64 erweitert werden.
Versionen[Bearbeiten | Quelltext bearbeiten]
Der C64DTV existiert in mehreren Versionen:
- DTV1: Eine reine NTSC-Version mit 128 KByte RAM und 2 MByte ROM, die nur in den USA/Kanada ab Ende 2004 verkauft wurde.
- DTV2 (manchmal C64D2TV genannt): Version mit zusätzlicher PAL-Unterstützung, die ab Ende 2005 in Europa verkauft wurde. Im DTV2 sind 2 MByte statt 128 KByte RAM enthalten, außerdem wurde das ROM gegen FlashROM getauscht. Durch einen Bestückungsfehler hat der DTV2 eine schlechtere Farbwiedergabe (in manchen Spielen ist hierdurch die Spielfigur schlecht sichtbar bzw. der Text unleserlich).
- DTV3: Bei dieser Version wurde schließlich ein kleines Problem des Blitters bei transparenten Blits korrigiert.
- Ferner gibt es noch die sogenannte _Hummer_-Spielkonsolen-Variante (ebenfalls mit 2 MByte RAM und FlashROM), die von Radio Shack verkauft wurde.
Aufbau[Bearbeiten | Quelltext bearbeiten]
Gehäuse/Anschlüsse[Bearbeiten | Quelltext bearbeiten]
- Gehäuse: (können je nach Version abweichend sein!)
- integriert in ein Joystick-Gehäuse, das einem Competition Pro ähnelt, aber einfacher gebaut ist (dünneres Plastik, Gummitaster statt Mikroschalter)
- reiner Batteriebetrieb; vier Mignon- (AA-) Batterien notwendig
- vier zusätzliche Buttons (A, B, C, D), sind mit Leitungen von Port 1 verbunden
- Reset-Taster (ab DTV2)
- Externe Anschlüsse:
- Composite-Video
- Mono-Audio (beides Cinch)
- Interne Anschlüsse:
- PS/2 für PC-Tastaturanschluss
- IEC zum Anschluss von Peripherie wie Diskettenlaufwerke oder Drucker
- S-Video
- Joystick Port#1 (nur folgende Richtungen vorhanden: links, rechts, unten und Feuer, ab DTV2 alles einwandfrei vorhanden)
- Joystick Port#2 (Controlport) ist mit dem C64DTV-Joystick verknüpft
- Userport (ab DTV2)
- Kassettenport (ab DTV2)
Hauptplatine[Bearbeiten | Quelltext bearbeiten]
- Prozessor:
- 0,35 micron, 1 MHz, mit 6502-Emulation
- ab DTV2: Verbesserte CPU (fast/burst mode, zusätzliche Register und Befehle, Unterstützung von illegal ops des 6510)
- Speicher:
- DTV1: 128 KB RAM, 2 MB ROM
- ab DTV2: 2 MB RAM, 2 MB Flash
- DMA-Engine zum Kopieren RAM/RAM und ROM/RAM
- ab DTV2: Zugriff auf das RAM über 64 KB per Bank-Switching und Blitter (zusätzlich zur DMA-Engine)
- Grafik: NTSC; ab DTV2: NTSC/PAL
- programmierbare Palette (4 Bits Luma, 4 Bits Chroma)
- ab DTV2: 256 Farben-Modus, schnelle Bildmanipulation mittels Blitter
- Sound:
- Filter werden nicht unterstützt
- ab DTV2: 8-Bit-Digitalausgabe, weitere Optionen der Hüllkurven
Spieleliste[Bearbeiten | Quelltext bearbeiten]
23 gemeinsame Spiele der PAL- bzw. NTSC-Version
7 Spiele der PAL-Version
7 Spiele der NTSC-Version
- Flying Disc - Disziplin aus California Games
- Surfing - Disziplin aus California Games
- Silicon Warrior
- Bull Riding - Disziplin aus World Games
- Sumo - Disziplin aus World Games
- World Karate Championship A - International Karate / Hintergrund = Australien
- World Karate Championship B - International Karate / Hintergrund = Ägypten
- Demo "ENTROPY"
Unterschiede zum C64[Bearbeiten | Quelltext bearbeiten]
Kompatibilität[Bearbeiten | Quelltext bearbeiten]
Die C64-Emulation des DTV hat einige Fehler, die teilweise zu Grafikfehlern, häufig aber auch zu Abstürzen führen. Dabei lässt sich nicht generell sagen, welche Programmtypen betroffen sind; auch viele einfache ältere Spiele laufen nicht ohne Änderungen. Eine genaue Auflistung der Emulationsfehler findet sich im C64DTV Programming Guide.
Kernal[Bearbeiten | Quelltext bearbeiten]
Das KERNAL des C64DTV wurde im Vergleich zum originalen C64 leicht verändert. So wurden u.a. die Datassetten-Routinen (Geräteadresse 1) entfernt und durch die Laderoutinen für die Spiele auf dem eingebauten ROM ersetzt. Zugriffe über die Gerätenummer 8 (LOAD"*",8
) werden an eine ggf. angeschlossene Floppy weitergeleitet. Die Spiele im ROM können über Geräteadresse 1 (nur lesend) über eine sehr einfache Verzeichnisstruktur angesprochen werden. Hierzu wird zunächst die gewünschte Spiele-Datei vom ROM ins RAM kopiert, bevor sie genutzt werden kann.
Im Vergleich zu den C64-Emulatoren (VICE etc.) gibt es beim C64DTV keine Disketten-Images oder emulierte Floppy. Daher laufen die Programme, die im Programmverlauf auf die Floppy zugreifen, nicht problemlos ohne Anpassung bzw. Änderung vom Flash des C64DTV. Einige C64-Spiele wurden für den C64DTV entsprechend angepasst.
Modding[Bearbeiten | Quelltext bearbeiten]
Viele Modifikationen (kurz: Mods) können erst ab Version DTV2 durchgeführt werden. Als erster Anlaufpunkt für die Mods empfiehlt sich das DTV-Wiki bzw. die Website von Daniel Kahlin, z. Zt. nur über Wayback Machine erreichbar.
Hardware-Mods[Bearbeiten | Quelltext bearbeiten]
Vorbemerkung: Um den C64DTV zu erweitern, muss man entsprechende Kenntnisse über die Lötpads und die entsprechenden Schnittstellen-Belegungen haben. Einige Lötpads für wesentliche Leitungen sind beschriftet, so dass es für erfahrene Hardwarebastler eigentlich kein Problem darstellt, den C64DTV zu modifizieren bzw. zu erweitern.
- DIN- bzw. PS/2-Tastaturanschluss:
- Achtung, PS/2-Tastaturen vertragen nur 5 Volt, somit Vorsicht bei Bestückung mit 4x 1,5 V Batterien, es empfehlen sich für den Batteriebetrieb eher frisch geladene Akkus à 1,2 V, diese vor Betrieb zu messen, macht Sinn, da bei zu wenig Spannung womöglich kein Tastaturzugriff gegeben ist.
- Andere Tastenbelegung, z.B. "Z" und "Y" vertauscht
- Ein Bug sorgt dafür, dass unmittelbar nach dem Einschalten für eine gewisse Dauer jede Taste als "V" interpretiert wird, einfach ein paar mal "V" drücken, dann kann es losgehen.
- Externer Joystick (Port 1 und Port 2)
- IEC Buchse: Am IEC-Port lassen sich dann sämtliche mit einem "echten" C64 nutzbaren Geräte anschließen (z.B. SD2IEC, 1541-III, 1541 Ultimate).
- Netzteilanschluss
- Korrektur des Farbfehlers der PAL-Version (mit Einschränkungen auch per Palettenanpassung in Software möglich)
- S-Video-Anschluss
- Userport
- spezielle DTV-Hardware (z.B. ein Datentransferkabel)
Flashen des ROMs[Bearbeiten | Quelltext bearbeiten]
Warnhinweise[Bearbeiten | Quelltext bearbeiten]
- Vorsicht beim Flashen der ersten 64kB: Insbesondere beim Flashen der unteren 64kB ist höchste Vorsicht geboten. Wenn der dortige ROM-Inhalt fehlerhaft geflasht wird, kann der DTV endgültig unbrauchbar werden bzw. so nützlich wie ein Briefbeschwerer, weshalb man auch von "Bricken" ("brick"=Engl. für Ziegelstein) spricht. Schon wenn nur wenige, entscheidende Bytes des KERNAL-ROMs abweichen, kann die Funktionalität stark beeinträchtigt und - wenn überhaupt - nur noch mit viel Aufwand wieder hergestellt werden, falls denn der Direktmodus noch halbwegs funktioniert. Besonders wird davor gewarnt, dass die DTV Emulation von WinVICE das KERNEL ROM im Virtual Device Traps ON / True Drive OFF modus auf eine Weise patcht, die am echten DTV dazu führt, dass die IEC Bus Kontrolle so gründlich verloren geht, dass nicht einmal mehr auf ROM-Inhalte zugegriffen werden kann. Man kann nicht oft genug betonen, dass User, die nicht sehr genau wissen, was sie tun, vor allem den unteren Bereich des ROMs in Ruhe lassen sollten, z.B. indem sie den Schreibschutz dieses Bereiches in den Flashtools aktiviert lassen.
- Limitierte Wiederbeschreibbarkeit des FlashROMs: Die FlashROMs lassen sich nicht endlos oft neu flashen. Der Chiphersteller ATMEL gibt mindestens 100 mögliche Flashvorgänge an. Dies sollte man berücksichtigen. Wer flexibel sein will und von seinem ROM-Inhalt gelangweilt ist, ist besser beraten, sich mittels IEC Mod von externen Datenträgern Abwechslung zu laden, als seinen DTV jede Woche neu zu flashen.
Flashen mit Tastatur- und IEC hardware Mod[Bearbeiten | Quelltext bearbeiten]
- Allgemein: Hat man dank o.g. Hardwaremods die Möglichkeit, vom Direktmodus des DTV Software zu laden, so kann man - unter unbedingter Beachtung der zuvor genannten Warnhinweise - mittels Software Flashtools zuvor vorbereitete ROMs, z.B. mit eigener Spieleauswahl etc. etc. flashen. Sehr benutzerfreundlich und verständlich hat Mactron dies im Forum64 erklärt nebst Verweisen auf benötigte Software, siehe unten (Links).
- Dauer des Flashens: Wenn man nicht von SD2IEC o.ä. flasht, sondern sich wirklich traut, mittels der einschlägigen Software das zu flashende ROM in Einzelsegmenten auf 16 5,25" Diskettenseiten zu verteilen, so dauert der Prozess mehr als 2 Stunden, man sollte besser eher 3 bis 4 Stunden einplanen. Ohne Netzteil-Mod sind also frisch geladene 1,2 V Akkus sicherzustellen, keine 1,5 V Einwegbatterien, da die PS/2 Tastatur benötigt wird und durch zu hohe Spannung beschädigt werden könnte.
- Tipp: Es ist bei jedem Disketten- bzw. Imagewechsel sehr genau am Bildschirm zu kontrollieren, was man im Flashprogramm eingibt. Zudem bietet sich an, ggf. Disketten vor dem Flashen auf beiden Seiten deutlich zu beschriften und die Directories nochmals zu prüfen.
Flashen per DTVTrans Kabel[Bearbeiten | Quelltext bearbeiten]
Zum Flashen des C64DTV braucht man nicht unbedingt eine Floppy. DTV-seitig kann man eine kleine Bootstrapping-Software für ein Transferkabel (DTVTrans) abtippen und damit eine komfortablere Transfersoftware bzw. Flash-Utilities auf den DTV bekommen.
Sonstiges[Bearbeiten | Quelltext bearbeiten]
Die PAL-Version des C64DTVs enthält noch ein kleines "Geheimmenü" mit sechs weiteren Miniprogrammen: Einfach während des normalen C64 Startbildschirms den Joystick abwechselnd nach links und rechts bewegen. Daraufhin wird nicht "*" geladen, sondern das Inhaltverzeichnis einer Diskette. Mit dem Joystick kann man nun den Cursor auf eines der gewünschten Programme bewegen und per Knopfdruck starten.
Die Programme sind: "Basic Prompt", "Minima Reloaded", "Splatform", "DWCave", "Cliff Diving" und "Tinyrinth". Während es sich bei allen anderen Programmen um kleine Spiele handelt erlaubt "Basic Prompt" ein (wenn auch umständliches) arbeiten im Direktmodus - per Knopfdruck erscheint eine Tastatur, auf der man sich das nächste gewünschte Zeichen aussucht...
Bilder von älteren Entwicklungs-Prototypen des C64DTV:
- Bild/weiteres Bild auf FPGA-Entwicklungsboard
- Platine einer älteren Version, unbestückt
- Joystick-Gehäuse als Prototyp