今年(2022)決定把小屋的文章都修正一遍。
--------------------------------------------------------------------------------------
在裝了 VirtualBox Win98 然後沒能得到滿足之餘,依然是閒的有夠慌,就決定繼續往更古老的地方挖……裝起了古早的 MS-DOS 6.22 ……
首先是安裝……
下載來源:https://winworldpc.com/product/ms-dos/622
我下載的是 Microsoft MS-DOS 6.22 Plus Enhanced Tools (3.5-1.44mb)
以及最終的版本 Microsoft MS-DOS 6.22 (6.22.2220) (1994-05-09) Upgrade (3.5-1.44mb)
安裝過程很簡單,只要換幾次磁碟檔就可以了
然後是升級到最終版。因為這個是升級用,不能直接安裝,所以先裝好 6.22 開機,然後掛上升級版磁片,再轉到 A: 磁碟執行 setup.exe 程式。
這過程中會要求你切換一張 UNINSTALL 磁片。這在現再來說很簡單,只要在外頭主機複製一份磁片檔案,再置入就行了,反正以後也不會用到。我是把它改名為 null.img 。
然後就是不斷切換磁片檔……
一切順利的話,看到的版本應該是 6.22.2220 ,至於舊的 OLD_DOS.1 目錄可以砍了。
……然後麻煩的事情現在才要開始……
要玩 DOS 遊戲,大概有這幾個問題:
1、聲音
可以參考這兩篇文章
INSTALL & CONFIGURE MS-DOS 6.22 & WINDOWS 3.1 USING ORACLE VIRTUALBOX
Install MS-DOS 6.22 in a Virtual Machine for Fun and Profit
這兩篇的連結是一樣的,只是後面那篇比較簡化,只有 DOS 的部分。
dos-soundblaster16_driver
這是磁片檔,只要置入磁片之後執行安裝程式 install.exe 就可以了。
2022 編修:第二篇連結失效,所以劃掉了,改用第一篇裡面的吧……
ET4000 SVGA video driver Download
SoundBlaster 16 sound driver Download
2、滑鼠
滑鼠的驅動程式,在 DOS Update 裡面的第二片磁片裡面就有。不過似乎不會主動安裝?所以要手動解壓縮,置入第二片磁片,然後在命令列執行:
C:\> expand a:mosue.co_ c:\dos\mosue.com
如果你想找其他版本的滑鼠,可以到 WinWorld 底下找
https://winworldpc.com/product/microsoft-mouse/1x
3、光碟
光碟驅動程式,在聲音部分的第二篇裡面有,不過這個程式占用比較多的記憶體,所以我另外找了一個版本。
http://manmrk.net/tutorials/DOS/cdrom.htm裡面的
Oak Technologies Universal IDE CD-ROM Driver
(註:這兩個是 http 連結,而非 https ……加個 s 它就讀不到了……連結是 .exe 檔,自己用下載程式抓,不要用瀏覽器點……)
這是壓縮檔,所以要怎麼複製到 DOS 機裡面呢?這就比較麻煩了……
簡單一點的說,就是先裝好一部 VirtualBox XP 的機器,然後將 DOS 機的硬碟掛上去。
因為 VirtualBox XP 跟主機的共享檔案做得比較好,而 VirtualBox DOS ……就算能做到大概也很麻煩,這樣轉移比較簡單。
只要複製 VIDE-CDD.SYS 到 DOS 目錄就可以了。
然後在 config.sys 裡面加上:
DEVICE=C:\DOS\VIDE-CDD.SYS /D:MSCD001
在 autoexec.bat 裡面加上:
C:\DOS\MSCDEX.EXE /D:MSCD001
就能夠開啟 CD-ROM 的支援。
4、記憶體
記憶體的調整,大概是 DOS 底下最麻煩的東東了……這裡就簡單寫一下我用的設定。
config.sys
--------------------------------------------------------------------------------------
[MENU]
MENUITEM=EMS_1 Use EMS
MENUITEM=XMS_1 Use XMS
MENUITEM=XMS_2 Use XMS & CD-ROM
MENUDEFAULT=EMS_1,7
[COMMON]
DEVICE=C:\DOS\SETVER.EXE
DEVICE=C:\DOS\HIMEM.SYS
[EMS_1]
DEVICE=C:\DOS\EMM386.EXE RAM 15360
[XMS_1]
DEVICE=C:\DOS\EMM386.EXE NOEMS
[XMS_2]
DEVICE=C:\DOS\EMM386.EXE NOEMS
DEVICEHIGH=C:\DOS\VIDE-CDD.SYS /D:MSCD001
[COMMON]
DEVICEHIGH=C:\SB16\DRV\CSP.SYS /UNIT=0 /BLASTER=A:220
DOS=HIGH,UMB
FILES=50
FCBS=40
BUFFERS=40,8
STACKS=9,512
SHELL=C:\DOS\COMMAND.COM C:\DOS\ /e:2048 /p
--------------------------------------------------------------------------------------
稍微說明一下,
部分的 Game 會用到 EMS ,而且開太大反而還會出問題,所以 VirtualBox 設定上雖然開到 32 MB ,但那一行我就只開到 15 MB 。(因為開到完整 16 MB 以上好像就會出問題?)
至於 FILES FCBS BUFFERS STACKS 這四個,就看情況再手動調整吧。有些遊戲要求的不同。
FILES=可以同時訪問的檔案數量
FCBS=可以同時開啟的檔案控製塊 (FCB) 數量
BUFFERS=磁碟緩衝區數量,從屬快取記憶體中的緩衝區數量
STACKS=堆疊數量,每個堆疊的大小
SHELL=指定 DOS 使用的命令列程式的名稱,可以使用其他的如 4DOS 等。
autoexec.bat
--------------------------------------------------------------------------------------
@ECHO OFF
PROMPT $p$g
PATH C:\DOS
SET TEMP=C:\TEMP
SET TMP=C:\TEMP
SET SOUND=C:\SB16
SET BLASTER=A220 I5 D1 H5 P330 T6
SET MIDI=SYNTH:1 MAP:E
C:\SB16\DIAGNOSE /S
C:\SB16\MIXERSET /P /Q
GOTO %CONFIG%
:EMS_1
GOTO END
:XMS_1
LH C:\DOS\SMARTDRV.EXE /X
GOTO END
:XMS_2
LH C:\DOS\SMARTDRV.EXE /X
LH C:\DOS\MSCDEX.EXE /D:MSCD001
:END
LH C:\DOS\MOUSE.COM
LH C:\DOS\DOSKEY.COM
--------------------------------------------------------------------------------------
稍微說明一下,
EMS 的設定,因為記憶體不足,所以沒有執行 SmartDRV.EXE ,這樣 EMS 可以有 596K ;
而 XMS 的那組有 613K ; CD-ROM 的那組有 596K ,應該都能適用大部分的程式了……
………………
…………
……
.
明天再來寫 VirtualBox DOS 跟 DOSBox 的比較……
--------------------------------------------------------------------------------------
在 03/12 寫完了 Win7 跟 WinXP 之後,回頭看看 DOS ,突然覺得好像少了什麼……
5、顯示卡
後來想想應該是少了顯示卡的部分。然後去找了找,
VirtualBox 用的是 VBE (VESA BIOS Extensions)標準,
所以既然 VirtualBox 不提供 DOS 的 VirtualBox Guest Additions ,就找相通的來試試看吧。
然後又去找了找,並逐一測試,最後發覺
只有 SciTech 所出的通用的顯示驅動 UniVBE5.1 能夠在 VirtualBox DOS 使用,
其他版本就算是較新的 UniVBE6.7 也……(關於 UniVBE 的說明)
註冊碼就在裝好的 univbe.exe 程式裡面,用位元碼編輯器像是 HxD 尋找 BADE 字串,
會發現有三組,可選用任一組註冊即可。(記得好像是: 1000-BADE9C00-00003 )
不過後來想想大部分的 DOS Game 其實並不需要顯示卡的驅動程式。
因為大部分早期的 DOS Game ,在需要 256 色的時候,都會選擇進入 VGA 13h 模式,因此並不需要。而後期開始會進入 SuperVGA 模式的遊戲,也會用它們編譯時自帶的驅動程式(也就是 DOS4GW ,例如模擬城市),所以也並不需要。
首先是安裝……
下載來源:https://winworldpc.com/product/ms-dos/622
我下載的是 Microsoft MS-DOS 6.22 Plus Enhanced Tools (3.5-1.44mb)
以及最終的版本 Microsoft MS-DOS 6.22 (6.22.2220) (1994-05-09) Upgrade (3.5-1.44mb)
安裝過程很簡單,只要換幾次磁碟檔就可以了
然後是升級到最終版。因為這個是升級用,不能直接安裝,所以先裝好 6.22 開機,然後掛上升級版磁片,再轉到 A: 磁碟執行 setup.exe 程式。
這過程中會要求你切換一張 UNINSTALL 磁片。這在現再來說很簡單,只要在外頭主機複製一份磁片檔案,再置入就行了,反正以後也不會用到。我是把它改名為 null.img 。
然後就是不斷切換磁片檔……
一切順利的話,看到的版本應該是 6.22.2220 ,至於舊的 OLD_DOS.1 目錄可以砍了。
……然後麻煩的事情現在才要開始……
要玩 DOS 遊戲,大概有這幾個問題:
1、聲音
可以參考這兩篇文章
INSTALL & CONFIGURE MS-DOS 6.22 & WINDOWS 3.1 USING ORACLE VIRTUALBOX
這兩篇的連結是一樣的,只是後面那篇比較簡化,只有 DOS 的部分。
dos-soundblaster16_driver
這是磁片檔,只要置入磁片之後執行安裝程式 install.exe 就可以了。
2022 編修:第二篇連結失效,所以劃掉了,改用第一篇裡面的吧……
ET4000 SVGA video driver Download
SoundBlaster 16 sound driver Download
2、滑鼠
滑鼠的驅動程式,在 DOS Update 裡面的第二片磁片裡面就有。不過似乎不會主動安裝?所以要手動解壓縮,置入第二片磁片,然後在命令列執行:
C:\> expand a:mosue.co_ c:\dos\mosue.com
如果你想找其他版本的滑鼠,可以到 WinWorld 底下找
https://winworldpc.com/product/microsoft-mouse/1x
3、光碟
光碟驅動程式,在聲音部分的第二篇裡面有,不過這個程式占用比較多的記憶體,所以我另外找了一個版本。
(註:這兩個是 http 連結,而非 https ……加個 s 它就讀不到了……連結是 .exe 檔,自己用下載程式抓,不要用瀏覽器點……)
這是壓縮檔,所以要怎麼複製到 DOS 機裡面呢?這就比較麻煩了……
簡單一點的說,就是先裝好一部 VirtualBox XP 的機器,然後將 DOS 機的硬碟掛上去。
因為 VirtualBox XP 跟主機的共享檔案做得比較好,而 VirtualBox DOS ……就算能做到大概也很麻煩,這樣轉移比較簡單。
只要複製 VIDE-CDD.SYS 到 DOS 目錄就可以了。
然後在 config.sys 裡面加上:
DEVICE=C:\DOS\VIDE-CDD.SYS /D:MSCD001
在 autoexec.bat 裡面加上:
C:\DOS\MSCDEX.EXE /D:MSCD001
就能夠開啟 CD-ROM 的支援。
4、記憶體
記憶體的調整,大概是 DOS 底下最麻煩的東東了……這裡就簡單寫一下我用的設定。
config.sys
--------------------------------------------------------------------------------------
[MENU]
MENUITEM=EMS_1 Use EMS
MENUITEM=XMS_1 Use XMS
MENUITEM=XMS_2 Use XMS & CD-ROM
MENUDEFAULT=EMS_1,7
[COMMON]
DEVICE=C:\DOS\SETVER.EXE
DEVICE=C:\DOS\HIMEM.SYS
[EMS_1]
DEVICE=C:\DOS\EMM386.EXE RAM 15360
[XMS_1]
DEVICE=C:\DOS\EMM386.EXE NOEMS
[XMS_2]
DEVICE=C:\DOS\EMM386.EXE NOEMS
DEVICEHIGH=C:\DOS\VIDE-CDD.SYS /D:MSCD001
[COMMON]
DEVICEHIGH=C:\SB16\DRV\CSP.SYS /UNIT=0 /BLASTER=A:220
DOS=HIGH,UMB
FILES=50
FCBS=40
BUFFERS=40,8
STACKS=9,512
SHELL=C:\DOS\COMMAND.COM C:\DOS\ /e:2048 /p
--------------------------------------------------------------------------------------
稍微說明一下,
部分的 Game 會用到 EMS ,而且開太大反而還會出問題,所以 VirtualBox 設定上雖然開到 32 MB ,但那一行我就只開到 15 MB 。(因為開到完整 16 MB 以上好像就會出問題?)
至於 FILES FCBS BUFFERS STACKS 這四個,就看情況再手動調整吧。有些遊戲要求的不同。
FILES=可以同時訪問的檔案數量
FCBS=可以同時開啟的檔案控製塊 (FCB) 數量
BUFFERS=磁碟緩衝區數量,從屬快取記憶體中的緩衝區數量
STACKS=堆疊數量,每個堆疊的大小
SHELL=指定 DOS 使用的命令列程式的名稱,可以使用其他的如 4DOS 等。
autoexec.bat
--------------------------------------------------------------------------------------
@ECHO OFF
PROMPT $p$g
PATH C:\DOS
SET TEMP=C:\TEMP
SET TMP=C:\TEMP
SET SOUND=C:\SB16
SET BLASTER=A220 I5 D1 H5 P330 T6
SET MIDI=SYNTH:1 MAP:E
C:\SB16\DIAGNOSE /S
C:\SB16\MIXERSET /P /Q
GOTO %CONFIG%
:EMS_1
GOTO END
:XMS_1
LH C:\DOS\SMARTDRV.EXE /X
GOTO END
:XMS_2
LH C:\DOS\SMARTDRV.EXE /X
LH C:\DOS\MSCDEX.EXE /D:MSCD001
:END
LH C:\DOS\MOUSE.COM
LH C:\DOS\DOSKEY.COM
--------------------------------------------------------------------------------------
稍微說明一下,
EMS 的設定,因為記憶體不足,所以沒有執行 SmartDRV.EXE ,這樣 EMS 可以有 596K ;
而 XMS 的那組有 613K ; CD-ROM 的那組有 596K ,應該都能適用大部分的程式了……
………………
…………
……
.
明天再來寫 VirtualBox DOS 跟 DOSBox 的比較……
--------------------------------------------------------------------------------------
在 03/12 寫完了 Win7 跟 WinXP 之後,回頭看看 DOS ,突然覺得好像少了什麼……
5、顯示卡
後來想想應該是少了顯示卡的部分。然後去找了找,
VirtualBox 用的是 VBE (VESA BIOS Extensions)標準,
所以既然 VirtualBox 不提供 DOS 的 VirtualBox Guest Additions ,就找相通的來試試看吧。
然後又去找了找,並逐一測試,最後發覺
只有 SciTech 所出的通用的顯示驅動 UniVBE5.1 能夠在 VirtualBox DOS 使用,
其他版本就算是較新的 UniVBE6.7 也……(關於 UniVBE 的說明)
註冊碼就在裝好的 univbe.exe 程式裡面,用位元碼編輯器像是 HxD 尋找 BADE 字串,
會發現有三組,可選用任一組註冊即可。(
不過後來想想大部分的 DOS Game 其實並不需要顯示卡的驅動程式。
因為大部分早期的 DOS Game ,在需要 256 色的時候,都會選擇進入 VGA 13h 模式,因此並不需要。而後期開始會進入 SuperVGA 模式的遊戲,也會用它們編譯時自帶的驅動程式(也就是 DOS4GW ,例如模擬城市),所以也並不需要。