DOSBox
此條目可參照英語維基百科相應條目來擴充。 (2020年8月15日) |
DOSBox是一款自由開源的模擬器,用於執行適用於MS-DOS相容作業系統的軟體(主要是電子遊戲)。它的最初版本於2002年發布。
![]() | |
![]() 執行在Windows Vista下的DOSBox | |
原作者 | Peter Veenstra, Sjoerd van der Berg, wd, h-a-l-9000 |
---|---|
開發者 | DOSBox團隊 |
首次發布 | 2002年7月22日[1][2] |
目前版本 |
|
原始碼庫 | |
程式語言 | C, C++ |
作業系統 | AROS, AmigaOS 4, Amiga, Android, BeOS, FreeBSD, GNU/Linux, Mac OS X, MorphOS, OS/2, RISC OS, Solaris 10, Windows |
語言 | 英文(但支援替用鍵盤) |
類型 | 模擬器 |
許可協定 | GNU通用公眾授權條款 |
網站 | www |
DOSBox支援許多IBM PC相容的顯示卡和音效卡,為原生的DOS程式提供執行環境,使這些程式可以正常執行於大多數現代電腦上的不同作業系統。DOSBox主要以C++編寫,是以GNU通用公眾授權條款許可發布的自由軟體。
DOSBox所執行的MS-DOS軟體通常不能在現代電腦上直接執行,它們通常與現代的主流硬體和作業系統不相容。DOSBox在模擬MS-DOS同時,還增加了一些可用特性,包括虛擬磁碟、對等網路、對模擬畫面截圖和錄影。有些非官方的DOSBox變體,如DOSBox SVN Daum和DOSBox-X提供了更多的功能,比如即時存檔、長檔名、中日韓語言支援等[4]。有些遊戲開發商重新發行早期的DOS遊戲時,也會使用DOSBox,使其可以在現代電腦上執行。
開發背景
編輯在Windows NT 3.1之前,面向消費者的Windows版本基於MS-DOS執行。Windows 3.x直接執行在MS-DOS之上,而Windows 9x系列系統也基於MS-DOS[5]。在這些版本的Windows中,DOS應用程式可以直接執行。然而,Windows NT系列作業系統並非基於DOS。該系列的其中一個成員Windows XP於2001年10月25日首次亮相,成為了首個面向消費者的不使用DOS的Windows版本。儘管Windows XP可以通過命令提示符程式模擬DOS,但它無法執行許多DOS應用程式。這是因為這些程式只能在真實模式下執行並直接訪問電腦的硬體,但Windows XP的保護模式出於安全考慮阻止了這樣的直接訪問[6][7]。MS-DOS的支援已於2001年底結束[8],並且對最後一個基於DOS的Windows系統的支援也將於2006年7月11日結束[9]。
DOSBox的開發始於Windows 2000的發布。Windows 2000是一個Windows NT系列的作業系統[10],當時DOSBox的兩位創始人[11]彼得·文斯特拉(荷蘭語:Peter Veenstra)和舍爾德·范德伯格(荷蘭語:Sjoerd van der Berg)發現Windows 2000已經放棄了對大部分DOS軟體的支援。兩人當時就已想到這一問題的解決方法。該專案最初上傳到了SourceForge並於2002年7月22日首先發布beta測試。
特性
編輯DOSBox是一個命令列程式,有兩種設定方式,一是直接在命令列下輸入設定參數,或是編輯組態文字檔更改系統設定。為了使用方便,使用者社群也開發出一些圖像化的前端介面[12]。
- DOSBox是一個完整的電腦的模擬,並不只是一個相容層,如DOSEMU,也不依賴386處理器虛擬化能力的Windows與OS/2 VDM作業系統,不需要x86中央處理器或者任何DOS版本以執行,並且能執行真實模式與保護模式的程式。
- 動態CPU核心:具備i386指令集合的系統,能利用動態指令轉換。此模式比解譯指令的模式要快,但是不完全準確。
- 圖形模擬:除文字模式外,還支援Hercules,CGA,Tandy,EGA,VGA,VESA圖形模式,與完整的S3 Trio 64顯示卡模擬。
- 音訊模擬:支援對AdLib,Gravis Ultrasound,PC speaker,Tandy,Creative Music System/GameBlaster,Sound Blaster 1.x/2.0/Pro/16,MPU-401,與Disney Sound Source的模擬。
- 網路模擬:數據機模擬與IPX以TCP/IP和UDP/IP,允許使用現代網路,玩DOS網路遊戲。Win32和Linux下支援直接讀寫序列埠。
- 外殼:包含一個內嵌DOS命令直譯器。支援大多安裝批次檔使用的指令,但不支援許多晚期MS-DOS版本的進階指令。
問題
編輯DOSBox跟大多的模擬器一樣需要比原電腦系統更強大的處理能力,尤其是處理器的運算能力。使用者需要根據模擬系統執行的程式需要決定給予必要的計算能力。使用DOS/4GW等開放原始碼的保護模式擴充程式DOS32a(頁面存檔備份,存於網際網路檔案館)有時能減小問題。但是,因為該模擬器使用虛擬化方式,保護模式下的DOS程式,包括大多1995年之後的遊戲,可能不如在VMware或者Virtual PC執行上有效。
DOSBox與中文系統的配合存在一些問題,早期的0.58版本支援倚天、國喬等DOS中文系統,但之後的版本卻出現花屏亂碼的情況。不過DOSBox-X分支為了解決中文支援問題在簡體和繁體中文頁碼下內建中文功能,包括支援中文路徑、中文顯示、中文輸入、中文列印等,可以直接執行中文DOS程式而不一定要載入外掛中文系統。
DOSBox似乎不支援在程式運行期間對軟碟映像檔進行替換,這在某些以多個軟碟映像檔形式存在的安裝程式中會構成問題。
前端
編輯DOSBox的組態儲存為純文字文件。不熟悉此組態法的使用者可以利用圖形介面的前端。前端也有別的好處,例如遊戲收集排序功能。
參考文獻
編輯- ^ Project of the Month, May 2009. SourceForge. [2013-01-17]. (原始內容存檔於2009-11-17).
- ^ Project of the Month, January 2013. SourceForge. [2013-01-17]. (原始內容存檔於2013-02-22).
- ^ DOSBox 0.74-3 has been released!. 2019年6月26日.
- ^ "SVN Builds". DOSBox. Retrieved 2012-01-08
- ^ DOSBox. Wikipedia. 2021-10-06 (英語).
- ^ Hoffman, Chris. PCs Before Windows: What Using MS-DOS Was Actually Like. How-To Geek. [2021-10-13]. (原始內容存檔於2022-03-26) (美國英語).
- ^ Regan, Patrick. MCTS 70-680 Exam Cram: Microsoft Windows 7, Configuring. Introduction to Windows 7 – The Road to Windows 7. Pearson Education. 2011-03-08. ISBN 978-0-13-260320-1 (英語).
- ^ Cowart, Robert; Knittel, Brian. Microsoft Windows 7 in Depth. Microsoft Windows 7 in Depth. Pearson Education. 2010. ISBN 978-0-7897-4199-8 (英語).
- ^ Finally, Windows 98/Me Move Towards Retirement. IT Pro. 2006-04-13 [2021-10-13]. (原始內容存檔於2021-11-02) (英語).
- ^ Cowart, Robert; Knittel, Brian. Peter Norton's Intro to Computers 6/e. McGraw-Hill Education. December 30, 2004: 288. ISBN 0072978902.
- ^ Loguidice, Bill; Barton, Matt. Vintage Game Consoles: An Inside Look at Apple, Atari, Commodore, Nintendo, and the Greatest Gaming Platforms of All Time. Vintage Game Consoles: An Inside Look at Apple, Atari, Commodore, Nintendo, and the Greatest Gaming Platforms of All Time. CRC Press. 2014-02-24 [2021-10-13]. ISBN 978-1-135-00651-8. (原始內容存檔於2020-01-13) (英語).
- ^ DOSBox Frontends. DOSBox. 2008-12-15 [2009-01-03]. (原始內容存檔於2008-12-17).