探検


NEC PC-98シリーズエミュレーターを語ろう25

1名無しさん@お腹いっぱい。
垢版 |
2026/06/18(木) 07:30:59.67ID:+LXK2GF10
NEC PC-98シリーズは過去のものとなりましたが、
その膨大な遺産を活用できるPC-98シリーズエミュレーターは非常に便利な存在です。
そんなPC-98シリーズエミュレーターについて語りましょう。

■PC-98シリーズエミュレーター
・Neko Project 21/W
https://simk98.github.io/np21w/
・np2fmgen
https://nenecchi.kirara.st/
・Neko Project II Kai
https://github.com/AZO234/NP2kai
・DOSBox-X
https://dosbox-x.com/
・MAME
https://www.mamedev.org/

■新規PC-98シリーズエミュレーター
・Neetan
https://github.com/neetandev/neetan

■PC-98シリーズエミュレーターの評価・比較
https://emulation.gametechwiki.com/index.php/PC-98_emulators
https://simk98.github.io/np21w/98emulators.html

■前スレ
https://egg.5ch.io/test/read.cgi/software/1714384389/
664名無しさん@お腹いっぱい。
垢版 |
2026/10/27(火) 13:09:33.94ID:lBbblpIh0
ディスクトップという謎ワード笑
665名無しさん@お腹いっぱい。
垢版 |
2026/10/27(火) 13:33:33.01ID:dMZOD69b0
インストロール
2026/10/27(火) 13:59:52.98ID:MgjxVP2c0
そろそろスレチはやめてもらえますかね
2026/10/27(火) 14:36:53.80ID:Cj/3ZEQX0
古傷をえぐられたくないからね
2026/10/27(火) 15:31:36.77ID:MgjxVP2c0
認知がおかしくなってるな爺さん
2026/10/27(火) 17:48:45.05ID:96Yw7XYU0
>>659 663
これ中国の老害を意味する単語か
2026/10/27(火) 17:50:39.48ID:96Yw7XYU0
>>661
「ビックカメラ」は普通にURL見れば分かるし😥
「テザリング」は英語でtetheringだから普通に「テ」ザwww
671名無しさん@お腹いっぱい。
垢版 |
2026/10/27(火) 17:51:41.21ID:wv/9G6QX0
Windows 2000のNTVDM.EXEにはバグがあり、VMEが無いとDOSアプリを動かそうとするとクラッシュしてしまうが、
なんとかパッチを当てて動かすことに成功。大層なものではなく、強制的に非VMEのルートを通るようにNTVDM.EXEを
"1バイト"パッチしただけ!

https://i.imgur.com/r2KpNr6.png
2026/10/27(火) 18:01:45.99ID:lBbblpIh0
コマーシャルや実店舗で流れてる歌を聞いてたらビッグカメラとは言わないと思うんだが
耳が悪い老害だからビッグになっちゃうのか笑
2026/10/27(火) 18:07:59.19ID:Cj/3ZEQX0
>>166
だってさ
2026/10/27(火) 18:22:25.63ID:IwmSFDij0
むしろビックカメラとヨドバシの区別がつかない、〜駅前にあるのはどっちだったっけ、みたいなことがよくある。
吉野家とすき家を混同することは無いのに不思議。
2026/10/27(火) 18:31:40.51ID:kPErSU3t0
ビックカメラのせいでビッグサイトをビックサイトだと覚えちゃってる人が結構いる
676名無しさん@お腹いっぱい。
垢版 |
2026/10/27(火) 18:59:14.23ID:wv/9G6QX0
[FIX / PATCH] Windows 2000 NTVDM Crash on non-VME CPUs (Intel 486 / VIA C3) - 1-Byte Hex Patch for Official Final NTVDM.EXE (5.0.2195.7061)
Body:
Hi everyone,
I have found a definitive 1-byte Hex patch to fix the infamous NTVDM crash on non-VME CPUs (such as early Intel 486, VIA C3 Samuel/Samuel2, etc.) under Windows 2000 SP4.
While there are some ancient workarounds or Source-level rebuilds (like NTVDMx64) floating around, there was no documented pinpoint Hex patch for the official final version of NTVDM.EXE (5.0.2195.7061). Now, the puzzle is solved.

🕵‍♂ The Root Cause: Compiler Optimization Bug (Instruction Scheduling)

By reverse-engineering NTVDM.EXE and cross-referencing with the leaked NT source code, the crash happens in the function that handles NtVdmControl with ControlCode 4 (VdmFeatures).
The compiler's instruction scheduling optimization aggressively reordered mov instructions to initialize VME-specific register states (such as ExpVdmTib and EFLAGS 202h setup) BEFORE the NtVdmControl call actually checks if the CPU supports VME. On a non-VME CPU, this premature initialization instantly triggers an invalid opcode or privileged instruction exception, crashing NTVDM before it even knows the CPU capabilities.
677名無しさん@お腹いっぱい。
垢版 |
2026/10/27(火) 18:59:28.54ID:wv/9G6QX0
🛠 Binary Patch Details

To fix this, we can force NTVDM to completely bypass the VME initialization path and fall back to the safe legacy software-emulation mode (486-compatible mode).
We only need to change a single conditional jump (jz) into a forced unconditional jump (jmp).
• Target OS: Windows 2000 SP4
• Target File: C:\WINNT\system32\ntvdm.exe (and dllcache\ntvdm.exe)
• File Version: 5.0.2195.7061
Hex Edit Details:
• RVA (Relative Virtual Address): 0x0000C415 (.text section + 0x0000B415)
• File Offset (RAW Address): 0x0BA15 <-- Open with any Hex Editor!
• Original Bytes: 74 07 (jz short ...)
• Patched Bytes: EB 07 (jmp short ...)

🏁 Results

Tested successfully on real Intel 486 hardware running Windows 2000 SP4. NTVDM no longer crashes when opening command.com or launching 16-bit DOS/Win16 applications, and properly routes to the non-VME legacy path.
Hopefully, this helps anyone tinkering with retro x86 hardware or unique CPU upgrades!
678名無しさん@お腹いっぱい。
垢版 |
2026/10/27(火) 19:06:49.14ID:wv/9G6QX0
タイトル:
【世界初】非VME CPU(Intel 486 / VIA C3)でのWindows 2000 NTVDMクラッシュを修正する1バイトパッチ(NTVDM.EXE 5.0.2195.7061 最終版対応)
本文:
Windows 2000 SP4環境において、VME(仮想8086モード拡張)を持たない古いCPU(初期のIntel 486や、VIA C3 Samuel/Samuel2コアなど)で16bit DOSアプリを起動しようとすると、NTVDMが不正命令例外等で即座にクラッシュする有名なバグがあります。
Microsoftが最後まで修正しなかった公式最終バージョンの NTVDM.EXE(Ver 5.0.2195.7061)に対し、安全かつ完全にバグを回避させる「1バイトのHexパッチ手順」を確立しましたので共有します。

🕵‍♂ 原因:コンパイラの最適化による「フライング命令」

バイナリ解析の結果、原因は NtVdmControl(ControlCode 4 / VdmFeatures:CPU機能問い合わせ)を処理する周辺の内部コードにありました。
本来はカーネルにVMEの有無を問い合わせた「後」に処理されるべきVME環境前提の構造体初期化コード(ExpVdmTib や EFLAGS 202h の設定など)が、コンパイラの最適化(命令スケジューリング)によって、NtVdmControl を呼び出す前(間)に割り込んで実行される並び順になってしまっています。
これにより、非VME CPU環境では機能チェックが行われる前に地雷命令を踏むことになり、クラッシュを誘発していました。
679名無しさん@お腹いっぱい。
垢版 |
2026/10/27(火) 19:07:00.04ID:wv/9G6QX0
🛠 バイナリ書き換え手順

NTVDM内部のVME有効化フラグ(地雷ルート)を確実に飛び越えさせ、安全な「レガシーエミュレーションモード(486互換モード)」に固定するため、条件分岐(jz)を無条件ジャンプ(jmp)に書き換えます。
• 対象OS: Windows 2000 SP4
• 対象ファイル: C:\WINNT\system32\ntvdm.exe(および dllcache\ntvdm.exe)
• ファイルバージョン: 5.0.2195.7061
バイナリ書き換え(Hex編集)詳細:
• RVA(相対仮想アドレス): 0x0000C415 (.text セクション + 0x0000B415)
• ファイルオフセット(RAWアドレス): 0x0BA15 <-- Hexエディタでこの位置を開く
• 変更前(純正): 74 07 (jz short ...)
• 変更後(パッチ): EB 07 (jmp short ...)

🏁 結果

Intel 486の実機にて動作確認済み。書き換え後、システムファイル保護(WFP)に注意しながら dllcache と system32 のファイルを差し替えることで、クラッシュが完全に解消し、16bit DOS環境やMS-DOSプロンプトが正常に起動するようになりました。
歴史の闇に埋もれていたバグが、美しい1バイトパッチとして結実しました。
2026/10/27(火) 19:24:45.53ID:MgjxVP2c0
いつまでもスレのルールを守れない連中こそ老害だろ
公共交通や飲食店で平気で順番飛ばすジジババみたいなもんだ
認知の歪みでそうなるらしいけど、ここにも大勢いるな
いい加減周囲に迷惑かけてる事に気付いて欲しいもんだが
2026/10/27(火) 19:32:56.89ID:+lWsLN1P0
効いてて草w
2026/10/27(火) 19:37:38.98ID:lBbblpIh0
効き過ぎてスルーできないからいつまでも粘着する奴らが調子に乗る
2026/10/27(火) 19:50:30.30ID:MgjxVP2c0
スルーしてたら認知症のおじいちゃんたちがいつまでもルール違反なのに気付けずにそのまま続けるからね
歳とっても教育は必要
効くとか効かないとかどうでもいいけど、率先して話に乗ってる老害に言われたくはないんで、ルールが守れないならもう黙っててねおじいちゃん
2026/10/27(火) 20:20:36.84ID:lBbblpIh0
効いてて草
685名無しさん@お腹いっぱい。
垢版 |
2026/10/27(火) 20:24:32.32ID:9lPZPmC80
>>683
注意してるとか高尚なこと言ってるけど全く思惑通りになってないし調子に乗らせてるだけ
スルーしろ、おじいちゃん
2026/10/27(火) 20:58:25.41ID:yy1+SvY+0
毛沢東おしまいだよ
2026/10/27(火) 21:20:48.39ID:wv/9G6QX0
>>671
逆汗ダンプはこちらに投稿しました。
NTVDM.EXEのバージョンが違う場合はご参照ください。

Windows2000を使いつづけるスレ その279
https://mevius.5ch.io/test/read.cgi/win/1736153005/113-114
688名無しさん@お腹いっぱい。
垢版 |
2026/10/27(火) 21:59:16.51ID:wv/9G6QX0
>>671
早とちりでした。
直っていなかったです。問題はDOSアプリではなくWin16アプリでした。
2026/10/27(火) 22:23:10.02ID:MgjxVP2c0
>>685
うん、だったらまず見本をみせないとねおじいちゃん
俺はスルーせずに注意するってスタンスだからレスするけど、お前はスルーってスタンスだそうだからもう黙れよ
690名無しさん@お腹いっぱい。
垢版 |
2026/10/27(火) 22:27:26.30ID:9lPZPmC80
本当にスルーできない老害だな笑
2026/10/27(火) 22:35:08.89ID:VTqZ3z7j0
真っ赤で効きすぎてて草
そろそろ自重しろ
2026/10/27(火) 23:03:36.44ID:cKPYx3Eq0
RetroArch
http://egg.5ch.io/test/read.cgi/software/1763732572/256
http://egg.5ch.io/test/read.cgi/software/1763732572/261

JDownloader
http://egg.5ch.io/test/read.cgi/software/1770852451/633
http://egg.5ch.io/test/read.cgi/software/1770852451/637
http://egg.5ch.io/test/read.cgi/software/1770852451/639
http://egg.5ch.io/test/read.cgi/software/1770852451/641

ソフトウェア版で暴れてるいつもの奴か
2026/10/27(火) 23:41:40.02ID:MgjxVP2c0
いつも各所で俺にボロクソにされてるビッドマンかな?w
リストアップごくろうさんww
次はhissiかな?( ´,_ゝ`)プッ
悔しいのぅwww
2026/10/27(火) 23:49:44.51ID:cKPYx3Eq0
ビッドマンってMAMEスレ先住民のことでは
2026/10/27(火) 23:57:50.61ID:zTHwQkGf0
突然目の前に仮想敵が現れる病気の人いるよね
2026/10/28(水) 00:08:30.02ID:G6QViYeA0
過去の傷えぐられたから必死なんだよ
ってレスしたらIDコロコロって言われるんだろうな
レスを投稿する


ニューススポーツなんでも実況