Logo

Besucherzähler

Protokoll zur Treiberentwicklung MIDEX3

Vorwort

Ich habe mir gerade einen neuen Rechner für mein Studio zusammengestellt und der alte Rechner kommt jetzt in mein Büro/Hobbyraum. Auf beiden Rechnern läuft Windows 7 x64. Im Studio ist sowohl Cubase 5 x32 als auch x64 installiert, wobei ich meistens mit der x64 Version arbeite.

Leider hat mein neuer alter Rechner im Büro kein Midi-Interface, brauche ich aber. Für meine alte Terratec DMX 6fire gibt es keine 64bit Treiber. Also brauche ich was Neues.

Ich hatte mal ein Midex8, das wärs jetzt. Leider schon vor einiger Zeit verkauft, als ich im Studio auf Vista x64 umgestiegen bin. Ich finde es schade, dass für so eine gute Hardware wie das Midex keine Treiberentwicklung bei Steinberg mehr stattfindet. Und so habe ich mir gedacht, ich kann mich ja mal daran versuchen. Ich gebe aber keinerlei Garantien ab, dass das Ganze wirklich zu einem Treiber für Windows 7 x64 führt. Ich probier′s mal. Es ist allerdings schon einige Jahre her, dass ich Treiber geschrieben habe und es hat sich schon so einiges bei Windows unter der Haube geändert, was die Treiberentwicklung angeht. Mal sehen....

Ah, noch was. Der Treiber wird wohl was kosten. Ich werde eine Menge Zeit für dieses Projekt aufbringen müssen (denke ich mal) und da möchste ich doch ganz gern was davon haben. Preisvorstellung zur Zeit so 30 Euronen. Ich denke, das ist ein fairer Preis. Oder es wird Donationware....

Ich schreibe dieses Log ganz bewusst und werde jeden meiner Schritte genau dokumentieren, damit mir keiner an die Karre fahren kann. Vonwegen reengeneering, disassembeln, hacken und so. Iss nich. Sollte Steinberg hier mitlesen (bestimmt, da ich den Link auf diese Seite im Cubase Forum veröffentlich werde) und hat was dagegen, dann bitte mit mir frühzeitig Kontakt aufnehmen, dann geht dieses Projekt sofort in die Tonne. Wenn Steinberg das Projekt gut findet, wäre ich auch an einer positiven Reaktion interessiert, oder sogar weiterführender Hilfe oder einen Kontakt zu einem der Entwickler.

24.01.2010

So, ich habe mal ein Midex3 bei EBay ersteigert. 29 Euronen plus 4€ Versand. Ich danke mal der Preis ist ok.

30.01.2010

Ah, Sie haben Post, nein ein Päckchen ist angekommen. Mein Midex3 pünktlich zum Wochenende.

Gleich mal das Gehäuse öffnen, aha nur ineinandergeschoben. Kann mal also nondestruktiv öffnen und wieder schliessen.

Ist ja nicht viel drauf:

Cypress?? Geil, kenne ich. Die Chips von Cypress werden milliardenfach in zig USB-Geräten eingesetzt. Wer′s nicht glaubt: Cypress Webseite

So wollen mal sehen, was der so im Einzelnen ist:

AN2131SC Das Herz des Ganzen. Der USB-Prozessor mit eingebauter 8051-CPU. 44-Pin-Version
24LC00 128-Bit I2C Bus Serial EEPROM. Hm, wozu wird der denn gebraucht. 128Bit? Sind je gerade mal 16Byte.
DM74LS245WM 3-STATE Octal Bus Transceiver. Sind die LEDs dran angeschlossen. Im Moment erstmal unwichtig.
H11L1 Ah, der übliche Optokoppler, um den Midi-Eingang galvanisch zu trennen. Ist Pflicht in jedem guten Midi-Interface, um Brummschleifen zu vermeiden, wenn man mehrere Synthies via Midi koppelt.
A75240 USB Port Transient Suppressors. OK, den verbaut man nur bei USB 1.1 Geräten. Ist nicht kompatibel zu USB 2.0.Der soll Spannungsspitzen vom eigentlichen Prozessor fernhalten, die über den Anschluss reinkommen könnten.
LF33CV Einfacher Spannungsregler. Senkt die 5V des USB-Busses auf 3.3V für den Prozessor.
Das Relais Da es laut klackt, wenn man das Midex anschliesst, dient es wohl dazu die MIDI-Thru-Function zu realisieren.

Der Rest ist erstmal nicht so interessant. Mal sehen was das Netz zum Cypress-Chip so hergibt...

Auf der Webseite von Cypress ist zu dem Chip nichts mehr zu finden, Wohl zu alt. Mal sehen, was Google sagt. Aha, da ist so einiges zu finden.

Aha, ein ziemlich geiler Chip ist das. Alles drin was man für USB so braucht. So, mal in das Technische Referenz Handbuch schauen. Wow, das kann ja alles was USB so zu bieten hat.

Aber was sehen meine armen Äuglein. Von sich aus, kann der nix! Der muss programmiert werden. Braucht also eine Art Betriebssystem/Firmware.

Solte ich schon so früh scheitern? Microcontroller-Programmierung ist nun nicht so mein Ding. Muss ich mal meine Sohn anhauen, wozu studiert der Informatik-Ingenieurwesen. Schade, der kann mir auch nicht helfen.

OK, gehen wir es mal von der anderen Seite an: Es gibt ein Entwicklerkit von Cypress für diesen Chip, aber leider nicht mehr auf deren Webseite. Aber in einem der Knowledgebase-Artikeln auf deren Webseite einen kombatiblen Typ gefunden und dafür gibts auch ein Entwicklerkit.

Leider passt das nicht für den auf dem Midex3 eingebauten Chip. Also mal wieder Google bemühen. Gefunden! Da Cypress die Entwicklersoftware frei zum Download auf ihren Webseiten hat, denke ich mal, dass das wohl auch legal ist. Wenn nicht, dann wars das. Ich wende gern Zeit für dieses Projekt auf, aber Geld habe ich leider keins.

Ok, das Kit läuft nur unter Win2000 oder Win9x. Also mal den Windows XP Mode auf meinem Rechner installieren. Vielleicht läufts ja auch damit. Das ging ja einfach. So, damit mir das Windows XP nicht zerschossen wird, werde ich mal die Undo-Disk einschalten. Damit werden alle Änderungen auf der Platte in eine separate Datei geschrieben. Wenn dann was schiefgeht, schmeiss ich die einfach weg und alles ist wieder wie vorher. Der Windows XP Mode in Windows 7 hat den grossen Vorteil, dass es USB kann. Virtual PC kann das nicht. Windows 7 leitet dazu alle USB-Geräte, die es selbst nicht erkennt an das XP weiter. Supergeil.

So mal den letzen Treiber vom Steinberg-FTP-Server (V1.93) geholt und installiert. MIDI-OX gestartet, ah Licht geht an im Interface. Mal in die Tasten drücken, kommt an. Sehr schön.

Mal die INF-Datei zum Midex gesucht und an der üblichen Stelle gefunden: Windows\inf. Midex3.inf heisst die Datei. Schaun wir mal, was da so drin steht. Ups, 2 Treiber. Wird komplizierter. Aha, der eine heisst msx3ldr.sys, na das dürfte wohl der Treiber sein, der den Chip mit seinem kleinen Betriebssystem/Firmware füttert. Und der andere heisst, man ahnt es schon, midex3.sys. Der ist auch grösser, das ist dann wohl der eigentliche Treiber.

Viele Kommentare in der inf-Datei. Wohl noch aus alten Zeiten und natürlich auch noch der Win9x-Mist. Uaaahhh, Schüttel. Die Treiber sind vom 11.04.2005 nur der Loader ist vom 22.04.2002. Da hat sich dann wohl schon länger nichts mehr dran geändert. Auf der Treiber-CD sind alle von 2001.

So isses. Der Loader wird zuerst geladen, dann der normale Treiber. Steht alles in der Inf-Datei. Allerdings finde ich da auch noch so ein paar Enträge, die mir den Schweiss ausbrechen lassen. Wo der sich überall einträgt, damit er als Midi-Teiber durchgeht. Nun denn, es ist jetzt 2:37, ich geh jetzt erstmal ins Bett. Später dann mehr.

31.01.2010

Undo-Disk gelöscht und Windows XP wieder hochgefahren. Jetzt mal die Entwicklungsgeschichte von Cypress installieren und mal sehen, was man damit so anstellen kann. Erstmal nichts, das Midex wird nicht erkannt. Mist!

Mooooment, mit welcher Vendor-ID hat sich das Midex im System gemeldet? Jupp, Steinberg hat eine eigene Vendor-ID.

Jeder Hersteller (nicht Vertreiber) von Midi-Geräten braucht eine eindeutige ID. Zu der Vendor-ID kommt dann noch die PID, die Produkt-ID. Die kann jeder Hersteller dann selber vergeben.

Mal sehen, warum meldet sich das Midex mit einer eigenen Nummer? Ah, in der Tech-Ref des Chips stehts. Wenn man ein EEProm an den Chip anschliesst, kann man dort seine eigene ID hinterlegen, mit der sich das Gerät am Rechner melden soll. EEProm? da war doch was gestern?

24LC00 - 128-Bit I2C Bus Serial EEPROM. Jetzt weiss ich, wozu der Chip gebraucht wird. Gut, das ist also auch geklärt. Die IDs kann man übrigens über das Entwicklertool ändern. Mal sehen, mir fällt dazu gerade was ein..... ;-)

In die inf-Datei von Cypress die VendorID und ProductID des Midex eintragen. Treiber aktualisieren. Jau, Midex wird erkannt und ich kann es ansprechen.

Aber wie gesagt, noch ist das Teil nur ein Haufen Elektronikschrott was Midi betrifft. Es fehlt die Firmware.

Mal ein paar der kleinen Betriebssysteme/Firmware ausprobieren, die Cypress dem Entwicklerkit beigelegt hat. Bringt erstmal keine neuen Erkenntnisse.

Es ist ja noch ein Tools dabei, mit dem man die Firmware für den Chip schreiben kann. Werde damit mal ein bisschen rumspielen und mir die Beispiele ansehen. Vielleicht ist ja doch nicht alles so schlimm. Ui, alles in C, das ist gut.

So komme ich jetzt erstmal nicht weiter. Werde mir mal den Source Code der Treiber ansehen, die Cypress als Beispiel mitgibt.

Ah ja, jetzt wird mir klar, wieso es 2 Treiber sind. Es gibt die entsprechenden Beispiele bei Cypress als Beispiel. Ein Loader für die Firmware und dann der eigentliche Treiber. Mal den Source Code etwas genauer ansehen.

Also ich muss wohl oder übel eine eigene Firmware schreiben, es sei denn Steinberg stellt mir seine zur Verfügung oder gibt mir die Erlaubnis die vorhandene nutzen zu dürfen. Hab zwar noch keine Peilung, wo ich die herbekommen ohne den Loader-Treiber komplett zu analysieren.

So, ist mal wieder spät geworden. Muss morgen halt wieder arbeiten, Abends dann zu einer Petersilienhochzeit im Verwandenkreis. Petersilienhochzeit = 12,5 Jahre verheiratet, also eine halbe Silberhochzeit. Das habe ich zum Glück schon beides hinter mir....

02.02.2010

So, mal weiter forschen, wie man an die Daten der Ein-und Ausgänge kommt. Werde mal die Platine etwas genauer unter die Lupe nehmen. Welcher Eingang bekommt woher Daten und welcher Ausgang schickt seine Daten wohin. Erstmal nichts weiter neues, muss ich noch weiter analysieren. Das sind noch so ein paar SMD-Bauteile dazwischen. Die muss ich erstmal identifizieren.

Werde jetzt mal dieses Log auf meine Webseite stellen und die Adresse im Cubase-Forum veröffentlichen. Mal sehen was dann so auf mich einprasselt. Vorher werde ich noch eine E-Mail-Adresse für dieses Projekt einrichten.

03.02.2010

So, mal die Platine weiter erforschen. Ah, die neuen Erkenntnisse bzgl. der Chips sind weiter oben in der Tabelle vermerkt. Der DM74LS ist ein anderer Typ, als zuerst ermittelt. Man sollte schon die ganze Bezeichnung bei Google eingeben.... Verstehe aber nur Bahnhof, was der machen soll. Muss mal weiter googeln.

Nicht alle Datenleitungen am Prozessor sind angeschlossen. Das macht es etwas einfacher. Leider lassen sich nicht alle Leiterbahnen verfolgen, da sie durch die ICs verdeckt sind. Das macht es dann doch wieder etwas schwieriger.

Hab jetzt mal so in etwa die Ein/Ausgänge des Prozessors den möglichen Funktionen (MIDI-IN/OUT, LEDs etc.) zugeordnet. Ist nicht alles geklärt, da ja einige Leiterbahnen nicht zu verfolgen sind.

Werde mich jetzt mal verstärkt in den Prozessor und dessen Programmierung einarbeiten. Das kann etwas dauern.

04.02.2010

Mal ein bisschen die Samples ausprobieren. Ah, den Knopf am Midex kann ich schon erkennen. Aber wie ich an die Midi-Daten und die LEDs komme, weiss ich noch nicht. Null Peilung.

Ups, was ist das denn? Ich habe das Eprom überschrieben! Ahhhhhhhhhh. Jetzt meldet sich das Midex als Cypress Entwicklungsboard. So eine Sch.....

Und nun? Erstmal den Source Code vom Beispiel ansehen. Daten gefunden, geändert und was ist denn nun wieder? Die Entwicklungsumgebung für den 8051-Prozessor sagt mir, dass der Code nicht umgewandelt werden kann. Zu gross für die Evaluierungsversion. Stimmt, steht da auch irgendwo im SourceCode. Dann eben im Binary direkt ändern. Gedacht, getan und schwupps ist das Midex wieder ein Midex. Puh.

So, nun ist aber erstmal Handbuchlesen angesagt. Mehr dann am Wochenende, morgen ist dann mal wieder die Musik dran.

05.02.2010

Tja, war wohl nix mit Musik machen, kein Bock gehabt. Bin mit dem Kopf zu sehr in diesem Projekt drin. Werde dann heute mal ein wenig Dokumentation lesen.

06.02.2010

Endlich das komplette Layout der Platine entschlüsselt. Jetzt weiss ich, wo was am Prozessor angeschlossen ist und kann mal ein wenig das Testen anfangen.

07.02.2010

Immer noch am Testen. Wenig Neues zu berichten.

00:27 bin müde. So komme ich irgendwie nicht weiter. Wäre nicht schlecht, wenn da vielleicht was von Steinberg käme. Irgendeine Art der Unterstützung wäre nicht schlecht. Hab jetzt zwar alles, was den Microcontroller angeht, aber das ist ein weites Feld, in das ich mich noch einarbeiten müsste.

Hab jetzt einen Treiber geschrieben, der die Firmware aus dem Originaltreiber ausliest und an das Midex schickt. Prima, bringt micht auch nicht weiter, da ich ja nun nicht weiss, was ich an das Midex schicken muss, um es einzuschalten. Im Original ist ja nach dem Einschalten die blaue und die rote LED an. Das ist bei mir genauso. Wenn man dann ein Programm startet, was einen Midi-Port öffnet, dann hört man das Relais schalten und man kann loslegen. Hm, da fehlt mir jetzt was.

Das das Ganze so viel Zeit in Anspruch nimmt und man so gut wie überhaupt nicht vorankommt, frustiert ungemein.

Daher: Wenn mir Steinberg den alten Source Code zur Verfügung stellt, stelle ich den 64bit-Treiber umsonst zu Verfügung. Oder Steinberg zahlt mir was und die geben ihn dann frei, egal. (Ja, ich weiss, das hört sich geldgeil an. Aber wer kann nicht ein bisschen was dazu gebrauchen ;-)
Edit 27.02.2010 - zu spät, Chance vertan, nun bin ich recht zuversichtlich, es hinzubekommen.

Unabhängig davon, werde ich weiter forschen. Mal sehen, was ich noch so rausbekomme. Leider leidet mein Musikmachen zurzeit darunter. Ich werde daher meine Zeit in Zukunft wieder etwas ausgewogener verteilen. Habe gerade ein paar neue Sachen von EastWest bekommen (RA und Voices of Passion), die werde ich jetzt erstmal ausgiebig unter die Lupe nehmen.

08.02.2010

Lesen, lesen, lesen und recherchieren im Internet. Irgendwie frustrierend, ich komme irgendwie nicht so richtig voran.

09.02.2010

Hm, warum braucht eigentlich das ESI M8U Midi-Interface keine eigenen Treiber, sondern kann die in Windows mitgelieferten benutzen? Bin grade im Internet darüber gestolpert.

Aha, es gibt einen Standard-Midi-Treiber und das Midi-Interface muss anscheinend bestimmte Voraussetzungen erfüllen. Nur welche? Und weitersuchen....

Fündig geworden! Auf der Webseite www.usb.org (das ist die offizielle Webseite mit allem zum Thema USB) gibt es ein Dokument mit den Namen: Universal Serial Bus - Device Class Definition for MIDI Devices. Version ist 1.0 vom 1. November 1999, Iss ja schon ′n büschen alt. Scheint aber die aktuelle Version zu sein. Hier ist der Link dazu. Und wieder lesen....

10.02.2010

OK, die Doku erschliesst sich mir nicht unbedingt auf den ersten Blick, aber ein paar Fakten sind schon ziemlich interessant. Für mich heisst das jetzt, ich brauche keinen Windows-Midi-Treiber mehr zu schreiben. Nur noch den, der die Firmware ins Midi-Interface lädt und dafür gibt es von Cypress Source Code als Beispiel und Vorlage.

Werde mich nun doch mit der Programmierung des Microcontroller auseinander setzen (müssen). Habe schon so einiges an Doku aus dem Internet geladen. Muss ich jetzt mal sichten und die unbrauchbaren wegwerfen. Hatte die Tage eine E-Mail bekommen mit einem Link zu einer Webseite, die sich mit dem 8051-Microprozessor befasst. Hab da schon so einiges interessantes gefunden. Danke für den Link Eric.

14.02.2010

So, Freitag und Samstag schön Geburtstag gefeiert und nu wieder ran ann′n Speck. Das Teil will einfach nicht so, wie ich es will. Muss wohl noch etwas mehr lesen. Irgendwas hab ich wohl übersehen. Irgendwie lässt sich nichts am seriellen Port des Midex ausgeben. Also weiter probieren, probieren etc.

17.02.2010

Die letzten Tage probiert und probiert und im Internet gesucht, aber ich kriege einfach nichts auf Midi Port 1 raus. Das kann doch wohl nicht wahr sein. Ich nage hier schon an der Tischkante.

18.02.2010

Den Knall dürfte man im ganzen Haus gehört haben, als mein Kopf auf die Tischplatte knallte. Das RELAIS muss natürlich geschaltet werden, sonst kommt da nix raus und Midin-In und Midi-Out1 sind miteinander verbunden. Man, sowas blödes. Manchmal ist man aber einfach zu blind.....

So, nun kommt was raus, aber was falsches. Nicht mal ansatzweise das, was ich da rausschicke. Was ist das denn nu wieder los? Ich verliere langsam aber sicher den Bock auf′s Ganze. Das geht alles so schleppend voran.....

19.02.2010

Heute die Idee gehabt: Einfach mal mit der Baudrate rumspielen. Und siehe da, jetzt kommts. Das lässt mich dann doch wieder recht aussichtsreich ins Wochenende blicken. Vielleicht komme ich ja doch jetzt mal endlich voran. Jupp und mit C läuft′s auch. Hab eigentlich auch keinen Bock gehabt, alles in Assembler zu schreiben. Sowas ist echt mühselig, nicht dass ich das nicht gekonnt hätte...

Wenn ich so in die Doku sehe, finde ich nur zwei serielle Ports am Mikrokontroller und nicht 3. Das Midex hat aber 3 Ausgänge und die sind voneinander unabhängig. Hm, da waren die damals wohl etwas trickreich. Muss ich mal sehen, wie man den dritten Midi-Out bedienen kann. Sonst gibt′s erstmal nur 2 Ausgänge. Mir würde das reichen.

20.02.2010

Von wegen, es läuft! Nach 36 Bytes hört er auf weitere Daten zu empfangen. Das Ganze mal ohne die Interrupts probieren. Da geht′s, allerdings nicht immer ganz sauber. Manchmal werden einzele Note-Ons zerstückelt bzw. es wird was anderes draus. Dafür läuft es aber auch mit grossen Datenmengen durch, ohne sich aufzuhängen. Und wieder ist forschen angesagt.

21.02.2010

Hab mal den Knopf programmiert. Das funktioniert bestens. Einmal kurz drücken und Note-Offs für alle Töne und alle Midi-Kanäle gehen sauber raus. Wenigstens was.

Hab mal wieder ein wenig im Internet gesucht und bin auf eine Seite gestossen, wo ein Midi-Interface gebaut wurde, dass direkt an den seriellen Port des PCs angeschlossen werden kann. Der benutzt denselben Mikrokontroller wie das Midex3. Nun hat er aber auch das Problem der zu kleinen Anzahl an Ein-und Ausgängen. Mal sehen, wie er das gelöst hat. Hier der Link dazu. Er hat auf jeden Fall die normalen Ausgänge Richtung PC angeschlossen. Dort müssen ja nun die Signale auch seriell übertragen werden. Das es gehen muss, zeigt ja schon das Midex mit dem Midi-Out 3.

Werde mich aber jetzt erstmal um die USB-Seite kümmern. Da hab ich ja bislang noch nichts gemacht. Werde mir mal die Beispiele ansehen und damit ein bisschen rumspielen.

27.02.2010

Hektische Woche hinter mir und zu nichts gekommen. Aber nun gab′s heute einen ersten Durchbruch: Das Midex wird als Standard-Midi-Interface vom System erkannt und die Standard Midi-Treiber von Windows wurden geladen. Habe es erstmal als einfaches Midi-Interface deklariert, also ein Eingang und einen Ausgang. Wird dann auch so in Cubase angezeigt. Übrigens das Ganze unter Windows7 64bit!
Beweisfoto1 und Beweisfoto2.

War nicht so ganz einfach. Zuerst bekam ich nur Fehler und das Midex3 wurde von Windows überhaupt nicht erkannt. Die Dokumentation, die es dazu gibt (also Standard-Midi-Interface seitens USB), ist nicht so ganz einfach zu lesen und nicht wirklich gut verständlich. Zumal es so, wie dort steht, nicht als Standard-Midi-Interface erkannt wird. Als nächstes muss ich dann mal den Datentransport einbauen.

28.02.2010

So, was bekomme ich denn für Daten vom Rechner via USB geschickt? Stellt sich mir die Frage, wie kann ich die Daten sehen? Habe ja keinen Debugger, der im Midex läuft. Idee: Ich schicke die Daten einfach als Sysex raus, dann kann ich die im Midi-Monitor (MIDIOX) sehen. Jetzt kommt da wieder nur Mist raus. Hm, MIDIOX scheint die Daten ja zu interpretieren. Ups, naja, man sollte sich auch an die Spielregeln halten, sprich die Midi-Spezifikationen. D.h. in diesem Fall: keine Daten grösser 0x7f im Datenteil des Sysexdatenstroms. Programmroutine umgeschrieben und geht.

Ok, die Daten entsprechen dem der USB-Spezifikation, bis auf eine Kleinigkeit: Es werden immer 4 Bytes lange Blöcke übertragen in dem die Mididaten untergebracht sind. Das erste Byte ist ein Verwaltungsbyte, die restlichen 3 Bytes sind die Mididaten. Wenn nun aber nur 2 Bytes oder 1 Byte Mididaten übertragen werden, sollen die restlichen Bytes laut Spezifikation ausgenullt sein. Sind sie aber nicht. Pöse, pöse Microsoft. Stört aber nicht.

So, nun da ich ja jetzt weiss, wie die Daten aussehen, geben wir die Mididaten doch mal als echte Mididaten aus. Erfolgserlebnis: Midi-Out geht. Hab Cubase gestartet und eine Midispur abgespielt. Scheint aber noch ein wenig zu eiern. Das ist schlecht. Hab mal nur das Metronom in Cubase angeschaltet und laufen lassen. Hört sich an, als wenn es manchmal etwas schleppt. Die 3 scheint immer einen Hauch zu spät zu kommen. Muss ich nochmal genauer testen. Hab mal ein Stück abgespielt mit 3 Midispuren, Pad, Klavier und Schlagzeug. Das Stück erkenne ich einwandfrei wieder. Läuft im Grossen und Ganzen auch sauber durch. Keine Notenhänger, keine fehlenden Noten, soweit ich das hier in meinem Büro beurteilen kann. Muss ich mal meinen JV1080 aus′m Studio holen und ausprobieren. Aber nicht mehr heute. Als nächstes dann mal Midi-In implementieren, dann den Midi-Out2 und dann mal sehen, wie der Midi-Out3 zu knacken ist. Ok, die LEDs sollen ja auch noch was anzeigen....

05.03.2010

Midi-In geht jetzt auch. Allerdings holpert das alles noch ganz gewaltig, sprich: Das Timing ist noch voll daneben. Aber ist ja auch kein Wunder, Zur Zeit wird immer ein Midi-Event komplett abgearbeitet, bevor das nächste dran ist. Also wenn gerade 3 Bytes Midi-Out dran sind, wird kein Midi-In verarbeitet und umgekehrt.

06.03.2010

Fange jetzt mal an, die erste Beta zu entwickeln. Für die Programmierer unter den Lesern: Jetzt wird alles Interrupt gesteuert und gepuffert abgearbeitet. Damit sollte das Timing schon mal deutlich besser werden. Ob ich an das Timing mit LTB rankomme? Weiss ich nicht. Da hält Steinberg ja den Finger drauf und da will ich mich ohne offizielle Erlaubnis von Steinberg auch nicht ranmachen. Das würde für mich auch heissen, ich müsste den Windows-Treiber dann doch noch entwickeln. Wollte ich jetzt eigentlich nicht mehr.

07.03.2010

Mit der neuen Firmeware geht jetzt erstmal gar nichts mehr. Windows erkennt das Midex zwar immer noch als Midi-Interface, jetzt sogar mit einem Eingang und 2 Ausgängen, aber es geht nix rein oder raus. Also mit der Fehlersuche beginnen. Wird aber wohl heute nichts mehr. Mal sehen, wenn die Woche nicht wieder so stressig ist, komme ich ja vielleicht dazu weiterzudebuggen.

21.03.2010

Sorry, dass ich so lange nichts von mir habe hören lassen, aber es gab halt auch nichts Neues. War in den letzten Wochen anderweitig beschäftigt und hatte leider keine Zeit, an diesem Projekt weiterzuarbeiten. Mal sehen, habe jetzt bis Ostern Urlaub. Allerdings habe ich auch so einiges auf′m Zettel. Muss unbedingt meine neuen EastWest-Sachen ausprobieren. 35 DVDs allein die Pianos! Mannomann, das dauert. Und dann noch Stormdrum 2 mit dem Upgrade. Und Voices of Passion. Und ich will noch die VST-Expressions für das Symphonic Orchestra fertigmachen, die brauche ich für ein aktuelles Projekt, an dem ich auch noch weiterarbeiten will. Also viel zu tun, lassen wir es liegen, oder wie war das? ;-)

Habe im Prinzip das Programm fertig, nur tut es nichts, ausser das Relais zu schalten und die blaue LED einzuschalten. Keine Midi-Daten rein oder raus. Muss noch irgendwas Grundsätzliches sein, was ich bislang übersehen habe. Aber es wird noch... keine Bange.

05.04.2010

Kleiner Nachtrag: Bin im Urlaub leider zu nix gekommen. Sorry. Aber es wird noch. Habe mal wieder etwas mehr Musik gemacht und mit meinen neuen Errungenschaften rumgespielt. Echt stark die Sachen.

11.05.2010

War mal wieder zugange. Leider weigert sich das Sch...-Teil die Midi-Daten anzunehmen und an den Rechner zu schicken und umgekehrt. Irgendwo ist da der grundsätzliche Wurm drin. Irgendwas übersehe ich, nur was.... Aber wird schon werden. Nach Pfingsten hab ich wieder Urlaub, dann kann ich mich dem Ganzen wieder etwas intensiver widmen.

01.06.2010

Das Teil treibt mich in den Wahnsinn. Mal geht das eine, aber das andere nicht und umgekehrt. Ich muss da noch irgendwo einen totalen Denkfehler drin haben.

Habe mich jetzt mal um die Windows-Treiber-Seite gekümmert. Muss mal was anderes machen, sonst werde ich hier noch irre. Hm, seit Vista müssen Kernel-Treiber signiert sein und so ein blödes Zertifikat für die Signierung kostet mal eben im dreistelligen Bereich. Also so langsam, ganz langsam geht mir echt die Motivation aus.

Es gibt auch noch User-Mode Treiber, die brauchen keine Signierung. Mal sehen, ob sich da was machen lässt. Die original Cypress-Treiber zum Laden der Firmware sind allerdings Kernel-Mode Treiber. Es gibt bei denen allerdings neuere Treiber, wo man über ein Script die Firmware laden kann. Muss mal sehen, ob man die auch für die alten Mikroprozessoren nehmen kann. Wenn ja, wäre das geil, da es die auch für 64bit gibt.

Ach so, noch was: habe die Tage ein Midex8 bei EBay ersteigert. Sollte wohl heute oder morgen kommen.

25.07.2010

Mal eine kleine Bemerkung so zwischendurch: Es ist Sommer! und ich habe im Moment einfach keinen Bock am Rechner zu sitzen. Sitze da doch lieber draussen in der Nähe meines Grills und eines kühlen Bieres im Garten.

11.08.2011

Tja, das war′s dann. Nun hat Steinberg doch noch selbst die Treiber rausgebracht. Der Druck der Kundschaft war wohl doch zu groß. War aber trotzdem recht interessant mal in Sachen Microprozessor was zu machen.