隨著時代的變遷,科技愈來愈進步,傳統的DOS遊戲幾乎絕版,退下潮流。但是人總要慎終追遠,偶爾回味一下古早的DOS遊戲也是很不錯的。可是……目前常用的作業系統,已經不支援DOS模式了,根本就無法運行這些DOS遊戲。要如何解決這些問題呢?用虛擬機器回到過去Windows 95、Windows 98的時代?不用!只要有了DOSBox,就能讓您在Linux、Windows、macOS等非Windows 95、Windows 98的作業系統正常執行DOS了!



DOSBox官方網站:

取得DOSBox

從DOSBox官方網站上即可下載到不同作業系統的DOSBox程式。

如果是使用Debian或是其衍生的Linux發行版,可以使用以下指令來安裝DOSBox:

sudo apt install dosbox

如果是使用紅帽系的Linux發行版,可以使用以下指令來安裝DOSBox:

sudo dnf install dosbox

用DOSBox執行DOS遊戲的方法

對於沒有用過DOS作業系統的人來說,剛執行DOSBox時就會看到如下的畫面,而一臉疑惑。

dosbox

Z:這個磁碟機是DOSBox模擬出來的DOS系統用的磁碟機,如果我們想要在DOSBox的模擬環境下去存取外面真實環境下的檔案,就必須要使用Z:\底下的mount指令工具來「掛載」目錄。

mount指令工具的基本用法如下:

mount 磁碟機代號 目錄路徑

在這裡我們以執行DOS遊戲「軒轅劍」來舉例好了,該遊戲目錄位於~/App/SWD2,所以我們可以在DOSBox中輸入以下指令,將~/App/SWD目錄掛載成DOSBox中的C:磁碟機。

mount c ~/App/SWD

dosbox

接著就可以再輸入以下指令來將目前DOSBox的工作目錄轉移到C:磁碟機底下:

c:

dosbox

然後我們就可以開始用DOSBox存取~/App/SWD2目錄底下的檔案了。為了要運行「軒轅劍」,可以輸入play來執行~/App/SWD2/play這個檔案。

dosbox

dosbox

其它的DOS遊戲的執行方式也都大同小異。

dosbox

dosbox

上面幾張遊戲畫面出自於「軒轅劍黃金紀念版」,可以按此下載

DOSBox的常用快速鍵

CPU效能

DOSBox預設模擬出的CPU效能是3000(cycles),可能會使DOS程式運行起來有點頓頓的。如果要加速的話可以按下Ctrl + F12來提高CPU cycles。大概調整到20000左右就差不多了,太高的話會出現其它問題。

dosbox

如果要降低CPU cycles,可以按下快速鍵Ctrl + F11

全螢幕切換

按下快速鍵Alt + Enter,可以在視窗和全螢幕模式之間進行切換。

關閉DOSBox

按下快速鍵Ctrl + F9,可以立即關閉DOSBox。

DOSBox的設定檔

DOSBox是有設定檔能調整的。在Linux作業系統下,設定檔會被放在家目錄內的.dosbox目錄中;在Windows作業系統下,DOSBox的設定檔可以直接透過開始功能表的DOSBox Options捷徑來開啟。

DOSBox的解析度

DOSBox的解析度可以透過設定檔來進行調整,先在設定檔中找到windowresolutionoutput設定項目。

dosbox

如果要固定DOSBox的解析度,可以將windowresolutionoutput設定項目用以下方式修改:

windowresolution=長x寬
output=openglnb

例如要將DOSBox的解析度設定為1280x720,可以這樣設定:

windowresolution=1280x720
output=openglnb

dosbox

如此一來DOSBox的畫面看起來就會比原先的大了。

dosbox

dosbox

CPU效能

DOSBox預設模擬出的CPU效能是3000(cycles),雖然可以用快速鍵來即時更改,但每次都要調整也是一件麻煩的事情。我們可以在DOSBox的設定檔中找到cycles設定項目來進行CPU cycles的更改。

dosbox

若要固定CPU cycles,設定方式如下:

cycles=fixed cycles數量

例如要將CPU cycles設定為20000,可以這樣設定:

cycles=fixed 20000

dosbox

聲音IRQ

如果我們在使用DOSBox運行DOS遊戲時遭遇聲音問題,可以嘗試修改聲音的IRQ。在DOSBox的設定檔中找到irq設定項目來進行IRQ的更改。

dosbox

預設的IRQ是7,我們可以依序改成5, 3, 9, 10, 11, 12來試試。一般的正確值不是7就是5

dosbox

影片實錄

以下影片演示了用DOSBox運行「軒轅劍貳」的過程。