Creopard header Logo

PCem & 86Box: PC Emulatoren für alte Retro Spiele

Update: 18.03.2024 | Erstellt: 17.05.2023 von creopard

Unterstüzen Sie dieses Projekt mit Ihrer Spende

Herzlichen Glückwunsch,
Ihr Werbeblocker funktioniert!

Wenn Sie unsere Inhalte nützlich finden, würden wir uns über eine kleine Unterstützung freuen. Sie können auch gerne Ihren Werbeblocker für diese Seite deaktivieren, um kostenlose Dienste weiterhin zu ermöglichen.

Dieser Hinweis erscheint, weil Sie einen Werbeblocker verwenden.


PCem & 86Box: PC Emulatoren für alte Retro Spiele
Klick zum Vergrößern

Während es bereits viele Möglichkeiten gibt, um ältere PC-Spiele auf modernen Systemen zum Laufen zu bringen (DOSBox, virtuelle Maschinen, ScummVM), bleibt das klassische Gaming-Gefühl oft auf der Strecke.

Doch was wäre, wenn es eine Lösung gäbe, die dieses nostalgische Flair einfangen könnte?
Tatsächlich gibt es einen Emulator, der diesem Anspruch gerecht wird:

PCem. Schon seit 2007 im Einsatz, hat er sich im Laufe der Jahre zu einem wahren Geheimtipp für Retro-Gamer entwickelt. Zusammen mit seinem jüngeren Bruder, dem Emulator 86box, bilden sie die unschlagbare "PCem-Familie". Diese beiden Emulatoren haben in letzter Zeit enorme Fortschritte gemacht und sind nunmehr leistungsstärker als je zuvor. Mit ihnen kann man endlich wieder in alten Erinnerungen schwelgen und seine Lieblingsspiele von damals™ in voller Pracht genießen.


PCem und 86Box sind echte PC-Emulatoren. Im Gegensatz zu einer virtuellen Maschine, welche die Software glauben lässt, dass es sich um einen separaten Computer handelt, emulieren PCem und 86Box tatsächlich einen vollständigen PC und seine gesamte Hardware. Man kann den Original-IBM XT bis hin zu einem Slot-1-Computer mit einem Pentium II emulieren, sowie zahlreiche Grafik- und Soundkarten, wie 3dfx-Voodoo-Karten und den Sound Blaster. Es ist wirklich nice, Dutzende von verschiedenen Konfigurationen direkt zur Hand zu haben und dem PC schon beim Hochzählen des RAM im BIOS-Screen zuzusehen. Die Möglichkeit, von einer Pentium-Maschine mit einer Voodoo1 zu einem IBM XT und dann zu einem 486er zu wechseln, ohne Geld für alte Komponenten ausgeben zu müssen (die auch nicht billiger werden und durch deren Alter auch unzuverlässig sein können) ist eine ganz neue Erfahrung. PCem und 86Box sind auch ein idealer Einstiegspunkt für all jene, die auch nur mal vorsichtig ihre Fühler in Richtung Vintagecomputing ausstrecken wollen, wohingegen die Emulatoren für erfahrene Retro-Enthusiasten auch eine Vielzahl von Optionen bieten.

Trotz all dessen sind die beiden Emulatoren nicht perfekt und obwohl sie eine breite Palette von Systemen abdecken, kann die tatsächliche Hardwarevoraussetzung sehr anspruchsvoll sein, da man für den Betrieb von PCem und 86Box unter Windows/Linux einen sehr schnellen Prozessor (CPU) benötigt.

Die CPU-Emulation bei PCem und 86Box ist komplett single-threaded - und das ist auch gleichzeitig ihre Achillesferse. Das bedeutet, dass man einen Prozessor mit sehr starker single-threaded Performance benötigt (also sehr viel Ghz pro CPU-Kern), um die meisten CPUs Ende der 1990er bis Anfang der 2000er Jahre zu emulieren. Mit meiner aktuellen CPU, einem Ryzen 5 3600 mit 3,6 GHz, kann ich einen Pentium MMX 166 Mhz gerade so "ruckelfrei" emulieren, sprich: Es gibt z.B. keine Soundaussetzer während des Bootens von Windows 98. Hat man eine noch langsamere Host-CPU, ist man noch stärker auf langsamere Prozessoren beschränkt.
Es ist schon irgendwie witzig, dass man ein PS3-Konsolenspiel mit wenig Problemen emulieren kann, eine 166 MHz CPU von 1997 ordnungsgemäß zu emulieren, bringt selbst aktuelle Systeme ins Schwitzen.
Somit stellt sich gleich die folgende Frage:

Warum sollte ich einen Emulator verwenden, wenn ich einfach DOSBox / DOSBox-X nutzen kann?

Im Gegensatz zu DOSBox, welches oft nur begrenzte Konfigurationsmöglichkeiten bietet, erlauben PCem und 86Box das Emulieren spezifischer PC-Hardware. So kann man das Gaming-Erlebnis genau auf die eigenen Bedürfnisse zuschneiden und sich in die perfekte Spielumgebung versetzen lassen.

DOSBox hat auch nicht hundertprozentige Kompatibilität mit allen Spielen, da es kein echtes MS-DOS verwendet. PCem sollte in der Theorie eine nahezu perfekte Kompatibilität haben, da man echte Versionen von MS-DOS und Windows 95/98 installieren kann, sofern man die zu emulierende Hardware entsprechend konfiguriert hat. (Auf einem 286er PC wird Windows 95 aufgrund des fehlenden 32-bit "protected modes" trotzdem nicht funktionieren.)

Die meisten Spiele sollten mit dem Emulator genauso laufen, wie auf einem echten Vintage-Computer. Es kann auch eine echte Herausforderung sein, Windows innerhalb von DOSBox richtig zum Laufen zu bringen, insbesondere wenn man Windows 95 oder 98 benötigt.
Hinweis: Das ursprüngliche DOSBox oder "DOSBox Staging" unterstützen offiziell die Installation von Windows 9x nicht. Dazu ist der DOSBox-Fork "DOSBox-X" notwendig, der auch die Installation von Windows 95/98/ME ermöglicht.

PCem hingegen ist einfach einzurichten und Windows 95/98 läuft in der Regel gut und schnell genug.

Der Leitfaden für Einsteiger in PCem und 86Box

Dieser Abschnitt soll zeigen, wie man die Emulatoren der PCem-Familie tatsächlich verwenden kann. Um PCem oder 86Box auch sinnvoll einzusetzen, muss neben den konfigurirterten Hardware auch ein Betriebssystem im Emulator installiert werden, z.B. MS-DOS, eine Windows 9x-Version, frühe Windows NT-Versionen oder OS/2.

1. Unterschiede zwischen den Emulatoren "PCem" und "86Box"

86Box und PCem sind beide PC-Systememulatoren. Tatsächlich entstand 86Box im Jahr 2016 als Abspaltung (Fork) von PCem. Die Codebasen beider Emulatoren unterscheiden sich jedoch seitdem stark voneinander. Daher müssen Funktionen und Fehler, die in einem Emulator gefunden werden, nicht unbedingt im anderen vorhanden sein.

Im Allgemeinen konzentriert sich 86Box mehr auf die Genauigkeit der Emulation, insbesondere für ältere Systeme auf Basis von 8088/8086. Dadurch ist es kompatibler mit älteren Anwendungen, Spielen und Demos, die bestimmte Hardwaretricks nutzen, um mit der begrenzten Rechenleistung der damaligen Zeit auszukommen.

PCem hingegen nimmt oft verschiedene Abkürzungen, um die Emulationsleistung zu verbessern.  Allerdings geht das auf Kosten der Genauigkeit, was die Auswahl an auszuführender Software einschränken kann. Man kann auch sagen, dass sich PCem eher an Spieler bzw. die Emulation von Spielen richtet, bei dem die Ausführungsgeschwindigkeit der Emulation wichtiger ist.

2. allgemeine Installation

Die Installation von PCem oder 86Box sieht auf den ersten Blick nicht einfach aus, da man zunächst einige Sachen herunterladen und konfigurieren muss, aber letztendlich ist es auch durch die grafischen Oberflächen der Programme sehr einfach.

Typische Systemvoraussetzungen, um praktisch alles in der PCem-Familie abbilden zu können:

  • Windows 7 oder höher: PCem und 86Box können auch auf Linux-Systemen ausgeführt werden.
  • DirectX9 oder höherer: 86Box wird ohne diese Laufzeitumgebung nicht starten.
  • mindestens 4GB RAM
  • mindestens einen 4,0 GHz-Prozessor, wenn man auf BIOS-Ebene die volle Leistung eines Pentium erhalten möchte. Darunter erhält man nur die Leistung, die etwa für die volle Emulation eines 486er reicht.

Woher wissen PCem oder 86Box nun, wie sie welche Hardware emulieren müssen?
Einfach ausgedrückt, braucht man zur jeweiligen Hardware "nur" das zugehörige ROM-Abbild, z.B. von Mainboards (BIOS), Grafikkarten (VBIOS), Controller-Steckkarten (ROM), usw.

HINWEIS: PCem und 86Box erfordern jeweils eigene ROM-Images, die für den Betrieb der Emulatoren erforderlich sind.

Je nachdem, welchen Emulator man installieren möchte, unterscheiden sich die Schritte nur geringfügig.

3. PCem als Emulator

Die aktuelle Version von PCem kann von https://pcem-emulator.co.uk/downloads.html heruntergeladen werden. Anschließend muss man es in ein Verzeichnis seiner Wahl entpacken. Dort befindet sich bereits ein "roms"-Verzeichnis. Sie müssen die ROM-Dateien in den richtigen Ordnern im "roms"-Verzeichnis kopieren. Starten Sie PCem und Sie erhalten ein Fenster wie dieses, jedoch noch ohne Konfigurationen:
pcem-config
Klicken Sie auf die Schaltfläche "+" unten links. Wenn Sie den Fehler "no ROMs present" nicht erhalten, haben Sie PCem korrekt installiert.

4. 86Box als Emulator

86Box installiert sich ähnlich wie PCem. Das aktuelle Release erhält man unter: https://github.com/86Box/86Box/releases/ . Entpacken Sie es und Sie erhalten die ausführbare Datei und eine Reihe von Dateien, wie folgt:
86box-config

siehe auch, die Dokumentation unter https://86box.readthedocs.io

Nun muss nur noch ein Verzeichnis "roms" mit den benötigten ROM-Dateien erstellt und in das gleiche Verzeichnis wie 86Box entpackt werden.
Wenn sich der Emulator starten lässt, ohne dass ein "no ROMs present"-Fehler auftritt, haben Sie es richtig installiert!

Optional kann man noch den "86BoxManager" herunterladen und als GUI-Frontend benutzen, um mehrere Instanzen von 86Box administrieren zu können.

5. Konfiguration

Jetzt ist es an der Zeit, das erste System zu konfigurieren, um das gewünschtes Betriebssystem (DOS, Windows, etc.) ausführen zu können.

Es ist erwähnenswert, dass die PCem-Familie ein Prozessorenspektrum vom Intel 8088 bis zum Intel Pentium abbilden kann. Man sollte damit in der Lage sein, so gut wie jedes gängige x86-Betriebssystem bis etwa zu einem Windows XP oder Ubuntu 9.10 zu installieren.
Das Feature "ACPI" wird in 86Box und PCem v14 (und älter) nicht unterstützt, so dass man nach dem Herunterfahren von Betriebssystemen wie Windows 9x/NT oder Linux wahrscheinlich einen "Herunterfahren"- oder "Sie können den PC jetzt ausschalten"-Meldung erhalten wird. Die ACPI-Unterstützung in PCem ist mit den Mainboards "GA686BX" und "VA503+" möglich.

Bei der Installation des Betriebssystems sollte man folgendes im Hinterkopf behalten: Je schneller der zu emulierende Prozessor ist (z.B.: Pentium 133), umso schneller muss die Host-CPU (z.B. Ryzen 5 3600) sein. Man sollte nichts im dreistelligen Mhz-Bereich einstellen, wenn man keinen 4 Ghz Host-Prozessor hat, ansonsten muss man sich mit Verzögerungen bzw. Ruckeln bei der Emulation rechnen. Windows 9x bis 2000 und höher benötigen in der Regel mehr CPU Performance als alle Betriebssysteme davor, wie z.B.: Windows 3.11 oder MS-DOS.

Mögliche Host-CPU mit entsprechender Gast-CPU mit Windows 98 SE:

  • i7 3. Gen => bis Pentium 166
  • i5 4. Gen => bis Pentium 166
  • i7 8. Gen => bis Pentium II 233
  • Ryzen 5 3600 =>bis Pentium 166
  • Ryzen 7 3700X =>bis Pentium II 233
  • Ryzen 9 3900X =>bis Pentium II 233/266
  • Ryzen 7 5700G/X => bis Pentium II 300/333/350 oder AMD K6-2 300
  • Ryzen 9 5900X => bis Pentium II 300/333/350 oder AMD K6-2 300

Es kommt nicht auf die Anzahl der Kerne einer CPU an, sondern auf die größtmögliche Geschwindigkeit eines einzelnen Kerns in Ghz.

Konfiguration von PCem:

Wenn man auf die Schaltfläche "NEW" klickt, erhält man in PCem dieses Fenster:

pcem-neue-konfig

86Box ist etwas anders aufgebaut, hat aber ähnliche Einstellungen. Unter "Tools" -> "Settings" kann man den PC konfigurieren oder den 86BoxManager nutzen:

86box-neue-konfig

Hinweis: Im Gegensatz zu VirtualBox oder VMware sind die virtuellen Festplatten-Images im ".img"-Format, die standardmäßig von PCem und 86Box erstellt werden, vom Speicherplatz her bereits vollständig zugewiesen und bei größeren Laufwerken kann die Erstellung eine Weile dauern. Man kann Größen von bis zu 127 GB nutzen (obwohl Größen mit mehr als 8 GB nicht empfehlenswert sind). Daher empfehlen sich auch "dynamic-size VHD (.vhd)" Images, siehe auch unten bei "Welches Image-Format kann man für die Festplatte nutzen?"
Darüber hinaus unterstützen PCem und 86Box keine DVDs oder 8-Zoll-Floppys. Man sollte auch darauf achten, dass die Festplatte im IDE-Bus und das CD-ROM-Laufwerk im ATAPI-Bus eingestellt ist, wobei die Festplatte auf Kanal 0:0 und das CD-ROM-Laufwerk auf Kanal 0:1 eingestellt sind, da das BIOS sie sonst höchstwahrscheinlich nicht erkennt.

Zu beachten ist jedoch auch die Beschränkungen jedes Betriebssystems und Dateisystems (FAT16/FAT32). So ist es beispielsweise nur möglich, Windows 95 OSR2 bzw. Windows 95 B (OEM) auf einem FAT32-Laufwerk zu installieren. MS-DOS, Windows 3.11 oder Windows 95 (A) unterstützen lediglich das Dateisystems FAT16.

6. Empfohlene CPU/RAM Kombinationen

Die folgenden aufgeführten Kombinationen für gewisse Betriebssysteme haben sich etabliert. Für die meisten Konfigurationen wird auch ein Diskettenlaufwerk und ein CD-ROM empfohlen. Diese Empfehlungen sind wahrscheinlich weit über den Mindestanforderungen oder den empfohlenen Anforderungen der Betriebssysteme. Je nach Einsatzzweck und Vorlieben können die Einstellungen natürlich variieren. Man sollte jedoch beachten, dass einige Konfigurationen bei falscher Einstellung (z.B. zu wenig/viel RAM, zu schwache/starke CPU) möglicherweise nicht sehr gut mit bestimmter Software harmonisieren wird.

Beispiele: CPU geschwindigkeitsabhängige Spiele wie "Monkey Island 1" geben (ohne Patch) keinen Sound aus, wenn die CPU schneller als ein 486er ist. Windows 98 hat (ohne Patch) Probleme mit mehr als 512 MB RAM)

  • MS-DOS 3.x: 286-Prozessor, 512 KB Speicher, ~4 MB Festplatte
  • MS-DOS 6.x: 486-Prozessor, 8 MB Speicher, ~8 MB Festplatte
  • Windows 1.0: 8088-Prozessor, 640 KB Speicher, EGA Grafikkarte, keine Sound- oder Netzwerkkarte, ~8 MB Festplatte, serielle Maus (VGA-Display- und PS/2-Maus-Unterstützung ist in der IBM OEM-Version von Windows 1.04 verfügbar)
  • Windows/386: 386-Prozessor, 1 MB Speicher, VGA-Grafikkarte, keine Sound- oder Netzwerkkarte, ~8 MB Festplatte, PS/2-Maus (nicht-386-Versionen erkennen wahrscheinlich nur max. 640 KB RAM)
  • Windows 3.0: 386-Prozessor, 8 MB Speicher, VGA-Grafikkarte, keine Sound- oder Netzwerkkarte, ~15 MB Festplatte, PS/2-Maus (Windows 3.0 erkennt nur max. 16 MB RAM)
  • Windows 3.1/3.11/Windows for Workgroups: 486-Prozessor, 16 MB Speicher, Trident TVGA8900D Grafikkarte, Sound Blaster 1.0, NE2000 Netzwerkkarte, ~100 MB Festplatte, PS/2-Maus
  • Windows 95: 486-Prozessor, 64 MB Speicher, S3 Trio32 Grafikkarte, Sound Blaster 16, NE2000 Netzwerkkarte, ~200 MB Festplatte, PS/2-Maus
  • Windows 98/ME: Pentium-Prozessor (166 MHz), 128 MB Speicher, S3 VIRGE Grafikkarte, Sound Blaster 16, NE2000 Netzwerkkarte, ~1 GB Festplatte, PS/2-Maus (auf langsameren Host-CPUs aufgrund langsamer Emulationsgeschwindigkeit nicht empfohlen)
  • Windows NT 3.1/3.5x: 486-Prozessor, 64 MB Speicher, Trident TVGA8900D Grafikkarte, Sound Blaster 1.0, NE2000 Netzwerkkarte, ~512 MB Festplatte, PS/2-Maus
  • Windows NT 4.0: Pentium-Prozessor, 128 MB Speicher, S3 Trio32 Grafikkarte, Sound Blaster 16, NE2000 Netzwerkkarte, ~1 GB Festplatte, PS/2-Maus
  • Windows 2000: Pentium-Prozessor (166 MHz), 128 MB (oder 256 MB, wenn möglich) Arbeitsspeicher, S3 VIRGE Grafikkarte, Sound Blaster 16, NE2000 Netzwerkkarte, ~2 GB Festplatte, PS/2 Maus (nicht empfohlen auf langsameren Host-CPUs aufgrund der langsamen Emulationsgeschwindigkeit)
  • Windows XP: Pentium-Prozessor (300 MHz), 128 MB (oder 256-512 MB, wenn möglich) Arbeitsspeicher, S3 VIRGE Grafikkarte, Sound Blaster 16, NE2000 Netzwerkkarte, ~8 GB Festplatte, PS/2 Maus (nicht empfohlen aufgrund langer Installationszeit und langsamer CPU)
  • IBM OS/2 1.x: 386 Prozessor, 16 MB Arbeitsspeicher, VGA Grafikkarte, ~300 MB Festplatte, Serienmaus (kann auf schnelleren CPUs bis zur Version 1.30.1 abstürzen, CD nicht empfohlen, kann nicht mehr als 16 MB RAM und mehr als 500 MB Festplattenspeicher erkennen)
  • IBM OS/2 2.x und höher: Pentium-Prozessor, 128 MB Arbeitsspeicher, S3 VIRGE Grafikkarte, Sound Blaster 16, NE2000 Netzwerkkarte, ~500 MB Festplatte, PS/2 Maus
  • Ubuntu/Debian/Fedora: Pentium-Prozessor, 128 MB Arbeitsspeicher, S3 VIRGE Grafikkarte, Sound Blaster 16, NE2000 Netzwerkkarte, ~8 GB Festplatte, PS/2 Maus (variiert je nach verwendeter Version, frühere Versionen benötigen möglicherweise weniger RAM und Festplattenspeicher. Ubuntu und Fedora werden aufgrund langer Installationszeiten und langsamer CPU nicht empfohlen)

7. BIOS und Installation

Bei neueren Mainboards (ab Pentium) besteht die Chance, dass das BIOS die virtuelle HDD automatisch erkennt. In diesem Fall muss man möglicherweise nur ins BIOS, um die Boot-Reihenfolge zu ändern, wenn man von einer CD booten möchte.
Bei älteren Mainboards (z.B. 486) muss man im BIOS eine Routine auswählen, damit die virtuelle HDD automatisch erkannt wird. Es gibt auch Mainboards bei denen man die Daten einer Festplatte (Sektoren / Köpfe / Zylinder) manuell eintragen muss.

Die meisten Betriebssysteme erwarten, dass man eine Boot-Diskette bereithält, die eine Laufwerkspartitionierung und -formatierung durchführen kann. Ab Windows 98 ist die Installations-CD normalerweise bootfähig, so dass keine Bootdiskette mehr verwenden muss. Windows 95 (außer OSR2) und Windows NT 4.0 (= NTFS) oder darunter können nicht auf FAT32-Partitionen installiert werden!

8. Allgemeine Hinweise und Tipps & Tricks

Wann sollte man PCem verwenden und wann 86Box ?

Es kommt wirklich darauf an, was man braucht. Wenn man SCSI-Unterstützung, Zugriff auf zusätzliche Optionen und eine bessere Systemunterstützung benötigt, ist 86Box die richtige Wahl. PCem hat immer noch seine Vorteile, einschließlich ACPI-Unterstützung und einer einfacheren Benutzeroberfläche. Soll der Hauptanwendungszweck der Emulation das "Spielen" sein, ist PCem die wahrscheinlich bessere Wahl, da PCem im Gegensatz zu 86Box schneller in der Emulation ist. Dafür ist 86Box genauer, siehe auch: https://86box.net/2022/01/07/pcem-migration-guide.html

Es erscheint die Meldung "No ROMs detected!", wenn man PCem / 86Box startet.

Man sollte sicherstellen, dass man einige ROMs im Roms-Ordner der PCem/86Box-Installation hat, siehe oben bei "1. Installation".

Es scheint ein Fehler, dass eine DLL fehlt, wenn man 86Box startet.

Man sollte die DirectX9-Runtime installieren, den Computer neu starten und es erneut versuchen.

Wie genau richtet man die Konfiguration ein?

Wenn man sich zum ersten mal mit PCem / 86Box auseinandersetzt, sollte man nur den Maschinentypen, RAM, CPU, die Soundkarte, die Festplatten- und Floppy/CD-Einstellungen anpassen. Mit der Zeit lernt man, das Netzwerk und andere Goodies einzurichten, um das bestmögliche Erlebnis zu erziehen. Einige Optionen erfordern möglicherweise zusätzliche Treiber in der emulierten Maschine.

PCem oder 86Box erkennt keine Disketten.

Sicherstellen, dass die Größe und das Format der Diskette in der Konfiguration richtig eingestellt sind und dass das BIOS entsprechend dieser Konfiguration eingestellt ist.

86Box erkennt die Festplatte / CD-ROM nicht.

Die Festplatte muss am IDE-Bus und das CD-ROM am ATAPI-Bus angeschlossen sein. Die Festplatte sollte am Kanal 0:0 und das CD-ROM am Kanal 0:1 angeschlossen sein. Sehr frühe Mainboards benötigen möglicherweise auch einen separaten Festplattencontroller, um eine Festplatte zu erkennen.

Wie kann man die Maus wieder freigeben, wenn sie in PCem / 86Box gehalten ist?

PCem: Strg + Ende oder drücken der mittleren Maustaste/-rad
86Box: F8 + F12 (in Windows) oder Strg + Ende (in Linux) oder drücken der mittleren Maustaste/-rad.

Die Emulation läuft sehr langsam. Gibt es eine Möglichkeit, sie zu beschleunigen?

Wahrscheinlich wurde ein zu schneller Prozessor für die Emulation eingestellt, den der Host-Computer möglicherweise nicht mit voller Geschwindigkeit ausführen kann. Die meisten Pentium Prozessoren mit dreistelligen Geschwindigkeiten sollten bei 4,0 GHz Host-Prozessoren optimal laufen. Wenn die Host-CPU langsamer als 4,0 GHz ist, könnte die Reduzierung der Geschwindigkeit eines Pentium Prozessors auf einen zweistelligen Bereich helfen. Die Aktivierung der Option "dynamic recompiler" könnte auch helfen, falls verfügbar.

Manchmal stürzt PCem/86Box ab, wenn man von einer Diskette lädt oder von einer CD startet.

PCem und 86Box können Probleme bei der Ausführung bestimmter Software haben. Nicht jede Software funktioniert einwandfrei. Wenn PCem abstürzt, wird normalerweise eine pcem.log-Datei im PCem Verzeichnis abgelegt, die den Grund für den Absturz des Emulators angibt.

Welche Netzwerkkarte sollte man verwenden?

Zu anfangs kann man das SLiRP-Netzwerk einrichten und die emulierte Netzwerkkarte auswählen. In der emulierten Maschine sind dann noch die Netzwerkkarten-Treiber zu installieren, damit sie funktioniert.

Die Festplatte kann nicht größer als ca. 504 MB partitioniert werden.

Einige ältere BIOS Versionen verschiedener Mainboards haben dieses Problem, da keine Geometrieübersetzung unterstützt wird. Ein anderes BIOS kann helfen.

Welches Image-Format kann man für die Festplatte nutzen?

Das Standardformat wie ".img" benötigt Drittsoftware, um den darin gespeicherten Festplatteninhalt zu lesen bzw. Dateien hineinzukopieren. Verwendet man eine "dynamic-size VHD (.vhd)" als Image-Format, kann man einerseits Speicherplatz sparen und die .vhd-Datei auch direkt unter Windows 10/11 einbinden.

9. PCem spezifische Hinweise

Die Emulationsleistung hängt vollständig vom ausgeführten Spiel/Software ab.

Ein Spiel kann möglicherweise mit einem PII-300 mit 100% Geschwindigkeit ausgeführt werden, während ein anderes Spiel bei einem Pentium MMX 166 bei 100% CPU-Auslastung enden könnte. PCem basiert auf einem dynamischen Rekompiler für schnelle Leistung und die Emulationsgeschwindigkeit hängt davon ab, wie ein bestimmtes Spiel die emulierte CPU nutzt.

PCem führte ab Version 15 einen neu geschriebenen dynamischen Recompiler ein, der hauptsächlich darauf abzielte, die Emulationsleistung in Spielen zu verbessern. Somit kann das Aktivieren der Option "dynamic recompiler" für mehr Leistung bei Spielen sorgen. Allerdings kann dies auch zu geringfügigen bis schwerwiegenden Leistungseinbußen in anderen Anwendungen führen. Diese Option ist also sehr abhängig vom eingesetzten Spiel/Software und sollte bei Problemen deaktiviert bleiben. Es ist besser, die Leistung von PCem für jedes Spiel separat zu ermitteln.

Das Fenster "PCem Machine" ist hilfreich, um die optimale Performance bei der CPU-Auslastung zu ermitteln.

Es gibt eine einfache Möglichkeit, das System besser anzupassen, indem man sich während der Emulation sämtliche Statusinformationen von PCem anzeigen lässt. Dazu muss man dieses Fester zuerst unter "Misc" -> "Machine" einblenden und anschließend die Option "Status" unter "Options" -> "Status" aktivieren.

Eine der wichtigsten Informationen hierbei ist die "CPU time". Diese gibt im Wesentlichen an, wie stark die Auslastung der Host-CPU ist, wobei "100%" bedeutet, dass die Host-CPU vollständig genutzt wird (nicht die gesamte CPU, sondern der einzelne Host-CPU-Kern, der zur Emulation der Gast-CPU verwendet wird). Sobald dies 100% erreicht, wird die Emulationsgeschwindigkeit abnehmen. Man kann sich die CPU-Auslastung ansehen, wenn man ein Spiel ausführt, um eine Vorstellung davon zu bekommen, wie viel höher man die Gast-CPU einstellen kann.
Wenn man zum Beispiel Half-Life auf einem PII-300 (mit Voodoo 3) ausführt, liegt die CPU-Auslastung bei einer "i7-12700" (4,9 Ghz) Host-CPU bei etwa 70%. Das ist ziemlich niedrig, also weiß man, dass man die Gast-CPU noch etwas erhöhen kann. Wenn man die Gast-CPU nun auf einen PII-450 einstellt, erreicht die CPU-Auslastung bei Half-Life 95-100%, ohne nennenswerten Verlust an Emulationsgeschwindigkeit. Dadurch erhält man im Spiel etwa 15 zusätzliche Bilder pro Sekunde (FPS). Somit kann man durch Experimentieren mit verschiedenen CPU-Typen leicht die Grenzen des Machbaren ausloten, um noch etwas mehr an emulierbarer Performance herausholen.

Ein weiterer nützlicher Bereich in diesem Fenster ist der Wert der aktuelle Bildrate ("x frames/sec"). Dies ist besonders nützlich, um die Leistung von Spielen zu überprüfen, da nicht alle Spiele eigene Bildzähler haben.

Direkt unter der Bildrate befinden sich die CPU Render-Threads der 3D-Karte (z.B. bei 3dfx Voodoo Karten). Auch diese sollte man im Auge behalten. Je nach der verwendeten Host-CPU kann man die Render-Threads (in den Grafikkarteneinstellungen unter "Voodoo Graphics") auf "2" oder "4" einstellen. Für einige Spiele (und je nach eingesetzter Host-CPU) reichen "2" möglicherweise nicht aus und es kann zu einem Flaschenhals kommen, der zu einen Verlust an Bildern pro Sekunde (FPS) im Spiel führt. Man kann sehen, welchen Prozentsatz des Host-CPU-Kerns jeder Render-Thread aktuell nutzt. Wenn dieser Wert bei jedem Thread nahe 100% liegt, kann es zu Performanceverlusten kommen.

Hier ist ein Screenshot, der einige dieser Informationen hervorhebt:
CPU: Pentium MMX 166 (mobile) / 128 MB RAM
Grafikkarte #1: S3/Virge
Grafikkarte #2: Voodoo 2 (mit 2 eingestellten Render-Threads)

pcem-monitor-voodoo2
(Dieses Beispiel wurde unter Windows 98 SE mit dem Direct3D-Beschleunigungtest des DxDiag-Programms erstellt.)

Der Voodoo-FIFO-Thread ist laut der PCem Entwickler wahrscheinlich eine "groteske Überschätzung und zählt die Zeit, die dieser Thread auf die Render-Threads wartet". Es ist also kein Problem, wenn dieser Wert bei 100% liegt.

Es gibt einen bekannten Fehler, wenn die Render-Threads auf "4" eingestellt sind.

Dies betrifft nicht jedes Spiel, aber man erkennt es an flackernden horizontalen Linien über bestimmten Texturen. Dies tritt beispielsweise bei "Shogo" und "Wheel of Time" auf. Es kann dadurch behoben werden, indem man die Render-Threads auf "2" reduziert. Man sollte jedoch die Host-CPU Auslastung der Render-Threads im Auge behalten (siehe den vorherigen Punkt), um sicherzustellen, dass man keinen Flaschenhals erreicht. Standardmäßig kann man die Render-Threads auf "4" eingestellt lassen und sie nur ändern, wenn man auf diesen Fehler stößt.

Spielt es für die Host-CPU Leistung eine Rolle, ob es sich um Voodoo 2/S3 Virge oder Voodoo 3 handelt?

Anscheinend macht es keinen großen Unterschied, wenn die Ingame Einstellungen gleich bleiben. Natürlich kann Voodoo 3 höhere Auflösungen anzeigen, daher kann dies zu einer höheren CPU-Auslastung führen, wenn man die Auflösung auf 1024 x 768 eingestellt hat. In Bezug auf die Framerate im Spiel wird es keinen großen Unterschied zwischen Voodoo 2 und Voodoo 3 geben, wenn man eine Pentium-II CPU verwendet. (Mit anderen Worten: Voodoo 3 profitiert erst wirklich mit einer CPU ab 500 MHz oder mehr). Im Allgemeinen steigt die CPU-Auslastung von PCem mit einer höheren Anzahl ausgegebener Bilder pro Sekunde, daher kann es bei der Verwendung einer Voodoo 3 in einigen Spielen eine etwas höhere Auslastung geben, was aber nicht sehr auffällt.

Wenn man eine Voodoo 3 verwendet, sollte man in den Windows 98 3dfx-Einstellungen "V-Sync" aktivieren und die Bildwiederholfrequenz des Monitors unter Windows 98 auf 60 Hz einstellen.

Dies kann in einigen Situationen einen enormen Leistungsschub geben. Wenn V-Sync deaktiviert ist, rendern manche Spiele mehr Bilder pro Sekunde (Frames), als angezeigt werden können. Zum Beispiel hat Half-Life standardmäßig eine maximale Bildrate von 100. Wenn man direkt aus der Nähe auf eine Wand schaut, erreicht man 100 Frames. Man könnte denken, dass dadurch die Auslastung der Host-CPU sinkt, da es einfach zu rendern ist, aber so funktioniert PCem nicht. Je mehr Frames pro Sekunde gerendert werden, desto höher ist die Auslastung der Host-CPU. Daher steigt bei Spielen wie Half-Life, wenn die Framerate hochschnellt (wie beim Beispiel mit der Wand), auch die Auslastung der Host-CPU.
Aktivierung von "V-Sync" in den 3dfx-Einstellungen in Windows 98 verhindert, dass dies passiert, da nur die Anzahl der Frames, auf die man die Bildwiederholfrequenz des Monitors eingestellt hat, gerendert werden. Dies könnte für jeden, der eine Voodoo 3 verwende von enormer Bedeutung sein.
Bei der Voodoo 2 geschieht das standardmäßig (man muss ein modifiziertes 3dfx-Kontrollpanel installieren, um V-Sync bei einer Voodoo 2 zu deaktivieren).

Weitere 3dfx-Tools unter https://3dfxarchive.com/tools.htm, sowie optimierte Voodoo3/4/5 "Amigamerlin 2.9" Treiber für Win9x/ME.

Die V-Sync Option von PCem vermeiden.

Im laufenden Betrieb lässt sich im Menü unter "Video" die Option "VSync" aktivieren. Diese Option kann zu spürbarer Eingabeverzögerung führen. Wenn man störendes Screen Tearing mit einem TFT-Monitor erlebt, sollte man einen Monitor mit G-Sync-/Freesync Fähigkeiten einsetzen, der mit höheren Bildwiederholfrequenzen betrieben werden kann.

Sollte man Hyperthreading deaktivieren / CPU-Kernaffinität (core affinity) einsetzen?

Einige Anwender konnten die PCem Leistung steigern, indem sie sicherstellten, dass ihre Host-CPU immer echte Kerne verwendet, indem sie Hyperthreading im BIOS des Host-Systems deaktivierten. Wenn man allerdings eine Intel-CPU ab der 12. Generation verwendet und somit den neuen "Thread Director" von Intel zur Verwaltung der Kerne verwendet, scheint die Deaktivierung von Hyperthreading keinen Unterschied (mehr?) zu machen. Wenn man den CPU-Kernstatus während der PCem Nutzung überprüft, nutzt diese Intel CPU-Generation immer echte Leistungskerne und keine (Hyper)Threads.

Bei älteren Intel CPUs vor der 12. Generation und AMD RyzenCPUs lohnt es sich, mit der CPU-Kernaffinität zu experimentieren.

Beispiel: Um eine .exe-Datei an eine bestimmte Anzahl von Kernen zu "binden" ist der Befehl "start /affinity [n]" notwendig, wobei "[n]" für eine hexadezimale Zahl steht.

AFFINITY Gibt die Prozessoraffinitätsmaske als Hexadezimalzahl an.
Der Prozess ist auf die Ausführung auf diesen Prozessoren beschränkt.

Die Affinitätsmaske wird anders interpretiert, wenn /AFFINITY und
/NODE kombiniert werden. Geben Sie die Affinitätsmaske so an, als ob die
Prozessormaske des NUMA-Knotens nach rechts verschoben würde, um bei Bit Null zu beginnen.
Der Prozess ist auf die Ausführung auf den gemeinsamen Prozessoren
der angegebenen Affinitätsmaske und des NUMA-Knotens beschränkt.
Wenn keine gemeinsamen Prozessoren vorliegen, ist der Prozess auf
die Ausführung auf dem angegebenen NUMA-Knoten beschränkt.

Sie können auch die Kernaffinität ändern, um die Anzahl der physischen Kerne Ihres Systems anzupassen. Um "echte" physische Kerne zu benutzen und keinen Zweit-Thread eines echten Kerns, muss man gerade Kernnummern benutzen, z.B. die Kerne 0, 2, 4, usw. benutzen. Die logische Anzahl ist in der Regel doppelt so hoch, wie die der echten Kerne.

Nr.| Binärdarstellung (Typ)     | Affinity (hex-Wert)
------------------------------------------------
00 | 000000001 (physischer Kern) ~ 1

01 | 000000002 (logische CPU)    ~ 3
02 | 000000004 (physischer Kern) ~ 5
03 | 000000008 (logische CPU)
04 | 000000016 (physischer Kern) ~ 15
05 | 000000032 (logische CPU)
06 | 000000064 (physischer Kern) ~ 55
07 | 000000128 (logische CPU)

Beispiel: 1 + 4 + 16 + 64 = 85 (hex 0x55) entspricht  /affinity 55

Beispiel für 1 physischen Kern und keine logische CPU:
start /affinity 1 PCem.exe
(startet PCem.exe mit Affinität für CPU 0, d.h. "Kern 0, CPU 0")

Beispiel für 1 physischen Kern und 1 logische CPU:
start /affinity 3 PCem.exe
(startet PCem.exe mit Affinität für CPU 1, d.h. "Kern 0, CPU 1") <- das ist ungünstig!

Beispiel für 3 physische Kerne und keine logische CPU:
start /affinity 15 PCem.exe
(startet PCem.exe mit Affinität für CPU 0, CPU 2, CPU 4, d.h. "Kern 0, CPU 0", "Kern 1, CPU 0", "Kern 2, CPU 4")

Beispiel für 4 physische Kerne und keine logische CPU:
start /affinity 55 PCem.exe
(startet PCem.exe mit Affinität für CPU 0, CPU 2, CPU 4, CPU 6, d.h. "Kern 0, CPU 0", "Kern 1, CPU 0", "Kern 2, CPU 4", "Kern 3, CPU 6")

Wenn man ein Pentium 1 System mit einer S3 Grafikkarte und einer Voodoo2 Grafikkarte aufgesetzt hat (siehe Beispiel oben), lohnt es sich, PCem mit 4 Kernen aufzuführen. (1 Kern für die emulierte CPU, 1 Kern für den S3 GPU Thread und 2 Kerne für die VooDoo2 GPU Threads)

Voodoo (Level of Detail) LOD-Bias-Probleme

Die Voodoo-Emulation in PCem leidet unter Problemen bei der Berechnung des Detailgrads (LOD-Bias). Dadurch können Texturen in einigen Spielen im 3dfx-Modus extrem unscharf erscheinen. In "Heavy Gear" sind beispielsweise die Bodentexturen so unscharf, dass sie fast aussehen als hätten sie keine Textur. Dies kann auch einige Banding-Muster erzeugen, wie zum Beispiel auf dem Boden in Half-Life. In einigen Fällen, wie bei Half-Life, kann das Problem vermieden werden, indem man das Mipmapping in der Konsole/Optionen ausschaltet, aber viele Spiele haben diese Option nicht.

Die einzige Alternative dazu ist die Verwendung einer Voodoo 3 Grafikkarte. Das Dienstprogramm "3dfx Tools" der Voodoo 3 Treiber, verfügt über eine Einstellung für den LOD-Bias. Dort verschiebt man den Schieberegler nach links, bis die unscharfen Texturen im Spiel behoben sind.
(Es gibt keine Möglichkeit, den LOD-Bias bei der Voodoo 1 oder 2 anzupassen.)

Konfiguration von Voodoo1/2 und Voodoo3

Aktivieren Sie die Option "Voodoo Graphics" nicht, wenn Sie einen Voodoo 3 Grafikkarte verwenden. Aktivieren Sie "Voodoo Graphics" nur, wenn Sie eine Voodoo 1 oder 2 in Verbindung mit einer Grafikkarte verwenden.
Eine Voodoo 3 ist eine eigenständige Grafikkarte. Die Voodoo 1 und 2 hingegen arbeiteten mit einer 2D-Karte zusammen, weshalb diese Einstellung in PCem vorhanden ist.

Bessere FM-Sound (OPL) Emulation

Um eine originalgetreue FM-Soundausgabe zu bekommen, kann man in den PCem Soundeinstellungen unter "Device" eine Soundkarte (z.B. Sound Blaster 16) auswählen und mit dem danebenstehenden Icon noch weitere Einstellungen vornehmen. Hier kann der OPL-Emulator von "DBOPL" auf "NukedOPL" gestellt werden, um beispielsweise bessere Musikuntermalung in vielen Spielen zu bekommen. Allerdings benötigt "NukedOPL" mehr Rechenleistung als "DBOPL".

Verwendung von General MIDI

PCem unterstützt die General MIDI Ausgabe auf Sound Blaster 16 und AWE32 Soundkarten unter "MIDI out device" in den Einstellungen.

General MIDI wurde von vielen Spielen Mitte der 1990er Jahre für die Musik verwendet und klingt im Vergleich zur Sound Blaster OPL-Musik wesentlich besser. Wenn man es noch nicht erlebt hat, sollte man Spiele wie "Doom" oder viele Origin-Titel wie "Wing Commander: Privateer" mit aktiviertem General MIDI ausprobieren und sich daran erfreuen.

Tatsächlich leitet PCem die MIDI-Ausgabe an das Host-Betriebssystem weiter, so dass man ein physisches Hardwaregerät verwenden kann, das General MIDI unterstützt (z.B. DreamBlaster X2GS) oder eine softwarebasierte MIDI-Synthese.

Wenn man Windows als Host-System verwendet, sieht man standardmäßig "Microsoft GS Wavetable Synth" unter "MIDI out device" in PCem. Das ist der eingebaute Windows-MIDI-Synth, die allerdings nicht besonders gut klingt.
Stattdessen sollte man etwas wie "Coolsoft VirtualMIDISynth" installieren: https://coolsoft.altervista.org/en/virtualmidisynth (Nach der Installation wird VirtualMIDISynth als Option in den PCem Einstellungen angezeigt.) Damit kann man einen Soundfont nach Wahl installieren (Links am Ende der Seite), wie zum Beispiel "ChromiumRevA" oder "WeedsGM3".
Wenn man ein Spiel unter MS-DOS installiert, das General MIDI unterstützt, sollte man den Standard-Port "330" für General MIDI auswählen.






Ähnliche Artikel anzeigen:




Unterstüzen Sie dieses Projekt mit Ihrer Spende

Herzlichen Glückwunsch,
Ihr Werbeblocker funktioniert!

Wenn Sie unsere Inhalte nützlich finden, würden wir uns über eine kleine Unterstützung freuen. Sie können auch gerne Ihren Werbeblocker für diese Seite deaktivieren, um kostenlose Dienste weiterhin zu ermöglichen.

Dieser Hinweis erscheint, weil Sie einen Werbeblocker verwenden.