Émulez Sound Blaster et OPL3 sous DOS pur à l'aide de cartes son modernes basées sur PCI (carte intégrée et carte d'extension).
Le code source de MPXPlay est utilisé pour prendre en charge les cartes son/puces suivantes.
Activé et fonctionnel :
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/8738Support compilé, mais non testé :
sc_via82
: VIA VT8235Le code source existe, mais "ne fonctionne pas encore" :
sc_sbxfi
: Creative X-Fi EMU20KXPilotes Linux supplémentaires portés par jiyunomegami
Pour la gestion de la mémoire, utilisez soit :
JEMMEX
uniquement : fournit à la fois HIMEM + EMMHIMEMX
et JEMM386
: HIMEM + EMM séparés Dans les deux cas, utilisez JLOAD
(de la distribution Jemm) pour charger QPIEMU.DLL
avant de démarrer SBEMU
, afin que la prise en charge en mode réel soit activée. Si vous ne chargez pas JEMM+QPIEMU (ou QEMM), seules les applications en mode protégé seront prises en charge.
Si vous souhaitez utiliser SBEMU sans le construire, veuillez lire le fichier README.txt pour la configuration et une liste des options de ligne de commande.
macOS, Linux et Windows sont pris en charge. Pour Windows, pensez à utiliser les binaires WSL2 + Linux. Si vous avez besoin de déboguer/tester fréquemment sur votre DOS local, il existe un makefile.dos pour vous.
Les scripts permettant de créer une chaîne d'outils GCC récente pour DJGPP sont disponibles ici :
Il existe également des versions prédéfinies pour la chaîne d'outils si vous ne souhaitez pas créer DJGPP vous-même. La version actuelle (octobre 2023) utilise GCC 12.2.0, mais à l'avenir, des versions plus récentes de GCC pourraient être disponibles :
Cela suppose une installation Debian/Ubuntu. Si vous utilisez une autre distribution, je suppose que vous connaissez votre chemin et que vous pouvez traduire ces instructions dans votre distribution spécifique.
Pour obtenir make
et d'autres outils, il est plus simple d'installer les outils de build hôte :
sudo apt install -y build-essential
Sous MacOS, installez les outils de ligne de commande Xcode, qui devraient vous fournir make
et d'autres utilitaires hôtes.
Si vous envisagez de créer DJGPP à partir des sources, des outils de construction supplémentaires sont nécessaires. Reportez-vous au fichier README build-djgpp
pour plus de détails.
Avec l'augmentation du code source, il n'est pas recommandé de construire à partir de DOS. De plus, la version DJGPP DOS n'utilise pas -O2 et -flto, car la version GCC est ancienne et boguée avec -O2.
Si la création du projet sous DOS est nécessaire, téléchargez le DJGPP original à partir d'ici : https://www.delorie.com/djgpp/zip-picker.html Il dispose également d'un utilitaire make.
MS-DOS,OpenDOS,PC-DOS
dans la zone Which operating system will you be using?
dérouler,C++
sur Which programming languages will you be using?
Tell me which files I need
DOSLFN est également nécessaire pour effectuer la construction. L'environnement PATH doit être défini correctement avant la construction. Il est recommandé de set PATH=%PATH%;C:DJGPPBIN
dans autoexec.bat, puis
make -f makefile.dos
Vous pouvez également utiliser RHIDE pour effectuer l'édition et la construction à la volée : ajoutez SET DJGPP=C:DJGPPDJGPP.ENV
à autoexec.bat, puis exécutez simplement rhide
à la racine du projet via la ligne de commande. Utilisez Alt+C
pour activer le menu Compile
et sélectionnez Make
pour la construction de dépendances ou Build all
pour une construction propre.
Le dossier bin
de votre chaîne d'outils DJGPP doit être dans votre $PATH
, afin que la commande suivante fonctionne et génère votre version DJGPP GCC :
i586-pc-msdosdjgpp-gcc --version
Si cela fonctionne, la construction du projet est aussi simple que :
make
Parce que vous êtes sur une machine moderne avec des processeurs multicœurs, effectuez une construction parallèle, qui est plus rapide, par exemple, pour un processeur quadricœur, utilisez 8 processus parallèles pour accélérer la construction :
make -j8
Une fois la construction terminée, vous trouverez le résultat de la construction dans un dossier appelé output
, c'est-à-dire output/sbemu.exe
.
La prise en charge des CD audio sous DOS nécessite deux parties :
MSCDEX
(ou SHSUCDX
)Pour la première partie, vous devez disposer d'un lecteur de CD-ROM avec sortie audio analogique et d'un pilote de CD-ROM compatible MSCDEX configuré.
La deuxième partie (contrôle du volume) est prise en charge par SBEMU au démarrage.
Pour régler le volume du CD-Audio (par défaut, il est de 100 %), vous pouvez utiliser n'importe quel programme compatible Sound Blaster, tel que "SBMIX", car SBEMU émule et transmet les paramètres du mixeur CD-Audio.
N'oubliez pas que pour entendre quoi que ce soit, vous devez connecter un câble audio analogique de votre lecteur de CD-ROM au connecteur CD-IN à 4 broches de votre carte son (ou de la carte mère pour le son intégré).
Vous pouvez configurer SBEMU pour qu'il envoie ses messages de débogage sur le port série au lieu de la console. Cela fonctionne également en arrière-plan lorsque les jeux sont en plein écran, et est donc très utile pour le débogage.
Pour construire SBEMU avec une sortie de débogage, utilisez :
make DEBUG=1
Ensuite, lancez SBEMU avec cette commande pour la sortie de débogage (9600, 8N1) sur COM1 (utilisez /DBG2
pour COM2) :
sbemu /DBG1
Pour désactiver la sortie de débogage du port série au moment de l'exécution, utilisez :
sbemu /DBG0
La sortie de débogage série est désactivée par défaut.