Emulieren Sie Sound Blaster und OPL3 in reinem DOS mit modernen PCI-basierten (Onboard- und Zusatzkarten-)Soundkarten.
Der Quellcode von MPXPlay wird zur Unterstützung der folgenden Soundkarten/Chips verwendet.
Aktiviert und funktioniert:
sc_ich
: Intel ICH / nForce / SIS 7012sc_inthd
: Intel High Definition Audio (HDA)sc_via82
: VIA VT82C686, VT8233/37sc_sbliv
: SB Live! / Audigysc_sbl24
: SB Audigy LS (CA0106)sc_es1371
: Ensoniq ES1371/1373sc_cmi
: C-Media CMI8338/8738Unterstützung einkompiliert, aber ungetestet:
sc_via82
: VIA VT8235Quellcode existiert, aber „funktioniert noch nicht“:
sc_sbxfi
: Creative X-Fi EMU20KXZusätzliche Linux-Treiber, portiert von Jiyunomegami
Verwenden Sie für die Speicherverwaltung entweder:
JEMMEX
: Bietet sowohl HIMEM als auch EMMHIMEMX
und JEMM386
: HIMEM + EMM trennen Verwenden Sie in beiden Fällen JLOAD
(aus der Jemm-Distribution), um QPIEMU.DLL
zu laden, bevor Sie SBEMU
starten, damit die Real-Mode-Unterstützung aktiviert ist. Wenn Sie JEMM+QPIEMU (oder QEMM) nicht laden, werden nur Anwendungen im geschützten Modus unterstützt.
Wenn Sie SBEMU verwenden möchten, ohne es zu erstellen, lesen Sie bitte README.txt für die Einrichtung und eine Liste der Befehlszeilenoptionen.
macOS, Linux und Windows werden unterstützt. Erwägen Sie für Windows die Verwendung von WSL2 + Linux-Binärdateien. Wenn Sie auf Ihrem lokalen DOS häufig Fehler beheben/testen müssen, gibt es eine makefile.dos für Sie.
Skripte zum Erstellen einer aktuellen GCC-Toolchain für DJGPP sind hier verfügbar:
Es gibt auch vorgefertigte Versionen für die Toolchain, wenn Sie DJGPP nicht selbst erstellen möchten. Die aktuelle Version (Oktober 2023) verwendet GCC 12.2.0, aber in Zukunft könnten neuere GCC-Versionen verfügbar sein:
Dies setzt eine Debian/Ubuntu-Installation voraus. Wenn Sie eine andere Distribution verwenden, gehe ich davon aus, dass Sie sich auskennen und diese Anweisungen auf Ihre spezifische Distribution übertragen können.
Um make
und andere Tools zu erhalten, ist es am einfachsten, Host-Build-Tools zu installieren:
sudo apt install -y build-essential
Installieren Sie unter MacOS die Xcode-Befehlszeilentools, die Ihnen make
und andere Host-Dienstprogramme zur Verfügung stellen sollten.
Wenn Sie DJGPP aus dem Quellcode erstellen möchten, sind einige zusätzliche Build-Tools erforderlich. Weitere Informationen finden Sie in der README-Datei build-djgpp
.
Da der Quellcode zunimmt, ist es nicht empfehlenswert, unter DOS zu erstellen. Außerdem verwendet der DJGPP-DOS-Build nicht -O2 und -flto, da die GCC-Version alt und fehlerhaft mit -O2 ist.
Wenn das Projekt unter DOS erstellt werden muss, laden Sie das Original-DJGPP hier herunter: https://www.delorie.com/djgpp/zip-picker.html Es verfügt auch über das Make-Dienstprogramm.
MS-DOS,OpenDOS,PC-DOS
im Feld Which operating system will you be using?
aus. runterfallen,C++
unter Which programming languages will you be using?
Tell me which files I need
DOSLFN muss auch den Build durchführen. Die PATH-Umgebung muss vor dem Erstellen richtig eingestellt werden. Es wird empfohlen set PATH=%PATH%;C:DJGPPBIN
in autoexec.bat einzufügen und dann
make -f makefile.dos
Sie können RHIDE auch zum Bearbeiten und Erstellen im laufenden Betrieb verwenden: Fügen Sie SET DJGPP=C:DJGPPDJGPP.ENV
zu autoexec.bat hinzu und führen Sie dann einfach rhide
im Projektstammverzeichnis über die Befehlszeile aus. Verwenden Sie Alt+C
, um das Menü Compile
zu aktivieren, und wählen Sie Make
für einen Abhängigkeitsbuild oder Build all
für einen sauberen Build.
Der bin
Ordner Ihrer DJGPP-Toolchain muss sich in Ihrem $PATH
befinden, damit der folgende Befehl funktioniert und Ihre DJGPP-GCC-Version ausgibt:
i586-pc-msdosdjgpp-gcc --version
Wenn dies funktioniert, ist die Erstellung des Projekts so einfach wie:
make
Da Sie sich auf einer modernen Maschine mit Multi-Core-CPUs befinden, führen Sie einen parallelen Build durch, der schneller ist. Bei einer Quad-Core-CPU verwenden Sie beispielsweise 8 parallele Prozesse, um den Build zu beschleunigen:
make -j8
Nachdem der Build abgeschlossen ist, finden Sie das Build-Ergebnis in einem Ordner namens output
, also output/sbemu.exe
.
Die CD-Audio-Unterstützung unter DOS erfordert zwei Teile:
MSCDEX
(oder SHSUCDX
)Für Teil eins benötigen Sie ein CD-ROM-Laufwerk mit analogem Audioausgang und einen MSCDEX-kompatiblen CD-ROM-Treiber.
Teil zwei (Lautstärkeregelung) wird von SBEMU beim Start übernommen.
Um die Lautstärke von CD-Audio anzupassen (standardmäßig ist die Lautstärke 100 %), können Sie jedes Sound Blaster-kompatible Programm wie „SBMIX“ verwenden, da SBEMU CD-Audio-Mixereinstellungen emuliert und weiterleitet.
Vergessen Sie nicht, dass Sie, um tatsächlich etwas zu hören, ein analoges Audiokabel von Ihrem CD-ROM-Laufwerk an den 4-poligen CD-IN-Anschluss Ihrer Soundkarte (oder des Motherboards für Onboard-Sound) anschließen müssen.
Sie können SBEMU so konfigurieren, dass seine Debug-Meldungen an den seriellen Port statt an die Konsole ausgegeben werden. Dies funktioniert auch im Hintergrund, wenn Spiele im Vollbildmodus laufen, und ist daher beim Debuggen sehr nützlich.
Um SBEMU mit Debug-Ausgabe zu erstellen, verwenden Sie:
make DEBUG=1
Starten Sie dann SBEMU mit diesem Befehl für die Debug-Ausgabe (9600, 8N1) auf COM1 (verwenden Sie /DBG2
für COM2):
sbemu /DBG1
Um die Debug-Ausgabe des seriellen Ports zur Laufzeit zu deaktivieren, verwenden Sie:
sbemu /DBG0
Die serielle Debug-Ausgabe ist standardmäßig deaktiviert.