MartyPC是用Rust編寫的早期PC的跨平台模擬器。它支持Windows,Linux和MacOS。 MARTYPC模擬了幾個基於8088的系統,包括IBM PC,XT,PCJR和Tandy 1000。
單擊此處訪問MARTYPC用戶指南
可以通過定期發行來獲得構建。較新的自動構建可通過在每個工作流程的工件下的“動作”選項卡中獲得。 (您需要登錄到Github下載工件)。
MartyPC最初是一個愛好項目,以了解我在學習生鏽的編程語言時是否可以從頭開始寫模擬器。我對MartyPC的最初目標是適度的,但是它已經達到了我從未想過的功能水平。
MartyPC在仿真世界中的預期利基市場是複古PC開發的助手。它包含調試工具和伐木設施,併計劃了更多。與其他模擬器相比,設置可能不是用戶友好的,但是如果您熟悉Edting配置文件,則不應遇到任何重大問題。為英特爾8088編寫軟件的程序員可以查看並測量其代碼的確切週期執行。
MARTYPC的開發始於2022年4月。我開始努力於2022年11月製作MartyPC的8088 CPU仿真週期 - 精選。為此,我驗證了CPU與與Arduino Mega Miega Microcontroller相關的實際8088 CPU的操作。有關更多詳細信息,請參見我的Arduino8088項目。這允許在模擬器上同時執行指令,並進行真實的CPU,並且比較了執行結果,逐個週期。有關此過程的更多信息,請在我的博客上描述。
在2024年6月,我再次更新了8088測試套件,以支持練習8088的預取隊隊。發現並糾正了更多的周期不准確。 MartyPC通過8088 V2測試套件,其周期準確性為99.9997%。
已經進行了廣泛的硬件研究,以改善MartyPC的外圍仿真,包括使用Arduino調查8253個計時器芯片,使用示波器調查DMA時間,並最終使用邏輯分析儀構建巴士小玩笑。
2023年4月,MartyPC變得足夠準確,可以運行臭名昭著的PC演示,8088 mph。
2023年5月,MartyPC成為第一個能夠模擬PC Demo區域5150效果的PC模擬器。
MARTYPC的WebAssembly構建可以在您的Web瀏覽器中同時運行8088mph和5150區域!
目前,MartyPC可以模仿原始的IBM 5150 PC,5160 XT或通用XT克隆機。
對IBM PCJR和Tandy 1000的初步支持截至0.2.1。這些機器可能是越野車且不穩定的。
MartyPC模擬以下設備:
MARTYPC通過基本機器配置配置文件以及稱為“覆蓋層”的可選擴展名支持自定義機器配置,與安裝擴展卡或其他升級相似。
MartyPC進行了廣泛的調試GUI,並具有多個有用的顯示屏,包括拆卸,CPU狀態,內存查看器和各種外圍狀態。支持代碼和內存斷點。 MARTYPC還支持指導和基於週期的記錄。
在單獨的窗口中運行兩個視頻卡,或“準確”和“調試”視圖中的同一張視頻卡 - 或使用不同的著色器!
包括基本可配置的CRT著色器,還有更多的內容(計劃了Librashader支持)
有關更多信息,請查看Wiki的屏幕截圖畫廊部分!
我有很多人要感謝(請參閱《關於框》!),但我特別想提及Reenignee所做的貢獻。如果沒有他的工作反向工程進行8088微型碼,則該模擬器將永遠無法實現。我還要感謝Ken Shirriff及其出色的博客,涵蓋了8086的矽邏輯(以及8088的擴展)。