Atari ST Emulator steem |
In diesem Beitrag geht es um den Atari ST-Emulator steem, bzw. seine Linux-Variante xsteem. Wer sich noch an alte Zeiten erinnert, der Atari ST erfreute sich damals unter Musikern großer beliebtheit, da er von Haus aus mit einer MIDI-Schnittstelle ausgerüstet ist. Wer nicht weiß, was das ist:
steem und xsteem installieren Nach dem Start von xsteem präsentiert sich dieses Fenster: Mittels Continue wird der Assitent von xsteem gestartet, der einen durch die wichtigsten Einstellungen führt und gleich mal nach dem TOS-Image fragt. Nachdem wir das Image ausgewählt haben, müssen wir den für unsere Disketten vorgesehenen Ordner angeben, in meinem Fall floppy-a. Danach folgt die Angabe ein oder mehrerer Festplatten-Ordner. Nach diesen wenigen Schritten ist xsteem eingerichtet und bereit für den ersten Start. Dieser sieht so aus: Nach einem Klick auf das gelbe Play-Dreieck, startet unser virtueller Atari ST und die Maus ist im Atari-Fenster gefangen. Um die Maus wieder aus dem Fenster zu befreien, dient die Pause/Untbr-Taste. Die kleinen Symbole oberhalb des Fensters sind selbsterkärend, bzw. wenn man mit der Maus drüber fährt, poppt deren Bedeutung auf. Eines der wichtigsten Icons ist der Schraubenschlüssel. Öffnet er doch das Konfigurations-Menü von xsteem. Ein Hinweis zum Atari-Desktop: wenn man einen Atari ST -sei es jetzt virtuell oder real- abstartet, durchsucht er die angeschlossenen Laufwerke wie Floppys oder Festplatten nach bootbarem Material. Daher wird bei einem fehlenden Floppy-Image von xsteem ein leeres Standard-Image im Floppy-Ordner abgelegt, welches eine leere Diskette simuliert, damit es beim Start keine Verzögerung gibt, weil der Atari nach einer Floppy sucht. Bindet man nun sein eigenes Floppy-Image ein oder kopiert Atari-Dateien in den Festplatten-Ordner und enthält eines von beiden eine sogenannte DESKTOP.INF, wird der Desktop anhand den Informationen dieser Datei aufgebaut. Besagen die Informationen daß nur ein Floppy-Icon erstellt werden soll, fehlt -obwohl eingerichtet- das Icon für die Festplatte C. In dem Fall ist es sinnvoll entweder die DESKTOP.INF zu löschen oder sich die gewünschte Desktop-Umgebung einzurichten und unter "Extras" auf "Arbeit sichern" zu klicken, denn dann wird eine neue DESKTOP.INF des momentanes Desktops geschrieben. Sollte das Harddisk-Icon durch eine vorhergehende DESKTOP.INF fehlen, kann man es ganz einfach neu erstellen in dem man auf ein Floppy-Laufwerk klickt und im Menü "Extras" auf "Floppy anmelden..." klickt. Anschließend einfach den Laufwerksbuchstaben C und die Bezeichnung für das Laufwerk vergeben. Atari-Disketten kopieren Um AtariST Disketten unter Linux zu lesen, benötigt man die Pakete mtools und fdutils. In letzterem Paket steckt der Befehl setfdprm, welchen wir für die korrekte Zuweisung des Disketten-Formats brauchen. Vorher noch ein Hinweis: Atari Disketten verwenden fast das gleiche Format wie FAT, schreiben aber eine andere Kennung in den Startsektor, was das Programm mtools verwirren kann. Daher muß man vorher die Überprüfung des Diskettenformats abschalten. Leider konnte ich bei mir trotz der Abschaltung nicht jede Diskette lesen die unter dem Atari ST formatiert wurde. Daher mußte ich einen kleinen Umweg gehen, aber dazu gleich mehr. Fangen wir erst einmal mit dem grundsätzlichen Vorgehen an: Um die Überprüfung des Diskettenformats abzuschalten, muß man in der Konfigurations-Datei von mtools /etc/mtools.conf folgenden Eintrag tätigen: Wie schon erwähnt, konnte mein PC mit Debian lenny trotz der Einstellungen manche Atari-Disketten nicht lesen, während andere ohne Probleme funktionierten, was vermutlich an der Formatierung lag. Disketten die ich unter dem PC im 720KB-Format formatiert hatte, konnten von beiden Geräten -Atari und PC- gelesen werden, während manche im Atari formatierte Disketten im PC trotz der Einstellungen in den mtools streikten. Die Lösung ist simpel, aber bei vielen Dateien pro Diskette arbeitsaufwendig: Man muß die Dateien innerhalb des Atari auf eine MS-DOS-formatierte Diskette umkopieren und kann so die Dateien für den PC lesbar machen. Möchte man von einer Atari-Diskette ein Image im PC machen, hilft der Linux-Befehl dd, welcher bitgenaue Kopien von Datenträgern ermöglicht. Natürlich muß die Diskette im PC lesbar sein. Ist das der Fall erstellt der folgende Befehl ein Disketten-Image: Zum Abschluß noch etwas für Musiker: xsteem über eine virtuelle Midi-Schnittstelle mit QSynth (fluidsynth) verbinden Unter Linux gibt es den Software Synthesizer fluidsynth und QSynth ist eine grafische Oberfläche für selbigen. Dieser kann eine Fülle von Sounds zur Verfügung stellen, welche man -vorrausgesetzt man hat eine Midi-Sequenzer Software für den Atari- mittels eines Midi-Sequenzers mit unserem virtuellen Atari ST abspielen kann. Dazu muß man beide Programme mittels eines virtuellen Midi-Kabels und einer virtuellen Midi-Buchse verbinden. Dazu installieren wir erstmal QSynth, starten es ab und richten es ein: Nach öffnen der Einstellungen wählen wir unter dem Reiter "MIDI" als MIDI-Treiber alsa_seq aus und aktivieren den MIDI-Eingang. Im Reiter "Audio" wählen wir pulseaudio als Audiotreiber aus (pulseaudio ist seit Debian 6.0 squeeze standard in Debian-Distributionen). Unter dem Reiter "Soundfonts" öffnen und laden wir eine der drei standardmäßig installierten Soundfonts. QSynth ist gestartet und bereit Klänge abzuspielen. Jetzt müssen wir nur noch eine virtuelle MIDI-Buchse für unseren virtuellen Atari ST erstellen und diese mit QSynth verbinden. Dazu lädt man mittels modprobe ein virtuelles MIDI-Device: Nach abstarten unseres virtuellen Ataris können wir unter dem Schraubenschlüssel Symbol in dem Reiter "Ports" das virtuelle MIDI-Device auswählen. Sollte man kein anderes MIDI-Gerät angeschlossen haben, ist es eventuell etwas leichter es zu identifizieren, da es unter /dev/ vermutlich nicht soviele verschiedene Device-Namen gibt. client 0: 'System' [type=Kernel] 0 'Timer ' 1 'Announce ' client 14: 'Midi Through' [type=Kernel] 0 'Midi Through Port-0' client 16: 'Steinberg UR824' [type=Kernel,card=0] 0 'Steinberg UR824 MIDI 1' client 20: 'UM-ONE' [type=Kernel,card=1] 0 'UM-ONE MIDI 1 '$ amidi -l Dir Device Name IO hw:0,0,0 Steinberg UR824 MIDI 1 IO hw:1,0,0 UM-ONE MIDI 1$ cat /proc/asound/cards 0 [UR824 ]: USB-Audio - Steinberg UR824 Yamaha Corporation Steinberg UR824 at usb-0000:0b:00.3-4, high speed 1 [UMONE ]: USB-Audio - UM-ONE Roland UM-ONE at usb-0000:06:00.1-4, full speed 2 [NVidia ]: HDA-Intel - HDA NVidia HDA NVidia at 0xfc080000 irq 101 3 [Generic ]: HDA-Intel - HD-Audio Generic HD-Audio Generic at 0xfcb00000 irq 103Noch ein Hinweis: Sollten diese Befehle fehlen, hilft es das Paket alsa-utils zu installieren. Nachdem wir das MIDI-Device ausgewählt haben müssen wir es mit Klick auf den Button "Open" noch öffnen. Nun ist der Atari bereit MIDI-Signale zu senden und wir müssen lediglich noch unsere virtuelle "Strippe" ziehen. Dafür brauchen wir noch die korrekten Nummern, welche wir mit dem Befehl aconnect -l herausfinden können: client 0: 'System' [type=Kernel] 0 'Timer ' 1 'Announce ' client 14: 'Midi Through' [type=Kernel] 0 'Midi Through Port-0' client 20: 'Virtual Raw MIDI 1-0' [type=Kernel,card=1] 0 'VirMIDI 1-0 ' client 21: 'Virtual Raw MIDI 1-1' [type=Kernel,card=1] 0 'VirMIDI 1-1 ' client 22: 'Virtual Raw MIDI 1-2' [type=Kernel,card=1] 0 'VirMIDI 1-2 ' client 23: 'Virtual Raw MIDI 1-3' [type=Kernel,card=1] 0 'VirMIDI 1-3 ' client 128: 'FLUID Synth (46696)' [type=User,pid=46696] 0 'Synth input port (46696:0)'Wie wir sehen hat das virtuelle MIDI-Device die client-Nummer 20 und QSynth 128. Mittels # aconnect 20:0 128:0 stellt man die Verbindung her, was man auch unter aconnect -l überprüfen kann: # aconnect -l client 0: 'System' [type=Kernel] 0 'Timer ' 1 'Announce ' client 14: 'Midi Through' [type=Kernel] 0 'Midi Through Port-0' client 20: 'Virtual Raw MIDI 1-0' [type=Kernel,card=1] 0 'VirMIDI 1-0 ' verbunden zu: 128:0 client 21: 'Virtual Raw MIDI 1-1' [type=Kernel,card=1] 0 'VirMIDI 1-1 ' client 22: 'Virtual Raw MIDI 1-2' [type=Kernel,card=1] 0 'VirMIDI 1-2 ' client 23: 'Virtual Raw MIDI 1-3' [type=Kernel,card=1] 0 'VirMIDI 1-3 ' client 128: 'FLUID Synth (36541)' [type=User,pid=36541] 0 'Synth input port (36541:0)' verbunden von: 20:0 Das war es auch schon und wir können im Atari ST ein Sequenzer-Programm abstarten, Noten eingeben und diese zum abspielen an den QSynth senden. Übrigens findet man eine Übersicht aller Sounds und deren zugehörige MIDI-Kanäle unter dem Button "Kanäle" in QSynth. |
Zurück zur Auswahl |