Hello, Guest the thread was called842 times and contains 21 replays

last post from Wiesel at the

Nachbau der 80 Zeichenkarte EX 80+

  • Hallo allerseits,


    nachdem die zweite Version der Z80-Platine lief, habe ich mit Asklias Hilfe angefangen 80 Zeichenkarte EX 80+ nach zu bauen, die für das produktive Arbeiten mit CP/M dringend benötigt wird. Die EX 80+ wird mit einer angepassten Firmware betrieben, die ein zügiges Arbeiten und schnelles scrollen ermöglicht, weil der Z80 direkt in den Speicher der Platine schreiben kann.


    Von Asklia habe ich seine einzige EX 80+ bekommen und diese habe ich zuerst mit meiner Z80-Platine getestet. Anschließend habe ich die Platine von beiden Seiten gescannt und in CorelDraw eingebunden und die Platine mit allem drum und dran nachgezeichnet. Mit dem Verlauf der Leiterbahnen und den ICs habe ich Stück für Stück den Schaltplan erstellt.


    Hier sieht man die die originalen Platinen mit einer Überlagerung der Bauteile, ICs und Bohrlöcher. Es gibt leichte Abweichungen bei den Bohrlöchern, aber es ist für diese Arbeit ausreichend.


    Im unterstehenden Bild sieht man die komplett nachgebildete Platine in CorelDraw.


    Das größte Problem diesmal war die Leiterbahnenführung und die Positionen der ICs, weil diese keinem Raster folgen. Am Ende habe ich noch alle IC-Kontakte untereinander durchgeklingelt, damit ich den Schaltplan vollständig erfasst habe. Damit das Durchklingeln im ersten Schritt schneller geht, habe ich mir Stiftleisten einreihig und zweireihig zusammengelötet. So habe ich die letzten noch übersehene Verbindungen gefunden.


  • Der Vorteil der Ex80+ war nicht nur das flimmerfreie Scrollen und eine hohe Geschwindigkeit, sondern auch die Terminalfunktionen mit cursorsteuerung etc. Diese wurden dann im Z80 CP/M BIOS für eine Terminalemulation übersetzt.


    Damit funktionierten dann auch "bessere" CP/M Programme wie Wordstar mit direkter Terminalansteuerung. Und WS schreibt - bei passender Konfiguration - direkt in den Bildschirmspeicher. Mit dem Z80 Prozessor.

  • Hier ist der erste noch nicht ganz vollständige Entwurf meiner nachgebauten EX 80+:


    Hier die fertige Platine. Da ich ICs recht dicht gepackt habe, hat am Ende der Platz für sechs Leiterbahnen gefehlt. Leider war meine Motivation nochmals von vorne anzufangen (war noch mit KiCA D4.x) zu niedrig und meine Neugier zu groß. Daher habe ich die Platine trotzdem in Auftrag gegeben. Hier die fertige Platine:


    Auf der Rückseite habe ich dann die fehlenden Verbindungen per Hand mit Kupferlackdraht nachgelötet.

  • Wie funktioniert die Karte? Eigenes Video-RAM, eigener Video-Controller, eigenes Bios und das 2. Eprom ist vermutlich der Character-Generator?

    Der Videocontroller ist ein 6845, das ist aber eher ein programmierbarer Timing-Generator für Video als ein Videocontroller, deshalb auch die Sammlung an TTLs. Ja, eigenes Video-RAM (das HY6116 2K SRAM) und ein EPROM als Char-Generator. Der wichtigste TTL ist der 74LS166, ein Schieberegister mit dem die vom Char-EPROM gelieferten 8 Bit in den Bitstrom zum Monitor verwandelt werden.

  • Wo wird das Video-Signal rausgeführt? Auf dem 2-poligen Stecker?

    Genau auf dem 2-poligen Stecker wird das Videosignal rausgeführt. Ich habe mir ein einfaches Kabel dazu selbst gemacht. Die Lösung auf Asklias Karte hatte noch „3“ Stifte (mittlerer Stift wurde heraus genommen). Ich wollte es etwas kompakter und da man eh nur zwei braucht habe ich den 2-poligen Stecker genommen.

  • Beim Test der Platine hatte ich alle ICs der originalen EX 80+ in meine Platine eingesetzt. Beim Einschalten des C64 zeigte sich einen Blackscreen. :( Auch die originale Platine zeigte plötzlich einen Blackscreen.


    Der C64 startet mit Platine ohne ICs normal. Also nochmals von vorne und einen IC nach dem anderen eingesetzt und den C64 eingeschaltet. Beim EPROM mit der Firmware gab es einen Blackscreen. Also ein neues EPROM gebrannt und eingesetzt. Jetzt läuft die originale Platine wieder und auch der Nachbau läuft jetzt und verhält sich zu 99,9% wie die originale Platine.:D


    Leider zeigt sich, dass das Design der Platine recht knapp auf der Kante genäht ist. Mit zu schnellem SRAM gibt es Probleme mit der Darstellung. Das Verhalten ist bei beiden Platinen gleich und reproduzierbar. Sobald das SRAM eine schnellere Zugriffszeit als 150ns hat zeigt sich folgendes Bild:


    Ich habe mir über einem Forumsmitglied einige SRAMs 6116 mit der richtigen Zugriffszeit sichern können, so dass ich später auch einige Platinen fertigen und anbieten kann. Zum Testen der SRAM ICs habe ich mir einen kleinen Adapter mit ZIF-Sockel zusammengelötet.


    So konnte ich recht schnell die die ganzen SRAM ICs durchtesten. Wobei es ausreicht, wenn ich die Platine im 80Z-Standalone-Betrieb mit SYS49152 starte. Wenn die Einschaltmeldung einwandfrei ist, dann ist das SRAM okay. Das Zusammenspiel mit der Z80-Platine ist gewährleistet. So konnte ich auch relabeled China-Ware zuverlässig erkennen.

  • Abblockkondensatoren sind nicht so deine Sache oder?

    Oder sind die alle auf der Unterseite?

    Aber natürlich! Ich habe Präzisionssockel mit Abblockkondensatoren verwendet und wo es nicht gepasst hat, da habe ich diese von der Rückseite angebracht. Wobei die originale Platine nicht jedem IC einen Abblockkondensator spendiert hat.

  • Langsameres S-Ram hält die Daten länger, wenn sich die Adressen am Eingang ändern. Ich würde entweder ein Latch zwischen Adressen und S-Ram inputs setzen, oder die Load-Zeit des Schieberegisters verkürzen. Stell' doch mal einen Schaltplan hier rein, dann können wir ein wenig mit knobeln.

  • Der Schaltplan ist so nicht ganz einfach zu lesen, aber die Vermutung, dass das Schreiben schon fehlerhaft sein kann, muss ebenfalls verfolgt werden. Immerhin wird Schreiben mit dem gleichen Signal am SRAM freigeschaltet, wie die Daten vom Latch freigeschaltet werden. Das macht potentiell am Anfang des Zugriffes Probleme - Am Ende wohl weniger, weil der LS374 die Daten wohl ausreichend lange halten wird.


    Wie das Lesen vonstatten geht, und speziell wie das Schieberegister geladen wird, war auf den ersten Blick nicht offensichtlich; dafür müsste ich mir eine "Reinschrift" des Schaltplanes machen und worst-case Betrachtungen für das Load-Signal machen. Versuchsweise würde ich mal das Char-EPROM gegen einen langsameren Typen tauschen und schauen, ob dann das schnellere S-Ram funktioniert. Wenn das der Fall ist, ist "Lesen" der zu korrigierende Fall.


    Jens

  • Wie das Lesen vonstatten geht, und speziell wie das Schieberegister geladen wird, war auf den ersten Blick nicht offensichtlich; dafür müsste ich mir eine "Reinschrift" des Schaltplanes machen und worst-case Betrachtungen für das Load-Signal machen. Versuchsweise würde ich mal das Char-EPROM gegen einen langsameren Typen tauschen und schauen, ob dann das schnellere S-Ram funktioniert. Wenn das der Fall ist, ist "Lesen" der zu korrigierende Fall.

    Ich schaue mal nach ob ich ein langsameres EPROM habe und werde es mal testen.