> For the complete documentation index, see [llms.txt](https://knifour.gitbook.io/dos-program-saviour/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://knifour.gitbook.io/dos-program-saviour/chapter04.md).

# 環境設定

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

進入DOSBox以後，就是你所熟悉的DOS命令環境，DOSBox會有一個內定磁碟Z:，所以當你進入DOSBox以後看到的就是Z:\\>，在Z:\裡面有一些DOSBox的內部命令，在這裡我只會列出一些常用的指令及設定，完整的指令參考及設定請參考[DOSBox Manual](http://www.dosbox.com/DOSBoxManual.html)。

## 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

執行畫面如下 ![003](https://2074090133-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M4BjU3GIlHgMtcwnJ3k%2F-M4BjUTdqpbj9LsXUPgK%2F-M4BjV05-8TFs1se0BZ0%2F003.png?generation=1586130461658421\&alt=media)

下達以上兩個MOUNT指令以後，你的DOSBox就會多出C槽和D槽，C槽對應到Windows的C:\DOS，D槽對應到Windows的D:\COBOL，你可以打C:切換到C槽，再打DIR就可以看到原來你放在C:\DOS底下的東西，執行畫面如下 ![004](https://2074090133-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M4BjU3GIlHgMtcwnJ3k%2F-M4BjUTdqpbj9LsXUPgK%2F-M4BjV07xTXn-kzo3ibI%2F004.png?generation=1586130458681705\&alt=media)

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

## 設定PATH

你可以打入PATH指令看看原來的設定 ![005](https://2074090133-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M4BjU3GIlHgMtcwnJ3k%2F-M4BjUTdqpbj9LsXUPgK%2F-M4BjV09HexxHSnWZv9i%2F005.png?generation=1586130464636901\&alt=media)

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

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

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

## 倚天中文設定

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

倚天中文的設定程式是ETSETUP，當我下載好DOSBox-X並將所需的程式MOUNT好以後便迫不及待地執行ETSETUP，如以下畫面 ![006](https://2074090133-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M4BjU3GIlHgMtcwnJ3k%2F-M4BjUTdqpbj9LsXUPgK%2F-M4BjV0BCjYS5FLf_bZi%2F006.png?generation=1586130465570667\&alt=media)

執行ETSETUP後看到的畫面如下 ![007](https://2074090133-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M4BjU3GIlHgMtcwnJ3k%2F-M4BjUTdqpbj9LsXUPgK%2F-M4BjV0DpdDWXu58Jee7%2F007.png?generation=1586130462603941\&alt=media)

到以上畫面都還正常，當我按\[ENTER]鍵以後，看到的畫面如下 ![008](https://2074090133-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M4BjU3GIlHgMtcwnJ3k%2F-M4BjUTdqpbj9LsXUPgK%2F-M4BjV0FdF3HePkIc1Dr%2F008.png?generation=1586130463587243\&alt=media)

你沒看錯，我也沒有錯置畫面，當我按\[ENTER]鍵以後真的就只看到這個黑畫面，第一個感覺是失望，心想連DOSBox-X也無法執行倚天中文，看來是沒有希望在64 bits的Windows環境執行倚天中文了，失望之餘，心想先試看看可否直接執行倚天中文程式(先不要設定倚天中文)，倚天中文的主程式是ET16V-16，執行以後終於看到以下熟悉的畫面(太感動了!) ![009](https://2074090133-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M4BjU3GIlHgMtcwnJ3k%2F-M4BjUTdqpbj9LsXUPgK%2F-M4BjV0HxStGF4vH5swx%2F009.png?generation=1586130459579049\&alt=media)

這個時候你就可以正常執行ETSETUP了，執行的畫面如下 ![010](https://2074090133-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M4BjU3GIlHgMtcwnJ3k%2F-M4BjUTdqpbj9LsXUPgK%2F-M4BjV0JUOb5MWMY5AYr%2F010.png?generation=1586130460622524\&alt=media)

設定好倚天中文環境以後，以後只要打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的年代(包括使用模擬器)我個人就一直使用[漢書](http://www.stone.com.tw/)來當作我的列印工具，我習慣在執行我的商業應用程式之前加一個指令：

SET LPT1=檔名

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

註：[漢書](http://www.stone.com.tw/)在DOS時代因為太好用了，以至於大部分的人都使用盜版的，如果現在你還用得到的話，建議大家到官網去訂購原版的來用吧！
