c't Klangcomputer II

 

Übersicht

Ergänzungen und Berichtigungen

Firmware

Firmware nach Wunsch ins MIDIvice flashen

Download

Firmware- Download-Seite

Tipps

Hinweise zu Hard- und Software

Links

Shareware, Programme, Bezugsquellen, Impressum

 

MIDIbug Controller-Firmware, Stand 26.03.2006

Die MIDIbug-Firmware liegt nun in Version 1.14 vor und wird anstelle der MIDIvice-Firmware (siehe unten) benutzt, wenn die MIDIvice-Platine als MIDI-Debugger/Monitor eingesetzt werden soll.

Aktuelle MIDIbug Firmware, ZIP-gepackt

Für den Programmiervorgang, z.B. mit dem PonyProg-Programmer, benötigen Sie nur die fertig kompilierte HEX-Datei sowie das EEPROM-File:

MIDItest.hex    MIDIbug-Firmware
MIDIvice.eep    EEPROM-File mit MIDIbug-Grundeinstellungen und Pattern, für Programmer

Bei eigenen Änderungen benötigt:

MIDItest.pas    Hauptprogramm

Zu kompilieren mit e-lab AVR Pascal (www.e-lab.de), Vollversion 8 KByte Code. Pattern und Voreinstellungen sind im EEPROM-File abgelegt und können anhand der Dokumentation im Source-File auch ohne Compiler geändert werden.

MIDIvice Controller-Firmware, Stand 29.09.2005

Für die unterschiedlichen Klaviatur-Scan-Platinen werden angepasste Firmware-Versionen benötigt, die inklusive AVRPascal- und Assembler-Sourcen hier enthalten sind:

Aktuelle MIDIvice, MULTIvice und ORGANice Firmware, ZIP-gepackt (alle Versionen, bitte Readme-Datei beachten!)

Am besten auspacken mit WinZip's "Extract to folder", damit die Ordnerstruktur der Sourcen bestehen bleibt. Die MIDIvice-Firmware liegt nun in vier Grundversionen vor:

MIDIvice mit Abfrage der 14 analogen und 8 digitalen IO-Werte, wie in c't beschrieben,
ORGANice speziell ausgelegt für mehrmanualige Orgeln, mit MIDI-In-Merge,
MINIvice Minimalversion ohne LCD-Bedienoberfläche, aber mit MIDI-Merge, sowie
MULTIvice ohne 14fach-Analog-Abfrage, aber mit Pitchwheel/Modulation/Aftertouch und Split/Layer-Funktion (siehe unten).

MIDI- und MULTIvice wurden jeweils für Matrix- (Platine MatrixScan816, Datei-Suffix _Matrix) und normale Umschaltkontakt-Tastaturen (Platine DynScan61, Suffix _DynScan61) kompiliert, ORGANice natürlich nur für die OrganScan61-Platinen. Prinzipiell funktionieren MIDIvice und MULTIvice auch mit der nichtdynamischen OrganScan-Routine/Platine, dafür ist aber eine Neukompilierung nötig. MINIvice ist so klein, dass es mit der kostenlosen Demo-Version des e-lab AVR Pascal neu kompiliert werden kann. Bitte behalten Sie bei Neukompilierung die Ordnerstruktur im ZIP-File bei, einige Dateien (Scan-Routinen, Dynamik-Tabellen) werden von allen Versionen benötigt.

MIDIvice 1.2 c't-Version

Wie in c't 14/2005 S. 200 beschrieben, mit freier Zuweisung und Abfrage der 14 analogen und 8 digitalen IO-Werte. Neu in Version 1.2: Der Parameter "AnE" (Analog Enable) auf der letzten Default-Parameterseite dient zum Abschalten der Analog-Abfrage, wenn man diese nicht benötigt oder die Analog-IO-Platine eingespart werden soll. Mögliche Werte:

0 - Keine Analog-Abfrage, keine AnalogIO-Platine benötigt
1 - Nur Pitchbend/Modulation/AfterTouch werden abgefragt
2 - Alle Analog-Controller werden abgefragt (Default)

Ebenfalls neu: Version 1.2 liegt nun auch in einer Version vor, die statt der Tastatur-Scan-Routine eine MIDI-In-Merge-Routine enthält. Somit können Sie auch ein vorhandenes älteres Masterkeyboard, z.B. ein E-Piano, mit Analog-Controllern und Switches nachrüsten, indem Sie dessen MIDI-Signal durch die MIDIvice-Platine "durchschleifen": Der MIDI-Ausgang des externen Keyboards kommt an den MIDI-Eingang PL07 des MIDIvice, Tastatur-Scan-Platinen werden nicht angeschlossen. Aus Platzgründen konnten Tastatur-Scan und MIDI-Merge nicht gleichzeitig im Programmcode untergebracht werden.

Für den Programmiervorgang, z.B. mit dem PonyProg-Programmer, benötigen Sie nur eine der fertig kompilierten HEX-Dateien sowie das EEPROM-File:

MIDIvice_DynScan61.hex - Für Platine DynScan61 kompilierte HEX-Datei
MIDIvice_Matrix.hex - Für Platine Matrix816 kompilierte HEX-Datei
MIDIvice_Merge.hex - MIDI-Eingang statt Tastatur-Scan
MIDIvice.eep - EEPROM-File mit MIDIvice-Grundeinstellungen, für Programmer

Sourcen (nur bei eigenen Änderungen benötigt):

MIDIvice.pas - Hauptprogramm
MIDIscanDynMatrix.pas - Compiler-Include-File für MatrixScan816
MIDIscanDynSR164.pas - Compiler-Include-File für DynScan164
DynaCurve*.txt  Dynamic-Kurven, anpassbar

Für Neukompilation benötigen Sie das e-lab AVR Pascal in der Vollversion. Auswahl der passenden Scan-Routine und Features durch Ein-/Auskommentieren der Defines ab Zeile 12 des Hauptprogramms.

ORGANice 1.4 Controller-Firmware
angepasst für Orgeln, mit MIDI-In-Merge

Spezielle Version für mehrmanualige Orgeln, fragt über 1...4 OrganScan61-Platinen bis zu drei Manuale plus Basspedal ab. Splitpunkte fest vorgegeben für je 61 Tasten (jede der hintereinandergeschalteten OrganScan-Platinen erhält einen eigenen, in den Parameter-Seiten änderbaren MIDI-Kanal). Neu in Version 1.4: MIDI-In-Merge implementiert, so dass zusätzlich ein anschlagdynamisches Keyboard (bzw. weiteres MIDIvice) angeschlossen werden kann. Der MIDI-Ausgang des externen Keyboards/zweiten MIDIvice kommt an den MIDI-Eingang PL07 des ORGAnice-MIDIvice. Der Parameter "AnE" auf der letzten Default-Seite dient zum Abschalten der Analog-Abfrage, wenn man diese nicht benötigt oder die Analog-IO-Platine eingespart werden soll. Mögliche Werte:

0 - Keine Analog-Abfrage, keine AnalogIO-Platine benötigt
1 - Die 14 "langsamen" Analog-Controller und Switches (z.B. Zugriegel) werden abgefragt (Default)
2 - Zusätzlich wird Pitchbend abgefragt

Für den Programmiervorgang, z.B. mit dem PonyProg-Programmer, benötigen Sie nur folgende fertig kompilierte Dateien:

ORGAnice.hex - Für bis zu 4 OrganScan61 kompilierte HEX-Datei
ORGAnice.eep - EEPROM-File mit ORGAnice-Grundeinstellungen für Programmer

Sourcen (nur bei eigenen Änderungen benötigt):

ORGAnice.pas - Hauptprogramm
MIDIscanNonDyn.pas - Compiler-Include-File für OrganScan61

Für Neukompilation benötigen Sie das e-lab AVR Pascal in der Vollversion. Auswahl der passenden Scan-Routine und Features durch Ein-/Auskommentieren der Defines ab Zeile 12 des Hauptprogramms.

MINIvice Controller-Firmware, Minimal-Version für DEMO-Compiler

MINIvice enthält aus Platzgründen (max. Codegröße 4 kByte der e-lab Compiler-Demo-Version) nur eine elementare "Bedienungsoberfläche" (Auswahl der MIDI-Programmnummer) und behandelt auch nicht die analogen MIDI-Controller. Voreinstellungen sind deshalb im MINIvice-EEPROM-File zu tätigen, die Datenstruktur und die Defaults sind im Hauptprogramm-Sourcecode definiert.

Durch Setzen der DEFINEs im Sourcecode (ab Zeile 12) können Sie sich leicht eine für Ihre Bedürfnisse passende MINIvice-Version kompilieren, indem Sie hier die LCD-Routinen, die Scan-Routine, die Merge-Funktion oder die Pitchwheel-Abfrage ein- und ausschalten. Bei MINIvice ist auch der gleichzeitige Einsatz von MIDI-Merge und Tastatur-Scan möglich, was bei den anderen Varianten aus Platzgünden nicht geht. Sie können Ihr MIDIvice also gut mit einem MINIvice erweitern, indem Sie den MIDI-Ausgang des MIDIvice mit dem MIDI-Eingang des MINIvice verbinden --etwa um eine dynamische Matrix-Tastatur (MIDIvice-Firmware) mit Orgeltastatur und Basspedal (MINIvice-Firmware) zu erweitern. LC-Display und PCA9555D (U02) werden hier nicht benötigt, so dass sich hiermit ein sehr preiswertes MIDI-Interface aufbauen lässt.

Für den Programmiervorgang, z.B. mit dem PonyProg-Programmer, benötigen Sie nur folgende fertig kompilierte Dateien:

MINIvice.hex - Für OrganScan61 kompiliert, mit MIDI-Merge, ohne LCD und Pitchwheel
MINIvice.eep - EEPROM-File mit MINIvice-Grundeinstellungen für Programmer

Sourcen (nur bei eigenen Änderungen benötigt):

MINIvice.pas - Hauptprogramm
MIDIscanDynMatrix.pas - Compiler-Include-File für MatrixScan816
MIDIscanDynSR164.pas - Compiler-Include-File für DynScan61
MIDIscanNonDyn.pas - Compiler-Include-File für OrganScan61
DynaCurve*.txt - Dynamic-Kurven, anpassbar

Zu kompilieren mit e-lab AVR Pascal, Demo-Version 4 KByte Code. Auswahl der passenden Scan-Routine durch Ein-/Auskommentieren der Defines ab Zeile 11 des Hauptprogramms.

MULTIvice Controller-Firmware, geändert auf Split/Layer-Funktion

Diese spezielle MIDIvice-Version unterstützt einen zweikanaligen Layer- und einen Manual-Split-Modus, z.B. für Anwendungen außerhalb des Klangcomputer-Projekts. Auch diese Version wurde für Matrix- (Platine MatrixScan816, Datei-Suffix _Matrix) und normale Umschaltkontakt-Tastaturen (Platine DynScan61, Suffix _DynScan61) kompiliert.

Für den Programmiervorgang, z.B. mit dem PonyProg-Programmer, benötigen Sie nur folgende fertig kompilierte Dateien:

MULTIvice_DynScan61.hex - Für Platine DynScan61 kompilierte HEX-Datei
MULTIvice_Matrix.hex - Für Platine Matrix816 kompilierte HEX-Datei
MULTIvice.eep - EEPROM-File mit MULTIvice-Grundeinstellungen, für Programmer

Sourcen (nur bei eigenen Änderungen benötigt):

MULTIvice.pas - Hauptprogramm
MIDIscanDynMatrix.pas - Compiler-Include-File für MatrixScan816
MIDIscanDynSR164.pas - Compiler-Include-File für DynScan164
DynaCurve*.txt - Dynamic-Kurven, anpassbar

Zu kompilieren mit e-lab AVR Pascal, Vollversion 8 KByte Code. Auswahl der passenden Scan-Routine durch Ein-/Auskommentieren der Defines ab Zeile 11 des Hauptprogramms.