![]() |
|
||||||||||||||||||
|
|||||||||||||||||||
|
|||||||||||||||||||
|
||
|
TFT Monitor bei
Mercateo kaufen.
Neues Netbook? Ein Preisvergleich lohnt sich. Bei uns finden sie Notebooks, PDAs und Drucker mit Testberichten und Tipps. Diamant Buchhaltungssoftware – transparent und detailliert auch für die Konzernbuchhaltung. Günstige Shareware Programme als direkte Downloads im Software Portal. Bis zu 70% sparen durch Preisvergleich. |
||
|
PC-Emulatoren unter LinuxZeitreisevon Tim Schürmann |
Heutzutage ist ein Betriebssystem mit grafischer Oberfläche Standard -- sei es Linux, MacOS oder Windows. Aber erinnern Sie sich noch an die Zeit vor Windows? Sie denken jetzt vielleicht an MS-DOS, doch auch dieses System hatte mit CP/M einen Vorläufer, der sich unter Linux emulieren lässt.
| Kurioses und Interessantes |
|
Gary Kildall entwickelte 1974 ein Betriebssystem für Computer mit dem Intel-Prozessor 8080. Er nannte es Control Program for Microcomputers, kurz CP/M. Für den zunächst schleppenden Vertrieb gründete er eigens die Firma Digital Research. Erst als Diskettenlaufwerke zu einem Massenprodukt wurden und Zilog seinen wesentlich günstigeren 8080-Klon Z80 auf den Markt warf, gingen die Absätze steil nach oben. CP/M wurde so beliebt, dass einige Firmen sogar Z80-Erweiterungen für bestehende Computer vertrieben oder den Prozessor zusätzlich in ihre Heimcomputer einbauten (wie z. B. beim Commodore C128).
Der Schlüssel zum Erfolg von CP/M lag in seinem modularen Aufbau: Nur die als BIOS bezeichnete Schicht musste an die jeweilige Hardware angepasst werden. Der Betriebssystemkern BDOS und die textbasierte Benutzerschnittstelle (CCP, Console Command Processor) konnten unverändert übernommen werden.
Im Laufe der Zeit erschienen nicht nur zahlreiche Programme -- darunter Klassiker wie WordStar und die Datenbank dBase --, auch die Vielfalt der CP/M-Versionen wirkt eher verwirrend. Am erfolgreichsten war CP/M 2.2; die letzten 8-Bit-Versionen hörten auf den Namen CP/M 3.0 bzw. CP/M Plus. Später wurde das System als CP/M 86 auch auf Intels ersten 16-Bit-Prozessor 8086 portiert. Letzterer ist übrigens der Großvater aller heutigen Pentium- und Athlon-Prozessoren.
Für den Betrieb eines Emulators benötigen Sie neben einer Kopie der CP/M-Betriebssystemdiskette nur noch passende Anwendungsprogramme. Sofern Sie im Besitz der Originaldisketten sind, gibt es zwei Möglichkeiten, ihren Inhalt den Emulatoren bekannt zu machen:
Leider bringen die Tools keine grafische Oberfläche mit und müssen daher in einem Terminalfenster gestartet werden. Mit cpmls können Sie z. B. das Inhaltsverzeichnis anzeigen, per cpmcp Dateien von und auf einen CP/M-Datenträger kopieren. Die verschiedenen Parameter, die beim Aufruf übergeben werden müssen, sind in den Manpages aufgeführt.
Haben Sie alle benötigten Dateien vorliegen, stehen Ihnen drei Emulatoren zur Auswahl: cpm [3], yaze 1.10 [4] und yaze-ag 2.0 [5]. Die cpm beiliegende Dokumentation ist dürftig, das Programm selbst enthält noch Fehler und kommt von seinem Funktionsumfang nicht an die Konkurrenz heran. Als Krönung ließ sich cpm auf unserem System gar nicht erst kompilieren. Ebenso erging es uns mit yaze 1.10. Daher empfehlen sich diese beiden Emulatoren hauptsächlich für Anwender mit Programmiererfahrung.
yaze-ag ist eine Weiterentwicklung von yaze 1.1. Wie das Akronym (Yet Another Z80 Emulator) andeutet, konzentriert sich der Emulator auf Computer mit Z80-Prozessor. Netterweise bringt er den CP/M-3.1-Klon ZPM3 gleich mit. Öffnen Sie vor dem Start die versteckte Datei .yazerc aus dem yaze-ag-Verzeichnis mit einem Texteditor. Interessant sind die Zeilen vor dem go: die mount-Anweisung legt fest, dass der Buchstabe dem nachstehenden Verzeichnis bzw. Disketten-Image zugeordnet wird.
Dazu ein Beispiel: Um den Inhalt des Unterverzeichnisses daten im Emulator als Laufwerk J: erscheinen zu lassen, fügen Sie vor dem go die Zeile
mount j datenein. Wie Sie sehen können, bindet yaze-ag schon standardmäßig einige mitgelieferte Disketten ein. Um ein eigenes CP/M-System zu betreiben, ändern Sie hier die entsprechenden Werte ab. Nach dem Speichern öffnen Sie ein Terminal-Fenster und wechseln mit cd in das Verzeichnis, in dem sich yaze-ag befindet. Durch Eingabe von yaze starten Sie anschließend den Emulator. Beenden lässt sich yaze-ag mit dem eingebauten Systembefehl sys quit. Eine ausführliche, englische Anleitung enthält die Textdatei yaze.doc.
Ein letzter Weg zur Emulation eines CP/M-Systems besteht im Einsatz eines Emulators für Heim-Computer. Um ein derartiges System zu betreiben, benötigen Sie lediglich ein passendes CP/M-System als Disketten-Image. Beim C128-Emulator Vice genügt es dann z. B., das Disketten-Image zu laden und einen Reset auszuführen. Genaue Beschreibungen der Emulatoren finden Sie in den früheren Teilen dieser Emulatorenserie.
Betrachtet man die langjährige Dominanz von CP/M, dann ist es erstaunlich, dass heute Microsoft den Markt beherrscht. Als IBM 1981 den ersten PC baute, fiel die Wahl tatsächlich zunächst auf CP/M 86. Bis heute bleibt allerdings ungeklärt, warum es letztendlich zu keinem Vertragsabschluss zwischen IBM und Digital Research kam. Fest steht nur, dass Microsoft den Zuschlag für ein Betriebssystem erhielt. Dieses entwickelte Microsoft jedoch nicht selbst, sondern kauften der Firma Seattle Computer Products einen CP/M-Klon namens QDOS ab. QDOS wurde noch leicht verändert und unter dem Namen MS-DOS (bzw. PC-DOS) zu einem niedrigen Preis an IBM lizenziert. Im Gegenzug durfte Microsoft auch Lizenzen an andere Hersteller vergeben. Als schließlich die Flut der PC-Nachbauten einsetzte, wurde Microsoft dadurch zum Weltmarktführer. Außer einem MS-DOS-Klon namens DR-DOS konnte Digital Research dem nichts mehr entgegen setzen. Mit dem Erscheinen von Windows 95 brach auch diese Einnahmequelle weg, und der einstige CP/M-Hersteller wurde an Novell verkauft. DR-DOS reichte man kurze Zeit später an Caldera weiter.
Für MS-DOS existiert dank seiner damaligen Marktmacht eine wahre Software-Flut. Noch heute findet man in Spiele- oder Software-Sammlungen MS-DOS-Programme. Per Emulator kann auch diese Software wieder zum Leben erweckt werden. Zur Auswahl stehen hier DOSBox [6] und dosemu [7]. Beide bilden unter Linux einen Computer mit 80x86 Prozessor nach. Hinzu kommt die damals typische Hardware wie z. B. eine SoundBlaster-Karte für die Audiowiedergabe. DOSBox geht noch einen Schritt weiter und emuliert das Betriebssystem selbst, für Dosemu benötigt man hingegen eine MS-DOS-Kopie oder ein Derivat. Sind Sie nicht (mehr) im Besitz von MS- oder DR-DOS, können Sie auf das freie FreeDOS [8] zurückgreifen, das Sie auch auf der Heft-CD finden. (Die Heft-CD bootet sogar in FreeDOS.) Beachten Sie aber, dass FreeDOS noch nicht ganz ausgereift ist. Gleiches gilt übrigens auch für DOSBox: In unseren Tests traten z. B. Probleme mit der Tastatur auf.
Um mit DOSBox ein DOS-Programm zu starten, ziehen Sie es in einem Dateimanager einfach auf das DOSBox-Symbol. Es öffnet sich dann ein Fenster, in dem das Programm ausgeführt wird. Sollte der Mauszeiger gefangen sein, können Sie ihn über [Strg+F10] wieder freigeben. Mit dem Kommando exit beenden Sie den Emulator. Benötigen Sie eine spezielle Konfiguration oder schlägt das obige Verfahren fehl, müssen Sie den Umweg über ein Terminal-Fenster gehen und dabei DOSBox einige Startparameter mit auf den Weg geben. Lesen Sie in einem solchen Fall die beiliegende README-Datei.
Konkurrent dosemu blickt auf eine langjährige Entwicklungszeit zurück und ist DOSBox entsprechend überlegen. So bietet dieser Emulator z. B. zusätzlich Netzwerk- und CD-ROM-Unterstützung, und es können sogar frühe Windows-Versionen gestartet werden. Leider macht ein derartiger Funktionsumfang die Konfiguration alles andere als trivial. Eine Beschreibung der Konfigurationsdateien würde den Rahmen dieses Artikels sprengen. Die meisten Distributionen, denen dosemu beiliegt, bieten aber eine gute Basiskonfiguration. Unter SuSE Linux genügt nach der Installation z. B. die Eingabe von dosemu in einem Terminal-Fenster. Erste Anlaufstellen für weitere Informationen finden Sie im Kasten Infos. Haben Sie die Hürde der Installation überstanden, müssen Sie sehr wahrscheinlich noch mit der Konfiguration des DOS-Systems selbst kämpfen: Zwar besitzt MS-DOS nur zwei zentrale Konfigurationsdateien (config.sys und autoexec.bat), jedes Programm verlangt aber eine spezielle Speicher- und Treiberkonfiguration, die herzustellen schon so manche graue Haare verursacht hat.
| MS-DOS- und CP/M-Befehle |
|
DOS- und CP/M-Programme erkennt man an der Endung .exe oder .com. Sie können durch Eingabe ihres Namens ohne Erweiterung gestartet werden. Hier ein kleiner Überblick über weitere Befehle:
|
Erinnern Sie sich noch an einen Herren namens Larry Laffer? Oder Guybrush Threepwood? Beide stehen stellvertretend für die zahlreichen Titelhelden der Abenteuerspiele, wie sie noch Anfang der 90er Jahre des vorigen Jahrhunderts äußerst beliebt waren. Larry Laffer war Protagonist in der mit erotischen Seitenhieben gespickten Leisure Suit Larry-Reihe, während Antiheld Guybrush Threepwood als Pirat auf Monkey Island strandete. Anhand dieser Spiele wollen wir zum Abschluss noch einen ganz speziellen Typ von Emulatoren vorstellen: Emulatoren, die eigentlich keine sind.
In der Zeit, als die genannten Spiele entstanden, buhlten mehrere Computer um die Gunst der Käufer. Die Spielehersteller mussten ihre Produkte somit für mehrere Betriebssysteme anbieten. Um sich die Arbeit zu erleichtern, entwarfen sie eigene Programmiersprachen mit dazugehörigen Interpretern. Letztere konnten die Anweisungen der jeweiligen Programmiersprache auswerten und ausführen. Auf diese Weise brauchte man im Idealfall nur den Interpreter an die unterschiedlichen Computer anzupassen. Um diese Spiele heutzutage unter Linux wiederzubeleben, könnte man einen Emulator heranziehen. Diese Methode beansprucht jedoch viel Rechenleistung und eine Kopie des jeweiligen Betriebssystems. Wesentlich vorteilhafter ist es da, einen Interpreter für das jeweilige Spiel zu schreiben. Hierdurch erhält man sogar eine native Linux-Konvertierung.
Am beliebtesten waren die Abenteuerspiele aus dem Hause Sierra (Kings Quest, Space Quest, Larry) bzw. Lucasfilm Games, später LucasArts (Maniac Mansion, Monkey Island, Indiana Jones). Sierra-Spiele der ersten Generation deckt sarien ab [10]. Man erkennt sie daran, dass die Befehle am unteren Bildschirmrand eingegeben werden (Abbildung 5).
Bei der zweiten Generation, die FreeSCI [11] zum Leben erweckt, erscheint zur Befehlseingabe ein Textfenster (Abbildung 6a und 6b).
Spätere Sierra-Spiele, die über bessere Grafik und eine reine Maussteuerung verfügen, können derzeit (noch) nicht ausgeführt werden. Für die LucasArts-Abenteuer ist ScummVM zuständig [12]. Zwar befindet es sich noch in einer recht frühen Entwicklungsphase, emuliert aber schon zusätzlich die ähnlich aufgebauten Simon-the-Sorcerer-Spiele von Adventure Soft.
Bevor die Grafik-Adventures auf den Markt kamen, arbeiteten die Abenteuerspiele mit reiner Textdarstellung. Der wohl bekannteste Hersteller hochwertiger Text-Adventures war Infocom. Auch heute gibt es noch viele Fans dieser interaktiven Bücher, die dank Inform [13] sogar noch selbst fleißig an immer neuen Abenteuer basteln. Aufgrund ihrer relativ einfachen Benutzerschnittstelle sind sie auch bei blinden Spielern beliebt, die über eine Braillezeile mit ihrem Computer kommunizieren. Ein Interpreter für die auf dem Infocom-System basierenden Spiele ist frotz [15]. Die aktuelle Version erprobt sogar die Ein- und Ausgabe über Sprache, was erneut behinderten Menschen zu Gute kommen dürfte.
Mitte der 80er Jahre bekam Infocom mit Magnetic Scrolls einen starken Gegner -- nicht zuletzt, weil diese Firma ihre Texte mit wunderschönen Grafiken illustrierte. Ein Interpreter für ihre Spiele findet sich in Magnetic [18].
Bevor Sie eines der genannten Spiele starten können, müssen Sie es zunächst unter seinem ursprünglichen Betriebssystem installieren. Hierzu können Sie auch einen Emulator wie z. B. dosemu heranziehen. Kopieren Sie nun alle Dateien des Spiels nebst dem entsprechenden Interpreter in ein Verzeichnis unter Linux. Öffnen Sie ein Terminalfenster und wechseln Sie mit cd in dieses Unterverzeichnis. Durch die Eingabe des Interpreternamens (z. B. sarien oder freesci) wird das Spiel gestartet. Bei scummvm muss noch der Name des Spiels folgen, z. B. scummvm monkey2. Die entsprechenden Kürzel finden Sie in der Datei README. Frotz verlangt hingegen die Angabe der Datei mit den Spieldaten, z. B. frotz hitchhik.dat.
Um Magnetic in Betrieb zu nehmen, sind noch ein paar Hürden zu umschiffen. Da sich der Übersetzungsvorgang als etwas kompliziert erweist, sollten Sie zu einem der vorkompilierten Programmpakete unter [17] greifen. Die unterschiedlichen Dateinamen weisen auf verschiedene Bedienoberflächen hin. Wir raten zur Glk-Variante, da sie unter jedem Linux-Desktop laufen sollte. Des weiteren benötigt Magnetic die Spieledaten in einem ganz speziellen Dateiformat. Dazu existieren Konvertierungsprogramme (z. B. XtractPC), die Magnetic beiliegen. Da auch deren Erstellung nicht ganz trivial ist, sollten Sie auf die unter [18] bereit gestellten Spielepakete zurückgreifen (vgl. Kasten Rechtliches). Gestartet wird das Programm analog zu frotz, die Glk-Variante also z. B. mit xmagnetic guild.mag.
Die Auswahl verfügbarer Interpreter ist nicht auf Abenteuerspiele beschränkt. Vor kurzem ist z. B. Exult fertig gestellt worden [19]: Dieses Programm kann das Rollenspiel Ultima 7 unter Linux zum Leben erwecken. Ein ähnliches Projekt gab es auch für das 3D-Action-Spiel Descent [20, 21].
Damit sind wir am Ende unserer kleinen Zeitreise angekommen. Es gibt noch weitaus mehr Emulatoren als wir hier vorstellen konnten (wie z. B. den PalmOS-Emulator POSE [22]). Falls Sie auf der Suche nach einem speziellen System sind, forschen Sie doch einfach mal im Internet. Wir selbst halten natürlich auch weiterhin die Augen auf: Bereits in einer unserer nächsten Ausgaben werden wir uns den Apple Macintosh vorknöpfen.
Emulatoren können alte Software zum Leben erwecken, alte Daten wieder nutzbar machen, Einblicke in die Tiefen historischer Computersysteme geben -- und: Sie machen einfach Spaß. (hge)
| Kompilieren |
|
Sofern Ihnen nur ein Archiv mit dem Quellcode zur Verfügung steht,
müssen Sie den entsprechenden Emulator in eine ausführbare Version
übersetzen (kompilieren). Hierzu installieren Sie zunächst die
GNU-Werkzeuge in Form von GNU make, dem C-Compiler gcc, flex, yacc und
bison, sowie den Bibliotheken zlib und SDL. Anschließend entpacken
Sie das herunter geladene Archiv in ein Verzeichnis Ihrer Wahl. Öffnen
Sie nun ein Terminalfenster und wechseln Sie mit cd
in dieses Verzeichnis.
yaze-ag 2.0: Kopieren Sie zunächst die Datei Makefile_linux in die Datei Makefile und monitor.c_linux nach monitor.c. Per Eingabe von make werfen Sie den Erstellungsprozess an. cpmtools, DOSBox, sarien und FreeSCI: ./configure gefolgt von make erstellt das Programm im Unterverzeichnis bin bzw. unter src. Die cpmtools installiert ein make install. scummvm und frotz: Bei scummvm öffnen Sie zunächst die Datei Makefile mit einem Text-Editor und suchen nach der Zeile DEFINES += -DUSE_MAD. Stellen Sie nun dieser, sowie der unmittelbar folgenden, eine Raute voran (#). Speichern Sie die Datei ab. Bei beiden Emulatoren erstellt dann ein simples make das Programm. |
| Rechtliches |
| Sowohl Betriebssysteme als auch Spiele unterstehen nach wie vor dem Copyright des jeweiligen Herstellers. Wer bei einem Download aus dem Internet nicht über das Original verfügt, erstellt eine Raubkopie. Verschärft wird das Problem dadurch, dass einige Firmen mittlerweile pleite sind oder der Verbleib der Rechte im Dunklen liegt. Um auf Nummer Sicher zu gehen, können Sie auf dem Gebrauchtmarkt noch ältere Original-Software erstehen (z. B. bei [23] oder [24]). Darüber hinaus gibt es einige Hobbyprogrammierer, die Share- oder Freeware-Programme geschrieben haben. Die Abenteuerserien Indiana Jones und Monkey Island sind als Sammlung noch im Handel erhältlich. |
Dieser Online-Artikel kann Links enthalten, die auf nicht mehr vorhandene Seiten verweisen. Wir ändern solche "broken links" nur in wenigen Ausnahmefällen. Der Online-Artikel soll möglichst unverändert der gedruckten Fassung entsprechen.
Druckerfreundliche Version |
Feedback zu dieser Seite
|
Datenschutz |
© 2010 Linux New Media AG
[Linux-Magazin]
[LinuxUser]
[EasyLinux]
[Linux-Community]
[Ubuntu User]
[Linux Technical Review]
[Linux Magazine]
[Linux Pro Magazine]
[Ubuntu User]
[EasyLinux Poland]
[Linux Magazine Poland]
[Linux Magazine Brasil]
[EasyLinux Brasil]
[Linux Magazine Spain]