環境設定

DOSBox-X與DOSBox的設定方法並沒有甚麼不同,所以以下的文章除非必要,不然我不會刻意強調是在DOSBox或是在DOSBox-X裡面

進入DOSBox以後,就是你所熟悉的DOS命令環境,DOSBox會有一個內定磁碟Z:,所以當你進入DOSBox以後看到的就是Z:\>,在Z:\裡面有一些DOSBox的內部命令,在這裡我只會列出一些常用的指令及設定,完整的指令參考及設定請參考DOSBox Manual

MOUNT指令

這個指令是DOSBox裡面最重要的指令,當你進入DOSBox以後,它會是一個Windows的視窗,視窗裡面是你熟悉的DOS環境,有一個預設磁碟Z:,除此之外,甚麼都沒有。

要怎麼讓你的舊DOS商業應用程式與DOSBox產生連結呢?答案就是MOUNT指令,MOUNT的指令格式如下

MOUNT 磁碟機代號 資料夾路徑

舉例來說,當你在以前的DOS環境,應該會有一堆常用的程式,如ET3、COBOL等執行程式,這些我習慣上會把它放在C槽裡面,真正的商業應用程式(資料庫程式)我會把它放在D槽裡面(這個沒有為什麼,純屬個人習慣,你要把所有東西都放在同一個磁碟槽裡面也可以),所以我會在Windows環境的C:\底下建立一個資料夾叫做DOS,我會把ET3、RM85、RMC85等資料夾的內容拷貝進去DOS資料夾裡面(不用管RM85、RMC85裡面有甚麼,因為這是執行COBOL程式要用到的程式,如果你用其他資料庫請自行準備該資料庫會用的的程式),然後我會在Windows環境的D:\底下建立一個資料夾叫做COBOL(我會用這個資料夾名稱,是因為我的程式都是用COBOL寫的,如果你用其他的資料庫,請使用自己習慣的資料夾名稱),然後把我原來的商業應用程式拷貝進去COBOL資料夾裡面。

版權聲明:倚天中文版權屬於倚天資訊股份有限公司所有,如果你沒有原版的倚天中文,可以與他們聯絡取得授權,避免侵權,以下所有與倚天中文有關的畫面,其版權為倚天資訊股份有限公司所有

要下達MOUNT指令之前,先回顧一下我們之前準備好的東西 1. C:\DOS 之下放有倚天中文及要執行資料庫的應用程式 2. D:\COBOL 之下放有商業應用程式 習慣上,我會把一般程式放在C槽,商業應用程式放在D槽,所以我會下達兩個MOUNT指令(無論指令或參數都沒有大小寫的差別)

MOUNT C C:\DOS

MOUNT D D:\COBOL

如上圖所示,你會看到我COPY進入C:\DOS資料夾的東西,另外一個是我額外建立的BAT資料夾,這個資料夾是用來存放批次處理程式的資料夾

設定PATH

如上圖所示,原來的PATH設定只有Z:\而已,主要就是讓你隨時可以執行DOSBox提供的內部指令,為了在DOSBox裡面方便的執行你自己的程式,所以一定要修改PATH的路徑,以我的例子而已,我的PATH會這樣設定

PATH C:\BAT;C:\ET3;C:\RM85;C:\RMC85;Z:\;

以上的指令懂DOS的人一定看得懂,我就不多做解釋了,重要的是原來的Z:\一定要加入PATH的路徑設定裡面,不然你會無法隨意執行DOSBox的內部命令。

倚天中文設定

原始版本的DOSBox無法正常執行倚天中文,一定要使用DOSBox-X才可以正常執行倚天中文

設定好倚天中文環境以後,以後只要打ET3就可以執行倚天中文了(還記得前面有特別把ET3的資料夾加入PATH環境設定嗎?這樣你才能夠隨時打ET3這個指令執行倚天中文),設定倚天中文時記得改掉以下設定

  • W).印表機型態設定 (這裡改成不使用)

  • Z).字形及其他驅動程式設定 (進入這個選項以後選"平滑字型驅動程式",並取消這個驅動程式載入)

因為以上兩個選項都和列印有關,到目前為止,DOSBox還是無法處理倚天中文直接列印的問題,載入這兩個驅動程式只是浪費記憶體而已,依照我的設定在執行倚天中文之後大概還有560KB的記憶體供你的商業應用程式使用(不要小看這個560KB的記憶體空間,在那個記憶體被限制在640KB的DOS年代,執行倚天中文以後還有560KB的空間,簡直可以讓你感動的流下眼淚)。

網路

如果你的系統是多人使用環境該怎麼處理呢?DOSBox雖然有提供網路連線的能力,但是我並沒有特別去研究,在我舊DOS程式的年代,最常見的網路系統是Novell的Netware(我當時使用的是3.12版),現在真的很少人使用Netware了,而且因為年代久遠也完全忘記要如何設定了,但是我相信還是會有人需要用到網路,這時該如何處理?

在還沒有發現DOSBox-X以前,我使用VMware或是VirtualBox等模擬器模擬Windows 98環境,利用Windows的連線網路磁碟機功能連線到檔案伺服器,然後再進入ET2000環境執行原來的DOS商業應用程式,我已經這樣用了十幾年了,這樣做也沒有甚麼不好,主要的缺點有:1.進入系統較慢。2.執行速度很慢,即使我使用Intel i7處理器,在模擬器裡面的DOS程式還是像烏龜一樣慢。3.進入ET2000以後所剩記憶體只有480KB左右,使我的程式很容易因為記憶體不足跳出來。

如果你在DOSBox環境需要使用到網路,你不需要使用DOS的網路連線程式,因為DOS的網路連線程式都非常老舊,你不一定找得到,即使找得到,使用DOS網路連線程式也會佔用掉大約80KB的記憶體,在DOS環境下,80KB的記憶體真的非常珍貴,最好的方式就是因為你的DOSBox是在Windows 7, 8, 10的64 bits環境底下執行的,你可以使用Windows的連線網路磁碟機功能連線到檔案伺服器,然後在DOSBox裡面用MOUNT指令把這個網路磁碟機MOUNT成DOSBox裡面的一個磁碟機就可以間接連線到檔案伺服器了。

列印

列印是一個頭痛的問題,DOSBox可以設定攔截LPT1, LPT2的輸出資料轉給Windows印表機輸出,我測試的結果是可以攔截輸出到任何一個Windows印表機(包括虛擬的PDF Creator),但是無法輸出中文。

從Windows 98的年代(包括使用模擬器)我個人就一直使用漢書來當作我的列印工具,我習慣在執行我的商業應用程式之前加一個指令:

SET LPT1=檔名

如果你的程式原來是輸出到第二台印表機則需要把LPT1改成LPT2,這樣我的程式執行列印工作時會把所有的列印工作存成一個文字檔,檔名就是你在使用SET指令時設定的檔名,我會使用漢書打開這個檔案再列印

註:漢書在DOS時代因為太好用了,以至於大部分的人都使用盜版的,如果現在你還用得到的話,建議大家到官網去訂購原版的來用吧!

Last updated