【超朗報】Virtual PCで動かないとされていたWin32s 1.30を動かすパッチが登場!!【Windows 3.1】

1 : 2025/10/22(水) 14:10:40.63 ID:29EsM1gV0

479 自分:名無し~3.EXE[] 投稿日:2025/10/21(火) 23:07:00.35 ID:DO1HFso1 [1/2]
エミュレータ・仮想環境(及びWin-OS/2)でのWin32s 1.30A/1.30Cの問題の解決方が見つかったかもしれない。

Win32s problem
https://www.betaarchive.com/forum/viewtopic.php?t=32237

Re: Win32s の問題
役職 raideniiによる2015年1月21日(水)午前4時55分

PCem rev 192以降ではWin32s 1.30cの問題が解決されているようです。rev 193のバイナリを試してみましたが、確かに動作しました。
http://www.retrosoftware.co.uk/hg/pcem/rev/b6f77caf741e
その理由は、SGDT がすべてのベース アドレスを 16 ビット モード (ドキュメントに記載されており、おそらく VM が使用するモード) で保存していないため、Win32s が壊れてしまうためだと考えられます。

Re: Win32s の問題
役職 バトラーによる​2015年1月22日(木)午前4時40分

16MBを超えるRAM(24ビットでアドレス指定できる最大値 – アドレスは0から始まります)が原因の可能性があります。Win32s v1.30以降では、16MBを超えるメモリアドレスを指定しようとしていますが、24ビット制限のためリアルモードでは失敗します。

編集:http://www.it.uc3m.es/ttao/Pentium/Inst … -LIDT.html386+では、SGDT命令とSIDT命令は常に32ビットすべてを格納しますが、LGDT命令とLIDT命令は、オペランドサイズが16ビットの場合、上位8ビットを00として返します。286では、上位8ビットは常に未定義です。

Re: Win32s の問題
役職 roytam1による≫2022年12月31日(土)午後5時20分

古いスレッドを再び取り上げて申し訳ありませんが、win32s 1.30.xxx で発生する EMM386 障害処理画面 / システム フリーズ / Windows システム メッセージ ボックスの破損などは、win32s16.dll の 1 バイトをパッチすることで修正できます。
バイト パターンの検索: 66 83 EF 04 E3 3Bを次
の値に置き換えます: 66 83 EF 04 EB 3B は

、win32s16.dll のすべての 1.30 バージョンで動作するはずです。

480 自分:名無し~3.EXE[sage] 投稿日:2025/10/21(火) 23:11:55.94 ID:DO1HFso1 [2/2]
まだ上記のパッチ試していませんが、
この修正法が発見されるまで27年もかかってしまった!?

481 自分返信:名無し~3.EXE[] 投稿日:2025/10/22(水) 13:36:26.06 ID:ex2sosKx [1/2]
>>479
Win32s 1.30A/1.30Cが動かないと言われるVirtual PCで
Win32s 1.30Cが動きました。感動

482 自分:名無し~3.EXE[] 投稿日:2025/10/22(水) 13:59:16.49 ID:ex2sosKx [2/2]
画像

レス1番の画像1

MS-DOS・Win3.1総合スレッド 3.0
https://mevius.5ch.net/test/read.cgi/win/1531491400/

2 : 2025/10/22(水) 14:13:08.71 ID:Cd5rUTkR0
mine sweeperでもやるのか?
3 : 2025/10/22(水) 14:13:37.08 ID:KO8FLyQD0
win32s使う前にwindows95になってしまった。
OS/2とかの人には朗報なの?
6 : 2025/10/22(水) 14:26:21.63 ID:29EsM1gV0
>>3
Win32s 1.30系はVirtual PCで動かないというのが定石だった。謎のエラーに遭遇して動かない。
更にWin-OS/2でも動かないという様子だった。
解決策はWin32s 1.25系を使うか、僅かながらの互換性向上の為に、Win32s 1.25/1.30ハイブリッドという技法もあった。
しかしながらWindows 95登場後のWin32s対応ソフトはWin32s 1.30cを要求しており、事実上Win32s 1.30cの動作が前提条件であった。
Win32s 1.25では「Windows NT 3.1」のソフトが(一部)動きます程度のメリットしかなく、殆どのWin32s対応を謳ってるソフトが動かなかった。
たった1バイトのパッチで動くようになるのに、発見がここまで遅れるとは…
この奇妙な問題はM$がOS/2で動かないようにあえて仕込んだのではないかという声もある。
15 : 2025/10/22(水) 14:45:56.43 ID:I2Caba030
>>6
66 83 EF 04 E3 3B
66 83 EF 04 EB 3B
1バイトどころかマッチ棒1本の問題じゃん
16 : 2025/10/22(水) 14:47:13.23 ID:29EsM1gV0
>>15
www
確かに
17 : 2025/10/22(水) 14:49:13.72 ID:M+50tmCJ0
>>15
CISCなので1ビットの違いで別の動作とか普通よ
専ブラの広告排除のパッチなんかもだいたいは
フラグレジスタ見て分岐してるジャンプ命令を
変えてるだけだし
18 : 2025/10/22(水) 14:56:51.38 ID:Aqt7p64R0
>>15
マッチ棒1本足して動くようにしなさいw
4 : 2025/10/22(水) 14:20:33.08 ID:6m9djDCM0
win32s、付属のフリーセルやる以外の役に立った覚えないんだけど
5 : 2025/10/22(水) 14:23:06.00 ID:M+50tmCJ0
仮想マシンなんかのおかげだよね
実機保存しておいてこの手の検証ってメッチャだるい
8 : 2025/10/22(水) 14:28:02.27 ID:29EsM1gV0
ただ実際のCPUでは動作するし、エミュレーター作者もこの奇妙なCPUの仕様を実装していれば動く。
Intelの難解な仕様書みてもこの奇妙な仕様は分かりづらいものではある
10 : 2025/10/22(水) 14:39:16.12 ID:M+50tmCJ0
>>8
CISCのウ●コさだよなあ
この間も別のネタが何かあったな
9 : 2025/10/22(水) 14:30:31.30 ID:mqRL6RJe0
懐かしいを通り越して思い出すのに使った時間返して
11 : 2025/10/22(水) 14:39:39.51 ID:29EsM1gV0
なぜ動かないかという手がかりがずっと発見されてこなかった。
奇妙な16bit/32bitハイブリッドシステムだからかなり能力のある解析者じゃないと不明だったし、
枯れた環境だから動かないものは動かないという諦めもあったのかも知れない。
タイミングがシビアでエミュレーションではうまくいかないのかなという推測はしていたが、
オチはあまり知られていないCPUの16bit/32bit混合環境の癖が原因であつた
12 : 2025/10/22(水) 14:40:09.03 ID:I2Caba030
3.1なんぞ、Dr.ワトソン使う以外に利用価値なんて無いだろ
13 : 2025/10/22(水) 14:41:56.75 ID:tFvRG6pP0
> たった1バイトのパッチで動くようになるのに、発見がここまで遅れるとは…

誰も必要としてなかったから探してなかったんだろ
暇人が見つけただけ

14 : 2025/10/22(水) 14:43:41.17 ID:9cYoMT1H0
バーチャルとか所詮は絵空事よ
19 : 2025/10/22(水) 15:00:34.46 ID:H1Xl72mX0
キャンビーで3.1触ってたわ
20 : 2025/10/22(水) 15:01:21.22 ID:fQj016VJ0
えりかとさとるの夢工場だかなんだかみたいな話か
21 : 2025/10/22(水) 15:04:52.27 ID:EOzQlwbv0
デイヴプラマーがそのうちビデオ出すやろ
22 : 2025/10/22(水) 15:07:48.75 ID:xwG3NdyE0
そんなの動かして何か良いことあるの?
23 : 2025/10/22(水) 15:08:42.90 ID:RcnSd+yo0
Windows95が初PCだからこのスレの話題は概ねわからない
25 : 2025/10/22(水) 15:17:15.50 ID:RcnSd+yo0
自分はFlight Unlimited 95というオーパーツのような名作をジョイスティックのアナログ入力込みで仮想環境上で完璧に動作させることを目指している
26 : 2025/10/22(水) 15:20:32.72 ID:gfHPba890
Win32sが動作すればフリーセル実行できたんたっけ?
27 : 2025/10/22(水) 15:22:13.71 ID:MbDfMPub0
これが動けばめっちゃ古い産業装置とかが動くようになるの?
28 : 2025/10/22(水) 15:22:38.21 ID:29EsM1gV0
補足としてはWin32sは様々なバージョンがあり、最終版が1.30c
でネットに良くあるWin32s 1.30cは英語版(SBCS、1バイト文字圏用)なので、
日本語Windows 3.1にはWin32s 1.30c 日本語版又はFarEast版が必要である。
29 : 2025/10/22(水) 15:23:14.02 ID:GSoWCbtr0
Windows3.1ってリアルモードで動いたんだっけ?
31 : 2025/10/22(水) 15:27:22.27 ID:29EsM1gV0
>>29
リアルモードで動くのはWindows 3.0迄です。(但しWindows 3.1初期ベータ版はリアルモードでも動きました。)
30 : 2025/10/22(水) 15:23:39.98 ID:S44Ddh/40
98版は動くの?
32 : 2025/10/22(水) 15:28:56.09 ID:29EsM1gV0
>>30
NEC PC-9801シリーズですか?
動く筈です。
エミュレーターで動かす場合は今回のパッチを当てる事により動作安定が向上する可能性があります。
33 : 2025/10/22(水) 15:29:30.60 ID:YSQOxQzx0
懐かしい
ConnectixはPS1のエミュレータ作ったり、VPC作ったりと割と変態プログラマーがいた会社だな
どっちも買収されたけど

コメント

タイトルとURLをコピーしました