PTT推薦

Re: [問卦] 如何在Linux底下自幹win3.1系統?

看板Gossiping標題Re: [問卦] 如何在Linux底下自幹win3.1系統?作者
ChampYen
(網路黑貓)
時間推噓 2 推:2 噓:0 →:0

有點晚幾天看到這篇了, 最近在 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/

--

※ PTT留言評論
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.110.208.161 (臺灣)
PTT 網址
※ 編輯: ChampYen (123.110.208.161 臺灣), 09/07/2021 01:13:39

sppmg 09/07 01:19推骨灰玩家

coware 09/07 01:39科科我都用bc

※ 編輯: ChampYen (123.110.208.161 臺灣), 09/07/2021 07:51:43