2017年9月15日 星期五

整合 MT-32 摹擬音源的 dosbox-patched

dosbox 對於許多老玩家並不陌生
提供了簡單的方式讓使用者能執行 DOS, Win 3.1/9x 的程式

相信多數用途是用來懷舊喜愛的遊戲
而音樂在遊戲中扮演相當重要的角色
在沒有強力計算與空間存放來支援 MP3/AAC 等 HQ 音樂
除了 sample rate 不高的 PCM 播放外
另外而靠的就是 MIDI (General MIDI 或是著名的音源器)
能透過少少的資料得到很棒的音樂輸出
(小時候不能理解同個遊戲在店家聽到的音樂跟我在家玩時怎麼差這麼多)

dosbox 本身並不俱備 MIDI 裝置的摹擬 (qemu, vbox 亦是)
加上現有的音效裝置多半移除了 MIDI 的硬體支援
(回到 20 年前, 內建高容量 WaveTable 的 SB AWE 可是一大訴求)
所以 dosbox 0.74 在 Linux 上想要聽美妙的 MIDI 音樂是很困難的
( Windows 上雖然輸出不佳, 但是 XP 以後至少內建了軟體 MIDI 音源)
通常 Linux 上的方案是設定 FluidSynth, Timidity 或是 Munt
千辛萬苦設定完之後, 會發現音樂播放中的切換可能造成沒有結尾的尾音
結果只能望遊戲而興嘆 (eg: 波斯王子1/2, A列車3/4, 三國志, Raptor, SimCity 2000 ...)

最近發現非官方版的 dosbox-patched ubuntu ppa
除了 code base 使用 SVN 上功能增加許多的新版外 (0.74 已經發佈多年)
最令人雀躍不已的就是直接整合了 MT32 的摹擬
(需要 Roland MT-32 ROM file, 不難找到)
維護者也很有心提供了相當多 ubuntu 版本的套件
著實方便了眾多老遊戲玩家

沒有留言:

在 ARM 平台上使用 Function Multi-Versioning (FMV) - 以使用 Android NDK 為例

Function Multi-Versioning (FMV) 過往的 CPU 發展歷程中, x86 平台由於因應各種應用需求的提出, 而陸陸續續加入了不同的指令集, 此外也可能因為針對市場做等級區隔, 支援的數量與種類也不等. 在 Linux 平台上這些 CPU 資訊可以透過...