1764728479
2025-12-02 23:19:00
また、DOOM にはサウンド ハードウェアと直接通信する特定のハードコーディングされたサウンド ドライバーがあることも、ここにいるほとんどの人にとっては何のニュースでもないでしょう。
現在、多くの PC には DOOM 専用の (ましてやサポートされている) サウンド カードがありませんでした。見落としがちなのが、DOOM に付属している PC スピーカー ドライバーです。ほとんどの場合、効果音しか再生できないためです(そして、再生能力も非常に悪いです)。多くの場合、使用されずに無効になってしまいます。
長い間、PC スピーカー ドライバーは、ゲーム ロジックの実行中にリアルタイムでインターフェイスを駆動するにはリソースを大量に消費するため、オーディオをサポートしていないと推測されてきました。さて、286 であれば、この推論は完全に理解できますが、486 と同じくらい高速なプロセッサではどうなるでしょうか?それがうまくいかない可能性はありません!
紹介: PC スピーカー sndserver パッチ!
「もし」という質問に答える唯一の方法は、試してみることだと決心しました。そして私がやったことを試してみてください:
https://youtu.be/bRHyQPhA_9A
数週間前、私は 32 ビット システムで PC スピーカーの曲を効率的に再生するためのファイル形式を作成しました。これには、データを input/misc/pcspkr デバイスの有効な呼び出しに変換するために必要な整数演算がわずか数回だけ必要です。呼び出されるフォーマット PCSP そして次のように動作します。
ソングは 32 ビットのトーン セルの配列で構成されます。
– 16 ビットの周波数値 (Hz)
– 4 ビット持続時間スケール (秒 * 10^ スケール)
– 12 ビットの持続時間の値
さて、PC スピーカー ミュージックを DOOM で動作させるために本当にしなければならなかったのは、そのための優先ミキサーを sndserver に実装することだけでした。
既存の Adlib ターゲットにすでに存在していた基礎作業。
驚くべきことに、パッチを適用した場合と適用しない場合でゲームを実行しても、目立った速度の違いは見られませんでした。
このパッチは公開されるのでしょうか?はい、すぐに。
現在 E1M1 サウンドトラックしか実装していないため、まだ公開することに不安を感じており、機会があれば最新の Linux 上の sndserver に関する他のいくつかの問題も修正したいと考えています。
#DOOM #には #スピーカー #ミュージックがあったかもしれません