2024-03-06
Vorweg:
VFD-Studio 2 hat eine eigene Projektseite auf GitHub - da findet man das Programm, Quellcode, Doku, und alles was technisch dazugehört.
Was hier jetzt folgt sind Entstehungsgeschichte und Hintergründe für wen-auch-immer-es-interessiert.

Geschichte

Ok, hier muss ich jetzt weit ausholen. Denn eine Entwicklungszeit über 20 Jahre hinweg kommt auch bei mir nicht alle Tage vor.

Anno 2004, kam ich irgendwie in Besitz an ein großes grafikfähiges Vakuum-Floureszenzdisplay (VFD) und auf die Idee, es an den PC anzuschließen.
Case Modding entwickelte sich zum Trend und jeder der wollte und konnte bastelte an seinem Rechner herum um ihn einzigartig zum machen. Kleine Text- oder Grafik-LCDs, eingebaut in einem freien Laufwerksschacht und am Druckerport angeschlossen, informierten derweil stolz über die inneren Werte und zeigten Prozessortakt und Arbeitsspeichergröße über spezielle Programme wie z.B. LCD-Studio an.

Allerdings gab es für mein VFD kein Programm, welches dieses ansteuern konnte. Also schrieb ich selbst eines, nannte es VFD-Studio und dokumentierte es mit den Mitteln und Standards der Zeit in Form einer Studienarbeit.

Zwanzig Jahre später.
Meinen einzigartigen Rechner von einst habe ich schon lange nicht mehr. Nur das VFD hat in einem Karton die Jahre überdauert. Es war ohnehin viel zu groß um sinnvoll in ein PC-Gehäuse eingebaut zu werden und war darum damals separat auf dem Schreibtisch platziert.
Als ich beim Aufräumen im Keller mit einem (anderen) alten PC-Gehäuse herumhantiere, bekomme ich Lust daraus einen Oldschool-Gaming-PC zu bauen. Und auf etwas Case Modding wie in guten alten Zeiten. Ich erinnere mich an das Display - und sogar, in welchem Karton es liegt.

Ich baue also in das alte Gehäuse ein ebenso altes Mainboard, einen Pentium 4, eine GeForce-Grafikkarte aus dem Kellerbestand und spiele ein altersgerechtes Windows XP auf. Und nach etwas Anlaufschwierigkeiten bekomme ich auch das Display mit dem 20 Jahre alten VFD-Studio wieder zum Laufen. Schön.
Nun das Problem.
Völlig überraschend musste ich feststellen, dass das Display über die Jahre gar nicht kleiner geworden ist und immer noch nicht sinnvoll in ein PC-Gehäuse passt.
Das ist jetzt etwas unbefriedigend, wo ich doch schon so tolle Modding-Pläne habe.

Glücklicherweise findet sich für Leute, mit mehr Geld als Verstand, doch oft noch eine Lösung bei eBay. Und so gelangte ich an ein gebrauchtes Noritake Itron GU126x64-800B, ein grafikfähiges VFD, halb so groß wie mein altes Display und gerade klein genug um es in zwei übereinanderliegende Laufwerksschächte im PC-Gehäuse einzubauen. Schön.
Allerdings gibt es für mein neues VFD kein Programm, welches dieses ansteuern kann. Auch VFD-Studio nicht, denn das ist für 256x64-Displays gemacht.
Man ahnt, was folgt...

VFD-Studio 2

Das ursprüngliche VFD-Studio wurde 2004 mit Borland Delphi 7 in Pascal geschrieben. Borland wurde schon vor Jahren aufgekauft, Pascal hat sich als Programmiersprache nie wirklich durchgesetzt und ich stand nun vor der Entscheidung, für das neue Display etwas komplett Neues aufzusetzen oder "einfach" den alten Code anzupassen.
Da ich ja nun eigentlich nur einen vintage Gaming-PC bauen wollte, ohne Interesse an eskalierenden Side Quests, machte ich mich an den alten VFD-Studio-Code.
Und dann ist die Side Quest doch eskaliert.
Ziemlich.

Entwicklungsumgebung

VFD-Studio 2 ist eine Weiterentwicklung basierend auf dem alten Code von vor zwanzig Jahren, allzu viel ist davon inzwischen aber nicht mehr übrig.
Insbesondere wollte ich heute nun auch nicht mehr gerne mit dem inzwischen antiquierten Komfort einer Entwicklungsumgebung wie Delphi 7 arbeiten, darum war der erste Schritt, den alten Code nach Lazarus 3 zu portieren. Da hat man wenigsten einen passablen Editor.

Konzept

Das Grundkonzept von VFD-Studio 2 ist immer noch gleich: Ein Display wird am Windows-PC angeschlossen und die VFD-Studio-Anwendung gibt Texte und Grafiken darauf aus.
In Textdateien kann man sog. Listen zusammenstellen mit Inhalten, die auf dem Display angezeigt werden sollen.
Ein Texteditor mit Syntaxhervorhebung hilft dabei, zeigt alle Befehle und ihre Verwendung an und sagt schon bei der Eingabe, ob das so funktionieren wird oder warum nicht.

Arduino-Gateway

2004 war das Display am Druckerport angeschlossen. Dieser ist bei PCs heute aber schon seit Jahren ausgestorben und durch USB abgelöst. Auch war der Zugriff auf die Port-Register schon damals nicht mehr unproblematisch. Von Windows 98 noch zugelassen, musste man bei Windows XP hierfür schon etwas tiefer in die Trickkiste greifen.
Klar war also, dass Displays für VFD-Studio 2 über USB angeschlossen werden sollten um auch mit heutigen Rechnern nutzbar zu sein.
Dazu bedarf es eines Mittlers zwischen PC-USB und Display. Und weil ich ja ein fauler avantgardistischer Tüftler bin, fiel die Wahl natürlich auf einen Arduino.
Somit war die erste Eskalationsstufe erreicht und meine nette Side Quest bekam mit dem Arduino-Projekt ihre erste eigene Side Side Quest.

GitHub-Repository

Als VFD-Studio 2 dann soweit war, dass es das alte und das neue VFD über einen Arduino ansteuern konnte, auf alten wie auch auf neuen Rechnern, befand ich dass das ja nun fast schon nützlich für die Allgemeinheit sein könnte und darum ein eigenes GitHub-Repository bekommen sollte.
Das war die nächste Side Quest, denn wenn man das schon macht, dann soll es natürlich auch ordentlich sein, mit nutzerfreundlicher GUI, Installer, gepflegter Doku, How-Tos, und allem drum und dran.
Wie man sieht, ist Mäßigung nicht mein Ding. Folglich uferte das derart aus, dass das Gleichgewicht zwischen Aufwand und Nutzen jetzt in die andere Richtung verschoben war. Also zu viel Drumrum für so ein paar exotische und teure VF-Displays.

Wenn VFD-Studio aber auch mit anderen Displays funktionieren würde ...
Ein Großteil kann ja vom Arduino-Mikrocontroller erledigt werden ...

Weitere Displays

Tatsächlich gibt es eine Arduino-Bibliothek für monochrome Grafikdisplays namens u8g2, welche eine Unmenge and Displays unterstützt.
Damit wird das nun fast schon zu trivial: VFD-Studio schickt Befehle à la "zeichne eine Linie von da nach dort" an den Arduino und dieser gibt das an das Display weiter. Fertig.

Features

VFD-Studio 2 kann alles was VFD-Studio 1 auch konnte und darüber hinaus einiges mehr.
Die wesentlichen Neuerungen:
  • Verbindung zum Display über USB via einem Arduino-Mikrocontroller
  • Unterstützt VFDs der Noritake Itron VFDs GU-300 oder GU-800 Serie verschiedenster Displayauflösungen
  • Unterstützt jede Menge andere LCDs, OLEDs, oder sonstige monochrome Grafikdisplays
  • Verbessertes Bedienkonzept; mehrsprachige GUI; Vorschau-Display am PC; verbesserter Editor für Listenerstellung
  • Installer für 64 und 32 Bit Windows
  • usw.

Bilder

Hauptfenster von VFD-Studio 2
List Editor zum Bearbeiten der Display-Inhalte
Das große VFD von 2004
Neues VFD mit und ohne Farbfilter
Arduino-Mikrocontroller für VFDs
Arduino am Display eingesteckt
Nahaufnahme von einem VFD
Experimente mit einem OLED-Display
Zwei Displays in einem Laufwerksschacht


Anleitung und Download

Siehe Projektseite auf GitHub