[黑客人生] DOSBox 補遺

速記幾個跟 DOSBox 有關,但是不容易找到正確步驟或資訊的說明,給有需要的人參考。

在 DOSBox 內執行某指令的時候,出現「no DPMI - Get csdpmi*b.zip」的錯誤訊息

看到這個訊息表示你要執行的東西用到保護模式(一般的程式用的是真實模式)。

解決辦法是到 http://djgpp.linux-mirror.org/v2misc/csdpmi*b.zip,解壓縮後把裡面所有的 .EXE 執行檔跟你要執行的東西相同的目錄即可。

另,網路上多數的文件會提到 csdpmi5b.zip,這是 2000 年的檔案,2010 年的時候有出新版的 csdpmi7b.zip,現在應該改用此版為佳。

遊戲中無法使用 Gravis UltraSound 音樂選項(設了沒用)

因為檔案授權方式的關係,所以 DOSBox 沒有附帶 Gravis UltraSound 相關的檔案,光有相關的選項可以設定,但是不會動是正常的。

解決辦法是到 The Gravis Ultrasound Archive 取得最後一版 (v4.11) 的安裝檔案及相關檔案,把 Gravis UltraSound 所需的軟體環境弄起來。詳細的安裝步驟可以參考「Install Gravis Ultrasound Properly, All files, No Errors (With Pictures!)」這篇的詳盡說明,或者你也可以很懶惰地直接拿這位 Huggybaby 處理好的 Gravis ULTRASND Files.rar(Mediafire 空間下載),此檔案解開來後會有兩個目錄,分別是 ULTRASND411 以及 ULTRASNDPPL161,前者是最後的原始版本,後者是最後的修改版本,音色有所不同,可以擇愛使用。

要注意的是 DOSBox 預設要把 Gravis UltraSound 的檔案掛載於 C:\ULTRASND 路徑,所以要嘛你得把檔案放到正確的地方去,要嘛就是記得去修改設定檔。

在 DOSBox 裡面,「\」、「=」、「`」等按鍵無效

如果是要在命令列中使用這些按鍵,通常不是大問題,因為了不起就是事先寫個批次檔;問題會在於「遊戲中」這些按鍵可能有特別的功能,那就麻煩了。

很不幸地,DOSBox 的 README 文件裡的資訊沒有什麼用處,而且雖然列為「已知的問題」,但是看起來近期內沒有什麼修好的可能性。更慘的是雖然每次開出 DOSBox 之後,都可以用內建的 Keymapper(按 Ctrl-F1 叫出)重新定義這些有問題的按鍵,但是儲存的時候 mapper.txt 會把這些按鍵通通列為「key 0」,結果下次執行 DOSBox 仍然無效,得要重新來過。

目前唯一稍有進展的解法是參考以下這兩篇的討論:

問題出在如果你的 Windows 使用 106/109 鍵鍵盤,就會載入 kbd106.dll,也就是日文鍵盤模式,然後就會發生這樣的症頭。

所以已知真正可行的解法是打開你的 Windows 裝置管理員,把所有的「鍵盤」的驅動程式通通換成 HID Keyboard Device,然後 DOSBox 應該就會正常了。

jedi.org: