Re: [問卦] 如何在Linux底下自幹win3.1系統?
有點晚幾天看到這篇了, 最近在 Linux 上玩 Windows 3.1 懷舊玩得很兇
甚至把網路上一些 Win 3.1 中文軟體都從網拍上標來
準備一一整理放上 archive.org
那麼小弟就接著 jserv 的話題繼續
除了透過 DOSBOX 執行 Windows 3.1 跑軟體外
可以談談兩件事
1. 在 Linux 下開發 Windows 3.1 軟體
這主要可以透過兩種語言達到
* Free Pascal - https://www.freepascal.org/
在官網上面就明確寫著 16bit Windows
而且這功能是到了 2017 年才加入的
* OpenWatcom C/C++ compiler - https://github.com/open-watcom
Watcom C/C++ compiler 是上個世紀的神物, 許多著名軟體與遊戲(像是 DOOM, Duke3D) 都是用這 compiler 所開發, 也有許多平台的支援, 然而 2003 公司無以無繼, 但是後 續就開源了, 目前依然持續的有人貢獻與改進, 因此 Open-Watcom C/C++ 能夠在Linux 下編譯產生 Windows 3.1 的程式 .
網路上找了兩篇使用的 blog
- https://ptspts.blogspot.com/2020/04/openwatcom-exeprog.html
- http://blog.ssokolow.com/archives/2017/10/19/
useful-info-on-win16-targeting-compilers-and-a-list-of-resources/
2. Windows 3.1 執行 32 位元程式
事實上 Windows 3.1 支援一定程度的 Win32 程式的執行能力, 這必須透過 Win32s
這個相關 API 實作, Win32s 即為 Win32 subset, 最後幾個版本甚至加入了OLE支援 一些簡單的 Win95 軟體, 像是計算機跟筆記本是可以透過 Win32s 直接 Win31 上運 作, 事實上 Win31 末期許多軟體是這樣同時開發 Win 3.1 與 Win95 版本, 像是
Mozilla & Firefox 的前身 Netscape 另外是 Photoshop.
但 DOSBox 要比較沒問題運作 Win32s 需要設定 cpu core 為 dynamic, 而 type 要 設為 pentium_slow
Win32s 這件事也算有點關聯, 因為 linux 上可以透過 mingw32 來編譯出 win32 程 式因此若使用的 API 落在 Win32s 範圍內, 應該有機會可以寫出在 Win 3.1 可運作 的程式
https://arrayfire.com/cross-compile-to-windows-from-linux/
更新: 找到了近年有人做的嘗試, 的確可行
https://www.freebasic.net/forum/viewtopic.php?t=27912
※ 引述《jserv (松鼠)》之銘言:
: ※ 引述《pizzafan (隔多天的約定容易忘)》之銘言:
: : 因為這個好像有個技術門檻 或專有名詞,我也不曉得怎麼解釋?
: : 所以先這樣講:…大家知道DOS吧?
: : 就是文字模式可以直接跳進去視窗模式、又可以跳出來!(就像win3.1)
: : 那麼在linux系統底下要怎麼自己搞win3.1呢?
: : 有沒有技術總結?
: : (我發現沒有一個學校老師會…是不是太高端了?)
: 我是跟鄉民進來看熱鬧的,我跳進來了,我又跳出去了,打我啊笨蛋! (取自方唐鏡
: 名言)
: 學校老師應該忙著開學事宜,我幫他們回覆你的提問。
: 原題「在 Linux 系統底下要怎麼自己搞 win3.1 呢?」的「搞」,應該是解題關鍵。: 查閱教育部重編國語辭典修訂本 [1],得到「搞」的釋義:
: : [動]
: : 做、從事。如:「搞砸」、「搞好」、「搞社團」。
: 我解讀題意為「在 Linux 系統中執行 Microsoft Windows 3.1」,其中一個方式是
: 使用 DOSBox [2],這個歷史悠久的專案已被移植到許多軟硬體平台,其中包含網頁
: 執行環境 ——也就是支援 WebAssembly 的網頁瀏覽器,如 Google Chrome。讓我們
: 現在就來體驗吧:
: https://www.dos-box.tk/
: 用 Chrome 網頁瀏覽器開啟上述超連結,然後捲動到 "Windows 3.1",點擊 Windows
: 3.1 Program Manager 桌面的圖片,等待一段時間 (Windows 3.1 的映像檔超過 7MB
: 且初始化 DOSBox 也需要時間),然後你就會見到藍底白字的 Windows Setup 畫面:
: : Welcome to Setup
: 過程中按下 Enter,等待安裝程式複製檔案,中間會被要求輸入姓名,不要安裝印表
: 機裝置驅動程式 (預設選項),再來就是先按下回到 DOS 的選項,並在 DOS 命令提示: 中輸入 win 以進入 Microsoft Windows 3.1,就可把玩在網頁瀏覽器中順暢執行的
: Windows 3.1 ——在 Linux 的環境中。
: [1] http://dict.revised.moe.edu.tw/cbdic/search.htm
: [2] https://www.dosbox.com/
--
推骨灰玩家
科科我都用bc
爆
[問卦] 原來這次根本沒要審兩兆花東法案喔?爆
Re: [新聞] 強調條文都公開上網 黃國昌:誰說昨天審爆
Re: [新聞] 快新聞/史上最黑箱的立法院! 黃智賢3爆
[問卦] HBD夏筠婷片子被外流了?!爆
Re: [爆卦] 台文館道歉了!館長副館長鞠躬謝罪爆
[問卦] 當初砍七天假為什麼一分鐘就過關?爆
[問卦] 台灣會失去張韶涵的原因 到底是什麼?爆
[爆卦] 黃國昌回應國會改革懶人包92
[爆卦] 陳菁徽被抱摔還原立法院議事懶人包爆
Re: [問卦] 打架打到奶子露出來了64
Re: [爆卦] 全國律師聯合會爆
[問卦] 隔壁版一直跳針說兩兆,兩兆是什麼?80
[問卦] 私科電資:公職沒什麼前途 怎反駁?74
[爆卦] 立法院亂鬥登上國外知名IG媒體XX
[爆卦] 全國律師聯合會爆
[問卦] 歌手范逸臣 紀曉君被出征了?69
[問卦] 希特勒的人像畫作就你來看,水準如何?爆
[爆卦] 台文館道歉了!館長副館長鞠躬謝罪57
Re: [爆卦] 全國律師聯合會56
Re: [新聞] 快新聞/史上最黑箱的立法院! 黃智賢352
[問卦] 律師涉詐騙 律師全聯會怎麼沒聲沒影?54
[問卦] 明天519遊行要擺攤賣什麼?52
[問卦] 為何學生運動消失八年了 突然又出現?爆
Re: [新聞] 太陽花再起?苗博雅嘆藍白墮落:強行闖45
Re: [新聞] 鄭文燦:立院對總統質詢權 已經踩到憲法99
[爆卦] 立法院職權行使法修正案 刊載者:林佳龍44
[問卦] 民主聖地大停電 算民主已死嗎?28
[爆卦] 蹦世界數位創意 鄭重致歉33
[問卦]國道六號通到花蓮怎麼不用BOT這方法去蓋?48
[問卦] 家人開始洗廁翼圖了 該怎麼辦?