使用 86ComSh

本文將介紹如何以 86ComSh 來開啟 FreeDOS 的主機畫面重定向(Console Redirection)功能。

一、86ComSh 介紹

在 DuinOS 上啟動 FreeDOS 的 Console Redirection 功能可透過 86ComSh 加上 MODE 與 CTTY 實現。86ComSh 是一個使用 86Duino DOS SDK 寫成的程式,執行檔放在 TOOLS 目錄下,原始碼則放在 TOOLS\SRC\86ComSh 目錄(在原始碼目錄下 make 指令,可直接編譯出 86UsbSh 執行檔)。MODE 是 FreeDOS 的外部指令,用來設定裝置的狀態。CTTY 是 FreeDOS 的內部指令,用來指定作為標準輸出/輸入的裝置。

86ComSh 需要一個參數,用來指定開啟的序列埠,例如當參數為 1,表示要 86ComSh 開啟 86Duino 的 Serial1(COM1),其它序列埠以此類推。開啟序列埠後,即可使用 MODE 及 CTTY 指令設置 FreeDOS 的 Console Redirection 功能(MODE 及 CTTY 用法請自行參閱 FreeDOS 官方文件)。DuinOS 內建一個 86ComSh.BAT 檔,已包含所有設定 Console Redirection 的步驟。

FreeDOS 的 Console Redirection 有一些使用限制,例如無法執行圖形化的程式(像是大部份 DOS 遊戲)。另外,應避免執行到與 Console Redirection 使用相同序列埠的 DOS 程式,以免造成衝突,產生無法預期的執行結果。

二、在開機時啟用 Console Redirection

使用者可修改 AUTOEXEC.BAT 在開機時啟用 Console Redirection,步驟如下。

把包含 DuinOS 的 SD 卡插入電腦:

sd_reader

開啟 SD 卡中的 AUTOEXEC.BAT 檔進行編輯:

sd_reader

找到 CALL TOOLS\86UsbSh.BAT 並在其開頭加上 REM 關閉 86UsbSh:

sd_reader

找到 CALL TOOLS\86ComSh.BAT,並刪掉其開頭的 REM,讓這行指令開機時被執行:

sd_reader

86ComSh.BAT 後面接的兩個參數是用來指定 Console Redirection 使用的序列埠及鮑率。第一個參數是序列埠編號,上例中的 “1” 代表使用 COM1;第二個參數是鮑率,上例中的 “1152” 代表使用 115200 bps 鮑率。舉例來說,如果希望改以 COM2 及 9600 bps 鮑率進行 Console Redirection,則將上例中的 CALL TOOLS\86ComSh.BAT 1 1152 改成 CALL TOOLS\86ComSh.BAT 2 96 即可。

AUTOEXEC.BAT 修改完畢後,存檔並取出 SD 卡。

三、Console Redirection 使用方式

以下假設您以 COM1 及 115200 bps 鮑率進行 Console Redirection,來說明 Console Redirection 的使用方式。

您需準備一條 USB-to-UART (TTL) 轉接線來連接電腦與 86Duino:

sd_reader

把 USB-to-UART (TTL) 轉接線的 RX 接到 86Duino 的 COM1 的 TX 腳,USB-to-UART (TTL) 轉接線的 TX 接到 86Duino 的 COM1 的 RX 腳,GND 接到 86Duino 的任意 GND 腳,即完成連接:

sd_reader

sd_reader

接著把 USB-to-UART (TTL) 轉接線的 USB 端插上電腦:

sd_reader

sd_reader

假設您的電腦已安裝好此 USB-to-UART (TTL) 轉接線的驅動程式,您應可從裝置管理員中的 “連接埠(COM 與 LPT)” 看到此 USB-to-UART (TTL) 轉接線的序列埠名稱,本例為 COM11:

sd_reader

開啟串列埠連線軟體接收由 86Duino 傳來的 Console Redirection 畫面。下面我們以 PuTTY 做為本例的串列埠連線軟體。

開啟 PuTTY,Connection type 選擇 “Serial”,Serial line 填入序列埠名稱(本例為 COM11),Speed 填入與 Console Redirection 一致的鮑率(本例為 115200),填完後按下 Open 按鈕:

sd_reader

按下 Open 後您會在 PuTTY 視窗內看到一行 C:\,此即是由 86Duino 傳來的 DOS 畫面,此時您便可鍵入任何 DOS 命列進行操作(例如 dir):

sd_reader

您可在 PuTTY 視窗內看到 DOS 命令的執行結果:

sd_reader


黑客天地主頁面

The text of the 86Duino reference is licensed under a Creative Commons Attribution-ShareAlike 3.0 License.