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).