EasyFlash³ – Flashen der verschiedenen Komponenten

Einleitung

Das Easyflash³ ist ein sehr beliebtes Modul für den Commodore C64 und C128. Es ermöglicht das direkte Starten zahlreicher Programme oder Spiele vom Flash-Speicher sowie die Verwendung eines anderen Kernals, ohne auf den Computer zugreifen zu müssen. Wenn ein solches Modul selbst gelötet wurde, muss es zunächst initialisiert werden, bevor es am C64 verwendet werden kann.

Es gibt jedoch auch Fälle, in denen sich eine sehr alte Firmware auf der Cartridge befindet, die auf eine aktuelle Version geflasht werden sollte. Besonders interessant ist die Möglichkeit, die Final Cartridge III+ als Freezer auf das Easyflash³ mit der alternativen Version von Kim Jorg Jorgensen zu flashen. Es gibt zwar ein Handbuch auf der Website des Entwicklers “SKOE”, aber dieses ist über viele Seiten verteilt und für weniger erfahrene Hobbyisten nicht immer leicht zu befolgen.

Daher wird hier versucht, eine Schritt-für-Schritt-Anleitung zu geben. Ausgehend von einer frischen Windows 10-Installation, auf der noch keine Software oder Treiber für das Easyflash³ vorhanden sind, werden die einzelnen Punkte im Detail erklärt.

Alle notwendigen Werkzeuge sind am Ende zusammengefasst und stehen im Downloadbereich zur Verfügung.

Initialisierung des Easyflash³

Das Easyflash³ besteht aus vier Komponenten:

  • FTDI-Chip für die Kommunikation des Moduls über USB mit einem PC
  • CPLD-Chip, der die gesamte Steuerung übernimmt
  • Flash-Chip, auf dem nicht nur die Programme und Spiele, sondern auch das Cartridge-Menü gespeichert sind
  • RAM-IC, das flüchtigen Speicher für das Modul selbst bereitstellt

Mit Ausnahme des RAM-Chips müssen die anderen drei Komponenten zuerst initialisiert, also programmiert werden. Und die Reihenfolge ist genau wie oben angegeben, da das System aufeinander aufbaut. Um den CPLD zu programmieren, wird zunächst die USB-Schnittstelle benötigt. Der FTDI-Chip ist hierfür zuständig. Und um den Flash-Speicher zu füllen, muss der CPLD programmiert sein. Daraus ergibt sich folgende Reihenfolge:

  1. FTDI-Chip
  2. CPLD-Chip
  3. Flash-Chip

Für diese Anleitung wird von einem Windows 10 in der 64-Bit-Version ausgegangen.

Flashen des FTDI-Chips

Installation des FTDI-Treibers

Damit Windows das Modul erkennt, wird zuerst der FTDI D2XX-Treiber für Windows benötigt. Dieser muss heruntergeladen und entpackt werden.

Es ist ratsam, kurzzeitig die Internetverbindung zu trennen, da Windows 10 sonst versucht, seinen eigenen Treiber zu installieren.

Wenn das Easyflash³-Modul nun über USB mit dem PC verbunden wird, sollte im Geräte-Manager ein „USB Serial Port“-Gerät ohne Treiber gefunden werden.

Mit der rechten Maustaste auf diesen Eintrag klicken und “Treiber installieren” auswählen.

Mit einem Rechtsklick auf diesen Eintrag und der Auswahl von „Treiber installieren“ öffnet sich ein neues Fenster. Dort den Punkt „Auf dem Computer nach Treibersoftware suchen“ auswählen.

Nun zum entpackten Verzeichnis navigieren und sicherstellen, dass der Punkt „Unterordner einbeziehen“ aktiviert ist. Dieser Schritt wird wie gewohnt bei Windows mit „Weiter“ fortgesetzt.

Der Treiber wird nun installiert und Windows zeigt im Geräte-Manager einen „USB Serial Port (COM3)“ an, wobei COM3 die Nummer des Ports ist. Diese kann je nach Computer variieren. Es kann auch eine ganz andere Nummer auf dem eigenen Computer sein, was jedoch keine Rolle spielt.

Nach dem Schließen des Fensters erscheint der Geräte-Manager erneut mit dem nun korrekt erkannten Treiber.

Die Treiberinstallation ist nun abgeschlossen und es kann mit dem nächsten Schritt fortgefahren werden. Die Internetverbindung kann jetzt wiederhergestellt werden.

Installation des FTDI-Programmiertools

Als nächstes wird das FTprog-Tool von FTDI benötigt. Damit der FTDI-Chip weiß, wie er die Kommunikation zwischen dem CPLD-Chip und dem USB-Anschluss handhaben soll, muss er konfiguriert werden. Dieses Tool kann von der FTDI-Seite heruntergeladen werden.

Nach dem Herunterladen einfach die ausführbare EXE-Datei starten.

Wie bei Windows üblich, müssen die angezeigten Seiten möglicherweise ein paar Mal bestätigt werden. Es müssen keine Einstellungen oder Konfigurationen vorgenommen werden. Einfach auf „Ja“, „Akzeptieren“, „Weiter“ oder „Installieren“ klicken, bis die Installation abgeschlossen ist.

Fertig, nun ist das Tool installiert.

Programmierung des FTDI-Chips

Bevor der FTDI-Chip programmiert werden kann, wird die entsprechende Vorlage benötigt. Diese ist unter EasyFlash 3 Template for FT245 zu finden (Rechtsklick auf diesen Link, „Speichern unter“ auswählen).

Anschließend das zuvor installierte FT_prog starten. In der Menüleiste auf das Symbol in Form einer Lupe klicken. Das Easyflash³-Modul muss natürlich über USB mit dem PC verbunden sein.

Das Tool sollte nun das noch unprogrammierte Easyflash³ gefunden haben.

Mit einem Rechtsklick auf den oberen Eintrag mit dem Titel „Device…“, dann „Apply Template“ auswählen und „From File“ wählen.

Nun die zuvor heruntergeladene Vorlage auswählen und auf „Öffnen“ klicken.

Die erscheinende Meldung kann mit „OK“ bestätigt werden.

Die Vorlage wurde nun in die Software geladen. Jetzt muss nur noch das EPROM im FTDI-Chip programmiert werden, und zwar mit Hilfe dieser Vorlage, die die entsprechende Konfiguration für die Nutzung als Easyflash³ enthält.

Auf das Blitzsymbol in der Menüleiste klicken. Ein neues Fenster öffnet sich.

Der eigentliche Programmierprozess kann nun gestartet werden, indem einfach auf die Schaltfläche „Program“ geklickt wird.

Auf dem Bildschirm wird nun nicht viel passieren, und es wird ziemlich schnell gehen. Wenn man genau hinsieht, kann man den jeweiligen Status in der unteren linken Ecke dieses Fensters erkennen.

Die Reihenfolge lautet:

  • Flashing Device 0 [Loc OD 0x121]
  • Finished Programming
  • Ready

Dies geschieht innerhalb von 1 bis 2 Sekunden. Wenn „Ready“ angezeigt wird, ist die Programmierung abgeschlossen und das Fenster sowie anschließend das FT_prog-Tool können geschlossen werden.

Nun ist die Programmierung des FTDI-Chips abgeschlossen und das USB-Kabel kann vom Easyflash³-Modul getrennt werden.

Damit das Easyflash³-Modul von Windows wieder erkannt wird, fehlen noch die entsprechenden Treiber. Diese werden später benötigt, wenn Programme oder Spiele mit den Windows-Tools hinzugefügt werden sollen.

Installation des Easyflash³-Treibers

Temporäres Deaktivieren der Windows-Treibersignatur

Bevor der Treiber installiert werden kann, muss die Treibersignatur in Windows 10 vorübergehend deaktiviert werden. Dazu muss Windows einmal neu gestartet werden. Wichtig ist, dass dabei die „SHIFT“-Taste gedrückt gehalten wird. Windows wird normalerweise durch Klicken auf das Menü-Symbol unten links und dann auf „Neustart“ neu gestartet. Aber zuerst die „SHIFT“-Taste drücken und gedrückt halten!

Windows wird nun neu starten und sollte folgendes Menü anzeigen. Wenn Windows normal startet, wurde entweder vergessen, die „SHIFT“-Taste zu drücken, oder sie wurde zu früh losgelassen. Die „SHIFT“-Taste erst loslassen, wenn der blaue Bildschirm angezeigt wird. Dann den Punkt „Problembehandlung“ auswählen.

Als nächstes den Punkt „Erweiterte Optionen“ auswählen.

Schließlich zu „Starteinstellungen“ gehen.

Hier kann nichts eingestellt werden, einfach auf „Neustart“ klicken, wodurch der Computer erneut neu startet.

Beim Start von Windows erscheint der folgende Bildschirm mit verschiedenen Optionen. Dort die Option „7) Erzwingen der Treibersignatur deaktivieren“ auswählen. Dazu die Zahlentaste „7“ drücken. Maussteuerung funktioniert an dieser Stelle nicht.

Windows wird nun normal weiterbooten. Solange der Computer nicht neu gestartet wurde, können Treiber installiert werden, die nicht von Microsoft genehmigt sind, wie der Easyflash³-Treiber. Nach der Treiberinstallation kann Windows erneut neu gestartet werden. Danach ist die Treibersignatur-Abfrage wieder aktiviert, aber da der Treiber nun bereits installiert ist, bleibt er aktiv.

Installation des Treibers

Zuerst die notwendigen EasyFlash 3-Treiber von SKOEs Seite herunterladen und entpacken. Dann den Geräte-Manager öffnen. Dort sollte zu sehen sein, dass das Easyflash³ erkannt wird, aber der Treiber fehlt.

Wie zuvor beim FTDI-Treiber, mit einem Rechtsklick auf den Easyflash³-Eintrag und „Treiber aktualisieren“ auswählen.

Als nächstes den Punkt „Auf dem Computer nach Treibersoftware suchen“ auswählen.

Erneut das Verzeichnis angeben, in dem der Treiber kurz zuvor entpackt wurde. Auch hier sicherstellen, dass der Punkt „Unterordner einbeziehen“ aktiviert ist.

Windows sieht das Ende unserer Zivilisation nahen und warnt dringend, dass das Leben nach dieser Treiberinstallation nicht mehr dasselbe sein wird. Dies wird einfach ignoriert und durch Auswahl von „Diese Treibersoftware trotzdem installieren“ gibt Windows nach und installiert den Treiber.

Die Dateien werden nun kopiert und der Treiber installiert.

So sollte es aussehen, wenn Windows den Treiber erfolgreich installiert hat.

Auch im Geräte-Manager ist der Hinweis auf den fehlenden Treiber verschwunden und das Easyflash³-Gerät erscheint nun unter dem Eintrag „libusb (WinUSB) devices“. Jetzt sind sowohl Windows als auch das Easyflash³-Modul bereit, um den CPLD zu programmieren.

Nun sollte der Computer erneut normal gebootet werden, damit die Treibersignaturerkennung wieder aktiviert wird.

Flashen des CPLD-Chips

Nach erfolgreichem Abschluss des ersten Teils kann nun der CPLD-Chip programmiert werden. Dazu wird das EASP-Tool benötigt, das ebenfalls auf SKOEs Website zum Download bereitsteht. Dies ist lediglich das Programmierwerkzeug, zudem muss die tatsächliche Datei heruntergeladen werden, die auf den Chip geflasht wird. Die SVF-Datei für den CPLD ist unter ef3-cpld-1.1.1.zip zu finden.

Beide Dateien herunterladen und entpacken.

Um den Xilinx CPLD überhaupt flashen zu können, müssen die Jumper auf die „PROG“-Position gesetzt werden, wie auf diesem Bild hier zu sehen.

Und der CPLD benötigt eine zusätzliche Versorgungsspannung. Diese kann er nicht vom USB-Port beziehen. Am einfachsten ist es, das Modul in den Erweiterungsport des C64 zu stecken und diesen einzuschalten. Dann muss die USB-Verbindung zwischen dem PC und dem Easyflash³-Modul hergestellt werden.

Nun wird ein Kommandozeilenfenster (oft auch „DOS-Fenster“ genannt) benötigt.

Dort in das Verzeichnis wechseln, in dem das EASP-Tool entpackt wurde. In diesem Beispiel war dies das Verzeichnis im Benutzerverzeichnis von Windows „Downloads\easp-2014-01-09\easp-2014-01-09\i686-w64-mingw32“. Das EASP-Tool selbst befindet sich im entpackten Paket nochmals in einem eigenen Unterverzeichnis, daher das „i686-w64-mingw32“ am Ende des Pfades.

Der Befehl zum Flashen des CPLD lautet: „easp -p 0x8738 -v <SFV-Datei>“. Für den Platzhalter „<SFV-Datei>“ muss der Pfad inkl. Dateiname der entpackten CPLD-Software angegeben werden. Am einfachsten ist es, die *.svf-Datei an denselben Ort zu kopieren, an dem sich die easp.exe befindet. Dann würde der Aufruf folgendermaßen aussehen: „easp -p 0x8738 -v ef3-cpld-1.1.1.svf“.

Wird dieser Befehl so ausgeführt, wird der CPLD geflasht.

Falls stattdessen die Fehlermeldung „libftdi: device not found“ erscheint, wurde vermutlich vergessen, das USB-Kabel mit dem PC zu verbinden oder es in das Easyflash³-Modul zu stecken.

Das EASP-Tool beginnt nun mit dem Flashen des CPLD. Dies dauert etwa 2-3 Minuten. Es ist ein schrittweises Ausgeben der Statusinformationen zu sehen.

Dieser Vorgang nimmt die meiste Zeit in Anspruch. Wenn alles geschrieben ist, erfolgt eine Verifizierung. Dies erkennt man daran, dass die Ausgabe etwas anders aussieht und die Zeilen nur so durchrauschen. Dies dauert nur wenige Sekunden.

Am Ende sollte das Ganze so aussehen.

Sehr wichtig ist die letzte Zeile der Ausgabe. Es muss „<<< All TDO outputs matched to the expected values! >>>“ dort stehen.

Übrigens wird der C64 während dieses Prozesses wahrscheinlich abstürzen. Das ist völlig normal und nicht weiter schlimm.

Sollte die Meldung jedoch so aussehen: „<<< 119872 TDO outputs did not match to the expected values… >>>“, war entweder der C64 nicht eingeschaltet oder die Jumper waren nicht korrekt gesetzt. Kein einziger Speicherzelle wurde beschrieben.

Problematischer wird es, wenn nicht „<<< 119872 TDO…“ dort steht, sondern eine völlig andere Zahl. Meistens etwas im Bereich von 70000 bis 90000. Dann konnte der CPLD grundsätzlich beschrieben werden, aber einige Speicherzellen konnten nicht beschrieben werden. Dies kann mehrere Ursachen haben.

Wenn der CPLD nicht bei einem renommierten Elektronikversand wie Mouser, Digikey oder anderen regionalen Händlern, sondern bei eBay und besonders bei AliExpress aus China gekauft wurde, könnte einfach ein Schreibschutz auf dem Chip sein. Darüber wurde bereits der Artikel “EasyFlash³ – Probleme mit dem CPLD” geschrieben. Dieses Problem kann relativ einfach behoben werden und wird in diesem Artikel beschrieben.

Tritt der Fehler dennoch auf, liegt es in den meisten Fällen an einer fehlerhaften Lötstelle. Diese ist jedoch nicht nur am CPLD zu suchen, sondern auch am Flash- und RAM-Baustein. In sehr seltenen Fällen kann es auch durch den FTDI-Chip oder eine der Lötstellen verursacht werden.

Meistens findet sich ein Kurzschluss zwischen zwei Kontakten. Der CPLD ist äußerst robust. Dass dieser defekt ist, ist bei einer dreistelligen Anzahl von Stücken nur einmal vorgekommen oder wurde defekt geliefert. Ebenso der FTDI-Chip, von dem ein defektes Exemplar erhalten wurde. Bei den RAM- und Flash-Bausteinen hatte ich bisher keinen einzigen Defekt.

Wenn alles überprüft wurde und die Kontakte sowie mögliche Kurzschlüsse mit reichlich gutem Flussmittel (bitte nicht das Zeug von eBay oder China verwenden, das tut einem selbst keinen Gefallen) nachgelötet wurden, kann der Prozess einfach wiederholt werden.

Normalerweise lässt sich der CPLD beim zweiten Versuch problemlos flashen.

Nun müssen nur noch die Jumper wieder auf „DATA“ gesetzt werden.

Damit ist dieser Teil abgeschlossen. Nun bleibt nur noch das Flash-Modul.

0 Comments
Älteste
Neueste
Inline-Feedbacks
Alle Kommentare anzeigen
Nach oben scrollen