最新の PCI ベース (オンボードおよびアドイン カード) サウンド カードを使用して、純粋な DOS で Sound Blaster および OPL3 をエミュレートします。
MPXPlay のソース コードは、次のサウンド カード/チップをサポートするために使用されます。
有効化され、動作しています:
sc_ich
: インテル ICH / nForce / SIS 7012sc_inthd
: インテル ハイ デフィニション オーディオ (HDA)sc_via82
: VT82C686、VT8233/37経由sc_sbliv
: SBライブ! /オージーsc_sbl24
: SBオージーLS (CA0106)sc_es1371
: エンソニック ES1371/1373sc_cmi
: C-メディア CMI8338/8738コンパイル済みのサポートですが、テストされていません:
sc_via82
: VT8235経由ソースコードは存在しますが、「まだ動作しません」:
sc_sbxfi
: クリエイティブ X-Fi EMU20KXjiyunomegami によって移植された追加の Linux ドライバー
メモリ管理には、次のいずれかを使用します。
JEMMEX
のみ: HIMEM + EMM の両方を提供しますHIMEMX
およびJEMM386
: HIMEM + EMM を分離どちらの場合も、リアルモードのサポートが有効になるように、 SBEMU
開始する前にJLOAD
(Jemm ディストリビューションから) を使用してQPIEMU.DLL
をロードします。 JEMM+QPIEMU (または QEMM) をロードしない場合は、プロテクト モード アプリケーションのみがサポートされます。
SBEMU をビルドせずに使用する場合は、セットアップとコマンド ライン オプションのリストについて README.txt をお読みください。
macOS、Linux、Windows がサポートされています。 Windows の場合は、WSL2 + Linux バイナリの使用を検討してください。ローカル DOS で頻繁にデバッグ/テストを行う必要がある場合は、makefile.dos が最適です。
DJGPP 用の最新の GCC ツールチェーンを構築するためのスクリプトは、ここから入手できます。
DJGPP を自分で構築したくない場合は、ツールチェーンの事前構築済みリリースもあります。現在のバージョン (2023 年 10 月) は GCC 12.2.0 を使用していますが、将来的には新しい GCC バージョンが利用可能になる可能性があります。
これは、Debian/Ubuntu のインストールを前提としています。他のディストリビューションを使用している場合は、その方法を知っており、その手順を特定のディストリビューションに変換できると思います。
make
やその他のツールを入手するには、ホスト ビルド ツールをインストールするのが最も簡単です。
sudo apt install -y build-essential
MacOS では、Xcode コマンドライン ツールをインストールします。これにより、 make
およびその他のホスト ユーティリティが提供されます。
DJGPP をソースからビルドすることを計画している場合は、追加のビルド ツールが必要になります。詳細については、 build-djgpp
README ファイルを参照してください。
ソースコードが増えると、DOS からビルドすることはお勧めできません。また、DJGPP DOS ビルドは、-O2 と -flto を使用しません。これは、GCC のバージョンが古く、-O2 にはバグがあるためです。
DOS 上でプロジェクトをビルドする必要がある場合は、オリジナルの DJGPP をここからダウンロードしてください: https://www.delorie.com/djgpp/zip-picker.html これには make ユーティリティもあります。
Which operating system will you be using?
でMS-DOS,OpenDOS,PC-DOS
を選択します。落ちる、Which programming languages will you be using?
のC++
チェックボックスをオンにします。Tell me which files I need
をクリックします DOSLFN もビルドを実行する必要があります。ビルドする前に PATH 環境を適切に設定する必要があります。 set PATH=%PATH%;C:DJGPPBIN
autoexec.bat に配置することをお勧めします。
make -f makefile.dos
RHIDE を使用して編集とビルドをその場で実行することもできます。SET SET DJGPP=C:DJGPPDJGPP.ENV
autoexec.bat に追加し、コマンド ライン経由でプロジェクト ルートでrhide
を実行するだけです。 Alt+C
使用してCompile
メニューをアクティブにし、依存関係ビルドの場合はMake
を選択し、クリーン ビルドの場合はBuild all
。
次のコマンドが機能して DJGPP GCC バージョンを出力するには、DJGPP ツールチェーンのbin
フォルダーが$PATH
にある必要があります。
i586-pc-msdosdjgpp-gcc --version
これが機能する場合、プロジェクトのビルドは次のように簡単になります。
make
マルチコア CPU を搭載した最新のマシンを使用しているため、より高速な並列ビルドを実行します。たとえば、クアッドコア CPU の場合は、8 つの並列プロセスを使用してビルドを高速化します。
make -j8
ビルドが完了すると、 output
というフォルダー、つまりoutput/sbemu.exe
にビルド結果が表示されます。
DOS での CD オーディオのサポートには、次の 2 つの部分が必要です。
MSCDEX
(またはSHSUCDX
) によるオーディオ制御 (再生/一時停止/シーク/...)パート 1 では、アナログ オーディオ出力を備えた CD-ROM ドライブと MSCDEX 互換の CD-ROM ドライバがセットアップされている必要があります。
パート 2 (ボリューム制御) は、起動時に SBEMU によって処理されます。
CD オーディオの音量を調整するには (デフォルトでは 100% の音量です)、SBEMU が CD オーディオ ミキサー設定をエミュレートして転送するため、「SBMIX」などの Sound Blaster 互換プログラムを使用できます。
実際に何かを聞くには、CD-ROM ドライブからサウンドカード (またはオンボード サウンドのマザーボード) の 4 ピン CD-IN ヘッダーにアナログ オーディオ ケーブルを接続する必要があることを忘れないでください。
デバッグ メッセージをコンソールではなくシリアル ポートに出力するように SBEMU を設定できます。これはゲームが全画面表示のときにバックグラウンドでも動作するため、デバッグに非常に役立ちます。
デバッグ出力を使用して SBEMU をビルドするには、次を使用します。
make DEBUG=1
次に、次のコマンドを使用して SBEMU を起動し、COM1 でデバッグ出力 (9600、8N1) を実行します (COM2 には/DBG2
使用します)。
sbemu /DBG1
実行時にシリアル ポートのデバッグ出力を無効にするには、次を使用します。
sbemu /DBG0
シリアル デバッグ出力はデフォルトでは無効になっています。