Erstellen einer alternativen Anzeige für den Ensoniq EPS16 + und ASR10 Synthesizer / Sampler

Hallo Habr!

Hier werde ich über ein (leider noch nicht abgeschlossenes) Projekt sprechen, um eine Alternative zur Standardanzeige von Ensoniq EPS16 + und ASR10 zu schaffen.

Ein kleiner Hintergrund: Eigentlich ist der Grund für das Erscheinen eines solchen Projekts einfach: der Mangel an Ersatzteilen für diese alten Männer. Ansonik verwendete ihre benutzerdefinierten VFD-Displays in ihnen, und da die Geschichte des Unternehmens Ende der 90er Jahre tatsächlich endete, gibt es keine Möglichkeit, ein solches neues Display zu kaufen. Darüber hinaus wird die Situation durch die Tatsache verschärft, dass das Unternehmen selbst extrem geschlossen war und es keine Handbücher mit Schaltplänen für Modelle gab, die neuer als das 90. Jahr waren. Die Reparatur sollte modular sein, das fehlerhafte Modul im autorisierten SC wurde entfernt, an das Werk gesendet und ein neues / repariertes kam von dort. Dies ist ein großer Unterschied zu anderen Herstellern, da ich die Möglichkeit hatte, einen Schaltplan für alle anderen Eisensynthesizer / Sampler zu finden, die ich hatte.

Zu Beginn hatte ich im Allgemeinen meinen ASR-10 als Standard und kaufte auch eine Rack-Version von EPS16 + mit einem defekten Bildschirm kostengünstig über die kostenlose Website für Kleinanzeigen, und es begann sich wieder zu beleben.



Aus dem kurzen Servicehandbuch war lediglich bekannt, dass das Sampler-Motherboard über die serielle Schnittstelle an die Tastatur überträgt, die wiederum Informationen über einen synchronen Kanal an das Display überträgt.

Durch Versuch und Irrtum fand ich Stifte, bei denen sich die Pegel zum Zeitpunkt der Datenübertragung auf das Display änderten. Nachdem ich den einfachsten logischen Analysator von Arduina hergestellt hatte, berechnete ich, dass die Übertragungsgeschwindigkeit ungefähr 60 kbit / s entspricht.



Ich folgte einem einfachen Pfad und verband USB-Serial mit ttl-Ausgängen. Natürlich stellte ich aus dem alten Speicher die nächsten 56 KB ein, die Modemgeschwindigkeit, die aus alten Internetzeiten bekannt war. Aber die Daten waren kaputt und unlesbar. Durch Versuch und Irrtum sowie einige logische Überlegungen (nämlich Multiplizieren der Geschwindigkeit von Midi 31250 mit zwei) wurde die gewünschte Geschwindigkeit der seriellen Schnittstelle berechnet. Aber hier passte die übliche USB-Serie nicht - in ihren Treibern gibt es keine Möglichkeit, die gewünschte Geschwindigkeit zu wählen.

Arduina kam wieder zur Rettung. Darauf aufbauend habe ich einen Adapter von der Hardware 62500 auf die Software 9600 erstellt, dem Arduino die bereits erwähnte USB-Seriennummer hinzugefügt und gleichzeitig berechnet, dass 7n1 in Ensonik verwendet wird. Und jetzt ist der Datenschnüffler fertig.

Da es sich um eine Frage der Technologie handelte, hatte ich Erfahrung mit ASR-10 auf einem anderen Arduino mit einem angeschlossenen 240x64-Display und der U8glib-Bibliothek und skizzierte schnell die Anordnung der Zeichen auf dem Display.



Das Team wurde geharkt, aber irgendwann fiel alles zusammen, als er auf eine unverständliche Panne mit fehlenden Charakteren stieß. Er kämpfte zwei Wochen lang mit seinem Verständnis, bis er zu dem Schluss kam, dass in einem Standardpuffer nicht das gesamte Arduin-Team passte, was von HardwareSerial.h gepatcht werden musste, wonach alles mehr oder weniger funktionierte (was ein weiteres Dutzend Abende dauerte).


Danach verband ich das Arduino mit dem Display und dem Sniffer mit dem ASR-10, führte mehrere Skripte aus und klärte alle Befehle auf volle Kompatibilität. In der Tat war die Software bereit, es blieb, um die Hardware zu etwas mehr oder weniger anständigen zu beenden.
Aber dann machte das Schicksal eine scharfe Wendung und ich wechselte meine Hauptaufgabe zu einer Bankorganisation mit allen sich daraus ergebenden Konsequenzen in Form eines Dresscodes, eines engen Zeitplans und vor allem einer coolen Informationssicherheit. Im Allgemeinen war es nicht mehr möglich, die Hauptarbeit mit einigen nicht zum Kerngeschäft gehörenden zu kombinieren, und es blieb einfach keine Zeit mehr für das Projekt.

Zwei Jahre lang habe ich versucht, irgendwie Zeit für ihn zu finden, aber am Ende wurde mir klar, dass nichts funktionieren würde, und heute habe ich den Quellcode auf GitHub veröffentlicht , vielleicht werden sie in Zukunft für jemanden nützlich sein.

Source: https://habr.com/ru/post/de439822/


All Articles