Einführung
Vor einiger Zeit wurde bereits der B.I.-80 Display-Adapter nachgebaut. Diese an sich sehr gute 80-Zeichen-Karte hat jedoch einen entscheidenden Nachteil: Sie erlaubt keine weiteren Erweiterungen. Besonders das Commodore CP/M-Modul, das am meisten von 80 Zeichen profitieren würde, bleibt unberücksichtigt.
Es gibt nur wenige Module, die diesen Nachteil für sich nutzen konnten. Dazu gehört das EX-80 Plus von MK Datentechnik Berlin. Dieses verfügt über einen Erweiterungsanschluss in Form eines durchgeschleiften Expansion-Ports. Es ist kompatibel mit dem Commodore CP/M-Modul und ermöglicht die Nutzung der CP/M-Version 2.2 mit 80 Zeichen.
Das Modul kam zwischen 1984 und 1985 auf den Markt und wurde von Decam Meßgerätebau Ettlingen und Jann Datentechnik Berlin vertrieben.
Es gab auch ein speziell angepasstes Textverarbeitungsprogramm namens Protext-80 für diese Karte.
Eine Nachbildung muss her
Leider gibt es kaum Informationen über diese Erweiterung. Es existiert nur ein Testbericht aus dem Jahr 1985 in der April-Ausgabe der Zeitschrift 64er.
Es bedurfte umfangreicher Recherchen, um einige Informationen und eine Handvoll Bilder von der Vorderseite zu erhalten. Auf noch aktiven Websites war nichts zu finden, die beste Quelle war das Web Archive Project.
Insgesamt wurden 7 Bilder, eine sehr schlechte Kopie des damaligen Handbuchs und die Firmware der Karte gefunden. Dies war der Ausgangspunkt für den Versuch, diese Karte nachzubauen.
Was sehr hilfreich war, war das Datenblatt des verwendeten MC6845 Display-Controllers von Motorola und die entsprechende Applikationsnote AN-851.
Besonders das Buch „The CRT Controller Handbook“ von Gerry Kane aus dem Osborne/McGraw-Hill Verlag gab wichtige Hinweise.
Und nicht zuletzt führte der bereits erfolgreiche Nachbau einer ähnlichen 80-Zeichen-Karte zum Erfolg.
Die Anfänge
Ein großer Vorteil war, dass fast alle 80-Zeichen-Erweiterungen auf dem Referenzdesign von Motorola basierten. Es gibt immer leichte Abweichungen, aber grundsätzlich ist das Kerndesign aller Karten gleich. Im Netz gibt es viele Schaltpläne, auch von anderen Computern, die immer ein ähnliches Grunddesign zeigen.
Die auf der EX-80 Plus verwendeten Komponenten konnten recht einfach anhand der Fotos identifiziert werden. Die meisten Komponenten sind genau dieselben wie im Referenzdesign und in vielen anderen ähnlichen Karten zu finden.
So konnte relativ schnell ein grundlegender Schaltplan erstellt werden.
Dann kam der komplexere Teil.
Die Karte hat einige kleine Besonderheiten, die sie von anderen Karten unterscheiden. Einige davon ließen sich leicht lösen, andere waren etwas kniffliger.
Mit Hilfe eines Logikanalysators wurde versucht herauszufinden, was die Firmware während der Initialisierung macht. Welche Adressen aufgerufen werden, welche Register gesetzt werden usw. Dies war tatsächlich der größte Aufwand. Auf einem Steckbrett wurde das Puzzle Stück für Stück zusammengesetzt.
Das dauerte etwa drei Monate. Auf diese Weise konnte der Schaltplan immer weiter verfeinert werden. Glücklicherweise lassen sich viele Möglichkeiten von vornherein ausschließen. Zum Beispiel führt das Verbinden von nur zwei Eingängen niemals zu einem Ergebnis.
Am Ende blieben jedoch einige Fragezeichen, die durch Ausprobieren gelöst werden konnten.
Was am Ende fehlte, war das Zeichensatz-ROM. Dieses konnte nicht gefunden werden. Also wurde ein eigenes erstellt, beziehungsweise zwei. Denn die Karte kann den Zeichensatz umschalten. Zuerst ist der originale C64-Zeichensatz enthalten und zweitens eine Version mit Sonderzeichen und deutschen Umlauten.
Das war die nervigste Arbeit. Leider wurde kein Editor gefunden, daher musste alles manuell gemacht werden.
Insgesamt dauerte es etwa sechs Monate, bis ein Schaltplan ausgereift genug war, um schließlich eine Platine herstellen zu lassen.
Um Fehler suchen zu können, wurde viel Platz zwischen den Komponenten gelassen. Besonders da die Platine später viel kleiner gemacht oder die gesamte TTL-Technik in ein CPLD gepackt werden soll.
Die erste Platine
So entstand die erste Version einer Platine. Sie ist nicht gerade kompakt und nimmt bereits viel Platz ein. Zum Testen und Messen ist dies jedoch eher von Vorteil.
Der erste Versuch war leider nicht von Erfolg gekrönt. Der MC6845 Display-Controller initialisierte, aber es wurde nur ein Zeichen angezeigt.
Aber der C64 stürzte nicht ab, es konnte blind getippt und in den 40-Zeichen-Modus zurückgekehrt werden.
Nach einiger Suche wurde der Fehler gefunden und einige Leiterbahnen auf der Unterseite mussten mit emailliertem Kupferdraht neu verlegt werden.
Der zweite Versuch sah dann viel besser aus:

Der Zeichensatz
Grundsätzlich funktioniert die Karte, was nach all der Arbeit bereits ein großartiges Gefühl ist. Aber der Zeichensatz stimmt noch nicht. Besonders beim Starten von CP/M wurde dies deutlich. Anstelle von Buchstaben wurden nur Sonderzeichen angezeigt.
Also musste der selbst erstellte Zeichensatz-ROM erneut überprüft werden.
Ein weiterer Zeichensatz wurde zusammengestellt und in ein EPROM geschrieben:
Kaum macht man es richtig…
…sieht es schon viel besser aus:

Zeit für CP/M
Auch wenn es schon vorweggenommen wurde, der spannende Teil war das Booten des CP/M-Moduls.


Die eigene Version des CP/M-Moduls wurde verwendet, da sie schneller ist als das Original. Besonders da wahrscheinlich beides auf einer Platine integriert wird.
Das CP/M startete schnell und präsentierte sich in fast vertrauter Weise, nur dass es gerade noch so aussieht.

Dies ist die normale Standardversion von CP/M 2.2, die mit dem originalen Commodore CP/M-Modul geliefert wurde.
Da die Frage sicherlich aufkommt: Ja, das CP/M-Modul hat eine konfigurierbare Speicherverwaltung. Sollte irgendwann jemand mit einer „speziellen“ CP/M-Version kommen, die auf andere Speicherbereiche zugeschnitten ist, ist das Modul dafür bereits vorbereitet. Es muss nur freigeschaltet werden, und dann wird auch dies funktionieren.

Zum Testen wurde erneut das bewährte Mandelbrot-Set verwendet. Das Programm ist als Quellcode unter Turbo Pascal verfügbar.
Turbo Pascal wurde gestartet, der Code geladen, kompiliert und ausgeführt. So wurde ein kleiner Stresstest durchgeführt, um die Stabilität zu testen.
Und das Beste ist, dass die Ausgabe in 80 Zeichen erfolgt. Es sieht viel besser aus als mit einer Software-Emulation.
Ausblick
Sicher fragen sich nun viele, wo alles heruntergeladen werden kann. Die kurze Antwort lautet: Es ist in Arbeit! 🙂
Im ersten Schritt wird die Platine etwas kleiner und handlicher gemacht und somit kostengünstiger zu produzieren. Besonders da die Fehler dort korrigiert sein werden.
Die Schaltplatine wurde bereits entwickelt und muss nur noch hergestellt und erneut getestet werden.

Wenn alles in Ordnung ist, wird das Ganze auf GitHub hochgeladen. Dann können alle die Gerber-Dateien dort herunterladen und Platinen herstellen lassen.
Der nächste Schritt wäre, alles viel kleiner zu machen. Die Idee ist, die gesamte TTL-Technik in ein CPLD zu packen.
Dann könnte entweder eine Steckversion der Z80-Platine oder beides zusammen auf einer Platine erstellt werden. Das wird sich noch zeigen, genau sagen lässt es sich noch nicht.
Die Idee wäre sogar, alles in ein FPGA zu packen. Leider gibt es derzeit nicht viele erschwingliche Optionen, die in Frage kämen. Aber das bleibt im Hinterkopf.
Vorschläge und Fragen sind willkommen!

Mittlerweile habe ich von 3 verschiedenen 80-Zeichen Karten eine Replik erstellt:
- Jann Datentechnik EX-80 Plus
- Batteries Included B.I.-80
- Data 20 Video Pak
Ich habe in den letzten Monate die Flohmärkte aufgerast und es warten noch weitere Karten darauf, als Replik veröffentlicht zu werden. Stay tuned…
Wer noch kein CP/M Modul hat, und gerne beides auf einer Platine vereint sehen möchte, dem sei folgender Artikel wärmstens empfohlen: Double-The-Eighties
Update 28.02.2022 & Download
Ich habe jetzt zum Nachbau alles auf Codeberg abgelegt: https://codeberg.org/diwou/EX-80_Plus
