歡迎來到位於 GitHub 上的 DOSBox-X 專案首頁。
DOSBox-X 的網站
DOSBox-X 的 Wiki 頁面
DOSBox-X 專案的 Discord 頻道
發布
開發/每晚構建
安裝說明
建構說明
DOSBox-X簡介
DOSBox-X 的顯著功能
DOSBox-X 支援的平台和版本
與 DOS 程式和遊戲的兼容性
為 DOSBox-X 做出貢獻
DOSBox-X開發及發布模式
未來的開發實驗
軟體安全評論
DOSBox-X 目前不太可能支援的功能
DOSBox-X 專案的起源和歷史
已知的 DOSBox-X 叉子
支援國際語言翻譯和鍵盤佈局
DOSBox-X 是一個基於 DOSBox 專案的跨平台 DOS 模擬器。
與 DOSBox 一樣,它模擬運行許多 MS-DOS 遊戲和應用程式所需的 PC,而這些遊戲和應用程式根本無法在現代 PC 和作業系統上運行。然而,雖然 DOSBox 的主要重點是運行 DOS 遊戲,但 DOSBox-X 的用途遠不止於此。它最初是 DOSBox 專案的一個分支,保留了與 DOS 遊戲和 DOS 遊戲 DOSBox 的廣泛基礎的兼容性。但它也是一個運行 DOS 應用程式的平台,包括模擬運行 Windows 3.x、9x 和 ME 的環境以及為這些版本的 Windows 編寫的軟體。透過增加對Windows 95、98、ME模擬和加速的官方支持,我們希望那些舊的Windows遊戲和應用程式可以再次享受或使用。此外,DOSBox-X 增加了對 DOS/V 和 NEC PC-98 模擬的支持,讓您可以用它來玩 DOS/V 和 PC-98 遊戲。
與DOSBox相比,DOSBox-X更注重通用模擬和準確性。為了幫助運行 DOS 遊戲和應用程式、Windows 3.x/9x/ME,以及出於歷史保存、測試和持續 DOS 開發的目的,我們希望實現準確的模擬,準確到足以幫助製作新的DOS 開發可以放心,程式將在實際的DOS 系統上正常運作。 DOSBox-X 包括用於不同目的的各種功能(其中一些是從其他項目移植的),這些功能是作為增量更改實現的,因為它是從 DOSBox SVN Daum 分叉的。 DOSBox-X 提供了多種調整和配置 DOS 虛擬機的方法,因為我們相信模擬 DOS 平台的更好方法是為用戶提供模擬從原始 IBM PC 系統一直到最新的所有內容所需的所有選項1990 年代的配置,無論需要什麼才能讓您的遊戲或軟體包運行。我們的目標是最終使 DOSBox-X 成為一個完整的模擬包,涵蓋所有 2000 年之前的 DOS 和 Windows 9x 系統場景,包括週邊裝置、主機板、CPU 以及為當時的 PC 硬體製造的所有硬體。
請查看 DOSBox-X 主頁,以了解支援平台最新版本的常用軟體包,以及在 DOSBox-X 中運行的一些 DOS 程式和遊戲的螢幕截圖。另請參閱安裝頁面以取得 DOSBox-X 安裝說明和其他軟體包,以及發布頁面以取得所有已發布 DOSBox-X 版本的存檔。有關 DOSBox-X 的更多信息,例如設定和運行 DOSBox-X 及其使用技巧,請閱讀 DOSBox-X Wiki 中的使用者指南。建立原始碼的步驟可以在 BUILD 頁面中找到。
DOSBox-X 是完全開源的,可以免費使用和分發。它是根據 GNU 通用公共許可證版本 2 發布的。
該項目有行為準則,請閱讀它以獲取有關為該項目做出貢獻或獲得該項目支持的一般資訊。
提供者: joncampbell123(喬納森·坎貝爾)
雖然基於 DOSBox 項目,但 DOSBox-X 現在是一個獨立的項目,因為兩者都有自己單獨的時間表和開發優先順序。例如,DOSBox 的主要重點是運行 DOS 遊戲,而 DOSBox-X 的功能遠不止於此。此時DOSBox-X已經擁有大量DOSBox所不具備的功能。此類功能的範例包括:
GUI下拉選單與內建圖形設定工具
儲存和載入狀態支援(最多 100 個儲存槽 + 儲存檔案)
NEC PC-98、AX、DOS/V 模擬和中文/日文/韓文支持
完全可翻譯的使用者介面(提供語言檔案)
更好地支援和兼容 DOS 應用程序
支援更多DOS指令和內建外部工具
支援不同方式自訂內部Z:驅動器
支援 Pentium Pro、II、III 和 MMX 指令等 CPU 類型
支援 IDE 介面和改進的 Windows 3.x/9x 仿真
支援長檔名和 FAT32 磁碟映像(DOS 7+ 功能)
支援像素完美縮放輸出以提高影像品質
支援文字模式 DOS 程式的 TrueType 字型 (TTF) 輸出
支援列印功能,無論是到真實印表機或虛擬印表機
支援啟動程序在主機系統上執行(-hostrun 選項)
支援 3dfx Voodoo 晶片和 Glide 模擬(包括 Glide 包裝器)
支援 FLAC、MP3、WAV、OGG Vorbis 和 Opus CD-DA 曲目的提示表
支援 FluidSynth MIDI 合成器(帶聲音字體)和 MT-32 仿真
支援 NE2000 乙太網路的網路功能和數據機電話簿映射
支援垂直同步、過掃描邊界和立體聲交換等功能
還有更多..
雖然 DOSBox-X 中的絕大多數功能都是跨平台的,但 DOSBox-X 也具有一些值得注意的與平台相關的功能,例如 Direct3D 輸出和對 Windows 平台上自動驅動器安裝的支援。這些功能無法輕易移植到其他平台。有關 DOSBox-X 功能的更多信息,請參閱 DOSBox-X Wiki 中的 DOSBox-X 功能亮點頁面。
DOSBox-X正式支援SDL 1.2和SDL 2.0;也支援 32 位元和 64 位元版本。
DOSBox-X是一個跨平台的DOS模擬器,因此官方支援所有主要主機作業系統,包括:
Windows(XP 或更高版本),32 位元和 64 位元
Linux(附 X11),32 位元和 64 位元
macOS (Mac OS X)、基於 Intel 和 ARM 的 64 位
DOS(MS-DOS 5.0+ 或相容)
Windows 二進位檔案(32 位元和 64 位元)、Linux Flatpak 或 RPM 軟體套件(64 位元)、macOS 軟體套件(64 位元)和 DOS 版本會定期正式發布,通常在每月的最後一天或第一天下個月的某一天。請查看 DOSBox-X 主頁和安裝頁面,以了解這些平台上最新的 DOSBox-X 軟體套件以及進一步的安裝說明。您也可以在「版本」頁面中找到所有已發佈版本的 ZIP 套件或 Windows 安裝程式及其變更日誌。 Windows 安裝程式旨在簡化安裝過程,它們允許您在安裝結束後立即啟動 DOSBox-X。
要在真正的 DOS 系統(MS-DOS 或相容)中運行 DOSBox-X,您可以找到使用免費提供的 HX DOS Extender 的 HX-DOS 軟體包。鍵入 DOSBOX-X 從 DOS 系統執行它。除了 DOS 系統之外,還有 DOS LOADLIN 軟體包可以在 DOSBox-X 本身內運作。但請注意,並非其他平台支援的 DOSBox-X 的所有功能都可以在真實的 DOS 環境中支援。
也可以從 DOSBox-X 開發版本頁面取得用於各種平台測試目的的開發(預覽)版本。
完整的原始碼隨每個 DOSBox-X 版本正式提供,可以編譯為在上述作業系統和可能的其他作業系統上運行。您也可以直接從儲存庫取得最新的開發原始碼。另請參閱 BUILD 頁面,以了解有關建置/編譯 DOSBox-X 原始程式碼的資訊。
我們的最終目標是成為一個完整的DOS 模擬包,涵蓋所有2000 年之前的DOS 和基於Windows 3.x/9x 的硬體場景,我們正在努力確保絕大多數DOS 遊戲和應用程式都可以在DOSBox-X中運行,其中包括文字模式和圖形模式 DOS 程式。主要基於 DOS 的 Microsoft Windows 版本(例如 Windows 3.x 和 9x)也受到 DOSBox-X 的正式支援。請注意,某些配置設定可能需要更改預設設定才能順利運作。請查看 DOSBox-X Wiki 以了解更多資訊。
我們也努力透過嘗試準確地模擬硬體來幫助 DOS 的持續發展,這就是為什麼 DOSBox-X 過去專注於演示軟體(尤其是 1996 年之前的任何軟體),因為那個時代的 MS-DOS 場景往往擁有所有奇怪的硬體技巧、錯誤和速度敏感問題的方式使它們成為測試模擬準確性的完美工具,甚至比舊的DOS 遊戲更有效。但毫無疑問,我們也做了很多努力來測試 DOSBox-X 與其他 DOS 遊戲和應用程序,以及 PC-98 程式(其中大部分是遊戲)。
我們在每個新的 DOSBox-X 版本中添加了新功能並進行了其他改進,因此它與 DOS 程式和遊戲的兼容性也隨著時間的推移而提高。如果您對特定 DOS 程式或遊戲有任何問題,請隨時將其發佈到問題追蹤器中。
我們透過消除准入障礙來鼓勵新的貢獻者。想法和補丁總是受歡迎的,儘管不一定會被接受。
如果您確實需要該功能或更改,並且您的更改未被接受到此主專案中(或者您只是想亂搞程式碼),請隨意分叉此項目並在您的分叉中進行更改。
由於 joncampbell123 在 DOSBox-X 上工作的時間有限,非常感謝您的幫助:
測試
DOSBox-X 的指令與功能等特點
DOS遊戲和應用程式的正常運行
Windows 1.0/2.x/3.x 和 Windows 95/98/ME 客戶系統支持
軟體或硬體模擬準確性,例如 demoscene 軟體的協助
編寫更多的單元測試來測試各種功能(請參閱tests/中現有的單元測試)
新 DOS 軟體的開發(可能由 DOSLIB/DOSLIB2 協助)
錯誤修復、補丁、改進、改進
其他使用者的建議、想法、幫助和/或一般對話
平台支援(Windows、Linux、macOS、DOS,但也歡迎其他平台)
文件、語言檔案翻譯、軟體打包
有關 DOS 和 Win3.x/9x 遊戲、應用程式、駭客或怪異技巧等的註釋。
有關更多貢獻指南,請參閱貢獻頁面。如果您想調整或編寫一些程式碼並且不知道要做什麼,請隨時訪問問題追蹤器以獲取一些想法。
有關原始程式碼的更多描述,請查看 DOSBox-X 原始碼描述頁面。有關在原始程式碼上建立的資訊可以在「建置」頁面中找到。
有關偵錯器的資訊也可以在 DOSBox-X 偵錯器頁面中找到。
另請參閱「信用」頁面以了解信用資訊。
為了讓DOSBox-X的開發過程更加順利,我們為DOSBox-X實現了通用的開發/發布模式。 DOSBox-X 目前的發布模式如下:
新的 DOSBox-X 版本在每個月的月初(通常是第一天)公開,包括原始程式碼和二進位版本。然後DOSBox-X開發將重新開放新功能、拉取請求等。該月的最後一天是 DOSBox-X 的建置日,用於編譯下個月第一天的二進位版本,因此這一天不會有原始程式碼更改,包括拉取請求或錯誤修復。
例如,假設 8 月是當月 - 8 月 25 日將是拉取請求將被忽略的日子,除非僅修復錯誤。 8 月 31 日(8 月的最後一天)將是 DOSBox-X 建置日。
這是 DOSBox-X 的官方發布模式,儘管稍後可能會發生變化。
分散的實驗和小型專案正在進行實驗/作為 DOSBox-X 及其程式碼庫未來修訂的試驗場。
這些實驗可能會也可能不會進入未來的修訂版或下一個版本。
歡迎對實驗提出評論,以幫助整體改進程式碼。
patch-integration/ 中也有補丁,用於將來可能的功能整合。過去我們已經將許多社群開發的修補程式整合到 DOSBox-X 中。
另請參閱 General TODO.txt 以了解 DOSBox-X 未來開發的一些計劃。
DOSBox-X 不能聲稱是「安全性」應用程式。它包含許多為效能而不是安全性而設計的程式碼。模擬中可能存在漏洞、錯誤和缺陷,這些漏洞、錯誤和缺陷可能允許其中的惡意 DOS 執行檔造成問題或利用模擬器中的錯誤造成損害。不保證 DOSBox-X 完全遏制來賓作業系統或應用程式。
如果安全是首要任務,那麼:
不要在安全系統上使用 DOSBox-X。
不要以 root 或管理員身份執行 DOSBox-X。
如果您需要使用 DOSBox-X,請在 chroot 監獄或沙箱中以權限較低的使用者身分執行它,或使用命令列選項-securemode
啟用 DOSBox-X 的安全模式,這將停用可能允許存取主機的命令系統。
如果您的 Linux 發行版啟用了它,請考慮使用審核系統來限制允許 DOSBox-X 可執行檔案執行的操作。
DOSBox-X 的目標是成為一個功能齊全的 DOS 模擬包,但現在實現的設計無法容納一些東西。
Pentium 4 或更高等級的 CPU 模擬。
DOSBox-X 包含僅透過 Pentium III 模擬 8086 的程式碼。真正的 DOS 系統(MS-DOS 及其相容機)也能在這些 CPU 上發揮最佳效能。
如果需要 Pentium 4 或更高版本的仿真,請考慮使用 Bochs 或 QEMU 等 PC 仿真器。如果 DOSBox-X 社群普遍需要,DOSBox-X 最終可能會開發 Pentium 4 模擬。
PC 硬體 2001 或更高版本的模擬。
DOSBox-X 的官方截止日期是 2001 年,當時 Microsoft 更新的「PC 2001」規範強制要求從主機板上移除 ISA 插槽。重點是為先前製作的硬體實現硬體仿真。
貢獻者可以在他們選擇的 1980 年到 2000/2001 之間的時間範圍內自由地專注於模擬硬體。
Windows 來賓模擬、Windows Vista 或更高版本。
就 DOSBox-X 中執行 Windows 而言,DOSBox-X 模擬將主要關注 Windows 1.0 到 Windows ME(Millennium Edition),然後關注 Windows NT 到 Windows XP。 Windows Vista 及更高版本不是優先事項,目前不會考慮。這些版本的 Windows 不基於 DOS。
如果您需要執行 Windows XP 及更高版本,請考慮使用 QEMU、Bochs、VirtualBox 或 VMware。
除 IBM PC/XT/AT、AX、Tandy、PCjr 和 PC-98 之外的任何 MS-DOS 系統。
只有上面列出的系統才會被考慮在 DOSBox-X 中進行開發。此限制可防止將程式碼庫擴展到難以管理的水平,並有助於保持程式碼庫的組織。
如果開發人員能夠專注於並行模擬他們感興趣的平台,而不是將所有內容都放入一個專案中,那麼對我自己和開源社群來說,這對我和開源社群來說會更容易,因為整個模擬所有平台的效果很可能會更差。然而,如果新增系統模擬僅需要很小的最小改變,那麼可以考慮所討論的新系統。
如果您需要為任何其他系統或控制台開發 MS-DOS 模擬,強烈建議您分叉此專案並實現您自己的變體。透過這樣做,您可以獲得完全的自由,專注於實現感興趣的基於特定MS-DOS 的系統,如果需要,還可以去除衝突的IBM PC/XT/AT 模擬和不必要的程式碼,以保持分支機構的代碼易於管理和管理。
如果您正在啟動一個分叉,請隨時告訴我您的分叉在哪裡以及它正在模擬什麼系統,以便我可以將其列在這個自述文件中,以供其他尋求模擬該系統的人使用。為了提供幫助,我添加了機器和視訊模式枚舉作為“存根”,為您的分支機構實施平台提供起點。到目前為止實現的存根是「FM Towns emulation」( machine=fm_towns
)。
x86 指令和執行的周期精確計時。
在 DOSBox-X 中,除了 I/O 和記憶體存取之外,指令通常每個週期執行一條。
如果需要精確模擬每個指令的週期,請考慮使用 PCem、86Box 或 VARCem。
全精度浮點仿真。
除非使用動態核心,否則 DOSBox 和 DOSBox-X 使用「雙」64 位元浮點數資料類型模擬 FPU 暫存器。
Intel FPU 暫存器是 80 位元「擴展精度」浮點值,而不是 64 位元雙精度,因此這實際上是 12 位元精度損失和 5 位元範圍損失(64 到 53 尾數位元和 16 到 11 指數位元) )。考慮到 DOSBox 支援 DOS 遊戲的最初目標,這種輕微的精確度損失是完全可以的,但在其他需要完全精確度的情況下可能會導致問題。
目前已知,這種精確度的缺乏足以導致最初以 QBasic 或 Turbo Basic 編寫的 DOS 應用程式中與整數的直接比較失敗。有些編寫的 DOS 遊戲使用浮點比較來檢查其檔案大小,但這種方式會失敗。要運行這些遊戲,您需要停用 FPU 模擬 ( fpu=false
) 以強制 QBasic/TurboBasic 運行時使用軟體模擬。
DOSBox-X 於 2011 年中期作為原始 DOSBox 專案的一個分支開始。它的開始是出於改進模擬器的願望,而不必與上游提交補丁或擔心提交補丁。
正如其開發者所明確表示的那樣,DOSBox 的主要重點是 DOS 遊戲。事實證明,大部分程式碼都是一些準確的程式碼,其中包含使 DOS 遊戲運行的拼湊程式碼,而不是專注於真實 DOS 系統的實際行為。
DOSBox-X 專案維護者 Jonathan Campbell 希望對原始程式碼進行各種更改,但其中許多更改與遊戲無關,因此不太可能被 DOSBox 開發人員接受。
從那時起,Jonathan Campbell 一直在修改原始程式碼,以透過 ME 改進仿真、修復錯誤並解決與 Windows 95 的不相容性問題。他添加了選項,以便 DOSBox-X 預設可以更準確地模擬更廣泛的配置,同時允許用戶在需要運行他們最喜歡的 DOS 遊戲或程式時啟用各種技術或駭客攻擊。他也一直在清理和組織程式碼,以盡可能提高穩定性和可移植性。
最初的 DOSBox 專案不是由一位程式設計師編寫的。它自 2000 年底以來一直在開發中,來自 Vogons 論壇各地成員的補丁、修復和改進。儘管自 10 多年前 DOSBox 0.74 以來就沒有發布過重要的正式版本,但該專案至今仍以 DOSBox SVN 的形式處於半活躍開發狀態。同時,一些更改本身合併了其他項目的程式碼。
DOSBox-X 中的一些功能和改進也來自 DOSBox 的另一個分支,稱為 DOSBox SVN Daum,它本身合併了原始 DOSBox 專案 DOSBox-X 的功能和許多實驗性修補程式。儘管 Daum 分支似乎已經消亡,但藉用它的功能在 DOSBox-X 中仍然存在。後來,DOSBox-X 也融入了 DOSBox ECE、DOSBox Staging、DOSVAX/DOSVAXJ3 和 vDosPlus 等其他專案的多項功能和改進。
DOSBox-X 專案也得到了其他開發人員和貢獻者的幫助,例如 Wengier、aybe、Allofich 和 rderooy,他們為改進 DOSBox-X 專案做了大量工作,包括添加新功能、修復錯誤、創建文件、維護網站,並從其他項目移植程式碼。
另請參閱 CREDITS 頁面以了解原始程式碼的來源。
Yksoft1 的 DOSBox-X Emscripten 連接埠(可在 Web 瀏覽器中執行)
為了在使用 LLVM/Emscripten 編譯時在 Web 瀏覽器中高效運行,進行了重大更改。這些重大變更需要刪除一些有用的功能(包括選單),但對於效能而言是必要的。
URL:https://github.com/yksoft1/dosbox-x-vanilla-sdl/tree/emscripten(尋找複製 URL 並使用 emscripten 分支)
DOSBox-X-App(適用於 Windows 和 macOS),作者:emendelson
DOSBox-X-App 是 DOSBox-X 的稍微定製版本,與外部程式和命令相結合,可以輕鬆地從 DOS 應用程式列印和建立 PDF。它是為應用程式而不是遊戲而定制的。
網址:http://www.columbia.edu/~em36/dosboxapp.html
DOSBoxWP(適用於 DOS 的 WordPerfect),作者:emendelson
DOSBoxWP 是 DOSBox-X 的客製化版本,針對 WordPerfect for DOS 使用者。
網址(Windows):http://www.columbia.edu/~em36/wpdos/dosboxwp.html
網址(macOS):http://www.columbia.edu/~em36/wpdos/wpdosboxmac.html
Win31DOSBox(適用於 64 位元 Windows 的 Windows 3.1),作者:emendelson
Win31DOSBox 旨在成為一種在 64 位元 Windows 系統上執行 Windows 3.x 軟體的簡單方法。執行 Windows 3.1x 時,系統使用 DOSBox-X 的自訂版本。
網址:http://www.columbia.edu/~em36/win31dosbox.html
DOSBox-X 將英文顯示為預設語言,並預設使用美國代碼頁(437),就像 DOSBox 一樣。
預設設定下,DOSBox-X 顯示的所有訊息均為英文。 DOSBox-X確實支援使用語言檔案變更顯示訊息的功能。語言檔案控制內部命令和內部 DOS 的所有可見輸出,以及 DOSBox-X 下拉選單中的文字。如果您的母語不是英語,我們鼓勵您透過將 DOSBox-X 中的訊息翻譯為您的語言來建立與 DOSBox-X 一起使用的其他語言檔案。其他 DOSBox-X 使用者也可以使用這些語言檔案讓 DOSBox-X 以此類語言顯示訊息。語言檔案可以在 DOSBox-X 安裝的languages
目錄中找到。
語言名稱 | 語言檔案 |
---|---|
中文(簡體) | contrib/translations/zh/zh_CN.lng |
中文(繁體) | contrib/translations/zh/zh_TW.lng |
法語 | contrib/翻譯/fr/fr_FR.lng |
德文 | contrib/翻譯/de/de_DE.lng |
義大利語 | contrib/譯/it/it_IT.lng |
日本人 | contrib/翻譯/ja/ja_JP.lng |
韓國人 | contrib/translations/ko/ko_KR.lng |
葡萄牙語(巴西) | contrib/翻譯/pt/pt_BR.lng |
西班牙語 | contrib/翻譯/es/es_ES.lng |
土耳其 | contrib/譯/tr/tr_TR.lng |
DOSBox-X 是圍繞美國鍵盤佈局開發的,這主要是由於提供輸入處理的 SDL1 庫的限制。因此,當使用 SDL1 版本和非美國鍵盤時,DOSBox-X 會自動使用預設設定的掃描碼來解決鍵盤佈局問題。在 SDL2 版本中使用非美國鍵盤佈局時不需要掃描碼。如果您發現 DOSBox-X 尚不支援鍵盤佈局,為了新增與 DOSBox-X 一起使用的其他佈局,請參閱檔案 README.keyboard-layout-handling 以了解如何作為開發人員執行此操作。
有關 DOSBox-X 的國際支援和區域設定的更多信息,例如創建 DOSBox-X 語言檔案或在 DOSBox-X 中使用外部鍵盤檔案的步驟,以及對歐元符號和國家/地區特定日期和時間格式的支持,請查看DOSBox-X Wiki 中DOSBox-X 中的區域設定指南。有關東亞(中文/日文/韓文)語言支援的更多信息,請參閱東亞語言和系統支援指南頁面。