おすすめ記事

【朗報】PC-98エミュでWindowsNTを起動した場合にホスト側CPU負荷が高くなる現象を回避するパッチが登場!!

引用元: 【朗報】PC-98エミュでWindowsNTを起動した場合にホスト側CPU負荷が高くなる現象を回避するパッチが登場!!


画像引用元:PC-98シリーズはボクたちを大人にしてくれた。”未来技術遺産”登録記念 – Engadget 日本版

Sponsored Link

1: 名無しさん 2019/11/12(火) 12:58:51.51 ID:fRbYm6uE0 BE:487816701-PLT(12060)
sssp://img.5ch.net/ico/mokkori-na_2.gif
77名無し~3.EXE2019/11/06(水) 02:45:02.20ID:qBlO5wps
PC-98版のNT3.51とNT4.0のHLT(CPU idle)が有効にならない問題を解析できる猛者はいない?
PC-98版NT3.50ではHLTは有効なのは確認している。
PC-98版NT3.50ではHALが1つしかないが、NT3.51とNT4.0は複数種類あるのでその辺に
ヒントがありそう

78名無し~3.EXE2019/11/06(水) 02:55:43.67ID:qBlO5wps
この辺の記事と関係ありそうですね

NT4, Citrix Metaframe 1.8, and SMP under VMware – CPU Hogging Solution
https://communities.vmware.com/docs/DOC-11700

ソース
NT3.51スレ SP1
http://mevius.5ch.net/test/read.cgi/win/1519045457/77-87

2: 名無しさん 2019/11/12(火) 12:59:38.66 ID:fRbYm6uE0 BE:487816701-PLT(12060)
sssp://img.5ch.net/ico/mokkori-na_2.gif
79名無し~3.EXE2019/11/06(水) 03:02:31.74ID:qBlO5wps
同様の問題について語っているWebで入手可能な多数の記事はすべて、HLT命令に基づいています。 私はお気に入りの逆アセンブラでHALAPIC.DLLを開き、次のエクスポートとアセンブリを見つけました。

HalProcessorIdle proc near
sti; 割り込みフラグを設定する
hlt; 停止状態に入る
retn; 近くの手順から戻る
HalProcessorIdle endp

わかりましたので、予想どおりにHLT命令を実行します。 HALMPS.DLLを開くと、次のことがわかりました。

HalProcessorIdle proc near
sti; 割り込みフラグを設定する
retn; 近くの手順から戻る
HalProcessorIdle endp

80名無し~3.EXE2019/11/06(水) 03:56:55.94ID:qBlO5wps
98版でHLTを有効にする方法みつけちゃったかも

81名無し~3.EXE2019/11/06(水) 03:59:32.75ID:qBlO5wps
N€CとMCRO$OFTの技術者は何考えてんだ?
ノート型PC-98にNT3.51やNT4.0を入れたら凄い勢いでバッテリー消耗するのに

3: 名無しさん 2019/11/12(火) 13:00:00.13 ID:fRbYm6uE0 BE:487816701-PLT(12060)
sssp://img.5ch.net/ico/mokkori-na_2.gif
82名無し~3.EXE2019/11/06(水) 04:10:52.31ID:qBlO5wps
但し私の技術力ではNT3.1(PC-98版問わず全般)のHLTが有効になたない
問題を解決する方法を持っていません。なぜならなWindows NT 3.1には
HalProcessorIdle関数が存在しない為

83名無し~3.EXE2019/11/06(水) 05:43:39.18ID:qBlO5wps
NT3.51及びNT4.0のHAL.DLL(np21/Wでは使われているであろう5MHz系HALのhal98up.dll)を
解析しみた結果

HalProcessorIdle proc near
sti; 割り込みフラグを設定する
nop; 何もしない
retn; 近くの手順から戻る
HalProcessorIdle endp

ということが判明しました。
これはどんなにエミュレーターの改良を使用ともNT3.51/NT4.0を使用時にホスト側CPUが
発熱・過熱することを意味します。
なのでバイナリエディタでNOP(0x90)をHLT(0xF4)に置き換えたのちPEチェックサムをあわせてみた
ものを使用した結果、ゲスト側のWinNTが高速作動する又はホスト側CPU負荷が軽減する結果が得られました。

4: 名無しさん 2019/11/12(火) 13:00:29.31 ID:fRbYm6uE0 BE:487816701-PLT(12060)
sssp://img.5ch.net/ico/mokkori-na_2.gif
84名無し~3.EXE2019/11/06(水) 05:57:40.17ID:qBlO5wps
唐突にエミュレーターを出ましたが、この調査の発端はPC-98エミュレーターで
NT3.51/NT4.0を使用時にホスト側のCPU負荷が高くなってしまう現象の調査の為に行いました。
(NT3.50/2000(NT5.0)の場合は適切にHLTが作動しているのとは対象的に)

85名無し~3.EXE2019/11/06(水) 06:19:50.29ID:qBlO5wps
スクショ
NT3.51
https://i.imgur.com/LyFkFr3.jpg

NT4.0
https://i.imgur.com/0lYxTdI.jpg

バイナリ(NT3.51 SP5とNT4.0 SP6のhal98up.dllベース)
https://www.axfc.net/u/4009776.zip

86名無し~3.EXE2019/11/06(水) 11:59:57.40ID:qBlO5wps
NT3.51の8HMz系HALのhal98oct.dllもパッチしてみたら、Anex86での作動がよりスムーズになりました。

5: 名無しさん 2019/11/12(火) 13:00:38.33 ID:3hoQHLXz0
もう永遠に眠らせてやれ98は

6: 名無しさん 2019/11/12(火) 13:00:44.56 ID:fRbYm6uE0 BE:487816701-PLT(12060)
sssp://img.5ch.net/ico/mokkori-na_2.gif
87名無し~3.EXE2019/11/07(木) 18:05:33.56ID:FRAH9HHC
871名無しさん@お腹いっぱい。2019/11/07(木) 17:39:51.77ID:bgxVah+m0
IDEBIOS使用時にNT3.51でセカンダリースレーブに繋ぐと
起動時の黒画面で固まってしまって使えないと思っっていたのですが、
IDEのInterrupt Delayを2000にしてしばらく待っていたら起動できました。

BX4のIDEBIOSで3台認識
https://i.imgur.com/4OZioj5.jpg

7: 名無しさん 2019/11/12(火) 13:01:07.32 ID:Tj3knV+x0
一体何人がその条件を満たす使い方しているんだろうか?
困っている人も居るのかも知れないけど。

8: 名無しさん 2019/11/12(火) 13:02:17.54 ID:fRbYm6uE0

9: 名無しさん 2019/11/12(火) 13:03:21.01 ID:7MicExs60
もうおとなしく中古のPC98買ってこいよ

10: 名無しさん 2019/11/12(火) 13:04:00.79 ID:fsNU9HmB0
やっとかよ

おすすめ記事

11: 名無しさん 2019/11/12(火) 13:04:27.52 ID:d6zncDw60
98エミュって何?
昔のエロゲ用ってこと?

12: 名無しさん 2019/11/12(火) 13:04:42.06 ID:fRbYm6uE0
PC-98実機でも効果のあるパッチです

16: 名無しさん 2019/11/12(火) 13:12:55.44 ID:7MicExs60
>>12
へーそうなんだ

13: 名無しさん 2019/11/12(火) 13:09:19.79 ID:qTA3Dz4b0
正直、画面なんてNT4.0のままで良かったんだよ。

44: 名無しさん 2019/11/12(火) 16:08:32.02 ID:5gL1Y72q0
>>13
当時から半角カタカナ使ってるのが嫌だったわ

それとIE4統合しないとさすがにしょぼすぎ

14: 名無しさん 2019/11/12(火) 13:09:33.57 ID:9Eu791dE0
30年くらいシステム使い回してる工場とかでも需要があるのかどうか

15: 名無しさん 2019/11/12(火) 13:09:34.59 ID:aVNt45je0
このくらいは仕事で金もらってたら俺が解析して修正してやんよ
金にならないし将来性無い分野だからやらねえだけよ

でもCitrixの奴は仕事で対応したんだろな

17: 名無しさん 2019/11/12(火) 13:14:11.66 ID:RPTf7dne0
お、おう・・・ど、どうだった?

18: 名無しさん 2019/11/12(火) 13:16:03.31 ID:jXRc2Sv/0
「この中のデーターをこっちのパソコンにササッと移し変えて。パソコン得意だろ?」
って、フロッピーディスクなる物を渡されたときの俺の気持ち。

19: 名無しさん 2019/11/12(火) 13:22:48.40 ID:KU5pxbH40
>>18
工場だといくらでもあるんだけどな

Sponsored Link

20: 名無しさん 2019/11/12(火) 13:23:05.84 ID:fRbYm6uE0
【朗報】PC-98エミュでWindowsNTを起動した場合にホスト側CPU負荷が高くなる現象を回避するパッチが登場!!
http://leia.5ch.net/test/read.cgi/poverty/1573493806/

21: 名無しさん 2019/11/12(火) 13:24:25.48 ID:cAMu6rOC0
こんな事する意味あんのか?w

22: 名無しさん 2019/11/12(火) 13:41:28.97 ID:zVpo41HA0
新しいPC買えよ

23: 名無しさん 2019/11/12(火) 13:42:20.40 ID:qG7wBi3b0
これがあれば更新しなくて良かったのにって考えてる企業いっぱいあるだろうな

24: 名無しさん 2019/11/12(火) 13:42:21.62 ID:j0k9m2/80
何コレwwww

25: 名無しさん 2019/11/12(火) 13:47:51.24 ID:eZml43hV0
エミュなんだから適度にクロック落とせばいいんじゃ?

26: 名無しさん 2019/11/12(火) 13:47:58.84 ID:cHaGLuKe0
マジかよすげぇな (全然分かってない)

27: 名無しさん 2019/11/12(火) 14:11:38.93 ID:aVNt45je0
> これはどんなにエミュレーターの改良を使用ともNT3.51/NT4.0を使用時にホスト側CPUが発熱・過熱することを意味します。

エミュレータのホスト側のNOP命令を元プロセッサの周波数に合わせたインターバル入れたC-state制御にすればそれで良いんだけどな
エミュレータの設計者がアホだっただけ

30: 名無しさん 2019/11/12(火) 14:27:00.30 ID:tlT1Afdo0
>>27
そうなの?
割り込みまでHALTせずにアイドルループしちゃってる問題だと思うんだけど、nopで解決できるん?

28: 名無しさん 2019/11/12(火) 14:15:12.73 ID:0FohHQFx0
変態すぎ

29: 名無しさん 2019/11/12(火) 14:17:50.76 ID:aBdYBg/X0
なんでカタコトなの?

31: 名無しさん 2019/11/12(火) 14:29:12.19 ID:o9jGbygq0
知らんがな!

32: 名無しさん 2019/11/12(火) 14:33:52.06 ID:GeuXr0CQ0
ニッチなパッチ

33: 名無しさん 2019/11/12(火) 14:52:18.12 ID:uqVCAljY0
ここで出てくるNOPとHALTは、Z80のマシン語と同じ意味と考えていいのかな?

34: 名無しさん 2019/11/12(火) 15:02:33.86 ID:robovSYk0
ああ、あれのことか

36: 名無しさん 2019/11/12(火) 15:09:07.22 ID:uc5h1PdM0
なんか利用価値あんの?

37: 名無しさん 2019/11/12(火) 15:11:23.92 ID:c4qNW8Y90
やったぜ!

40: 名無しさん 2019/11/12(火) 15:26:46.71 ID:uvyMqXVt0
またニッチな俺得スレか
ほとんど需要ないでw

41: 名無しさん 2019/11/12(火) 15:27:39.76 ID:3p5jZ4Sa0
98のDOSならわかるが98のウィンドウズをエミュレーションする必要がある用途って何?

42: 名無しさん 2019/11/12(火) 15:48:40.69 ID:CLy87FIT0
古いシステム系はこれがないと動かないモノもあるので
要るといえば…

43: 名無しさん 2019/11/12(火) 15:59:54.85 ID:eS0z1S5f0
うるせぇ、Aptiva投げつけんぞ

45: 名無しさん 2019/11/12(火) 17:16:14.04 ID:+RKlIFEZ0
2000は結構不安定だったな

47: 名無しさん 2019/11/12(火) 17:25:21.40 ID:uvyMqXVt0
>>45
エミュ上の話なら安定稼働は夢

48: 名無しさん 2019/11/12(火) 17:35:23.33 ID:a8KJyx/P0
Anex86懐かしすw

50: 名無しさん 2019/11/12(火) 19:01:51.26 ID:ZZlGRrbp0
>>48
仕事で時々使ってる。

58: 名無しさん 2019/11/13(水) 07:43:29.50 ID:eTQjycWq0
>>48
nekoprojectは今でも改訂されてるんだ

49: 名無しさん 2019/11/12(火) 18:43:30.88 ID:AV1sDJFt0
え、NTって省電力利かないんじゃなかったのか
VMWareのAT版でも同じだったような

51: 名無しさん 2019/11/12(火) 19:12:15.79 ID:AOyhQDeW0
ひたすらHLT命令出しまくるだけのフリーソフトとか昔あったな

52: 名無しさん 2019/11/12(火) 19:16:36.94 ID:tSIYxESZ0
>>51
Winodows 98のとき使ってた

53: 名無しさん 2019/11/12(火) 19:26:18.94 ID:TX1WS+Aq0
解析して原因を明らかにして修正するというのは大変なハイテクニックなんだけど
案外こういう人が年収300万程度だったりする

Sponsored Link

54: 名無しさん 2019/11/12(火) 19:34:08.18 ID:6uZVKgVb0
ジジィ乙

55: 名無しさん 2019/11/13(水) 03:34:40.80 ID:bLrpO/PP0
plug and playがなかったから辛かったな…

56: 名無しさん 2019/11/13(水) 04:27:04.30 ID:eZ1po3Gc0
ふつーは
ドライバ入れりゃ勝手に割り振ってくれるけどな

IRQやDMAが被りまくるほどボード挿さない限り

57: 名無しさん 2019/11/13(水) 04:28:02.74 ID:eSE9UkRm0
最近PC9821のCPU_MMX150MHzWindows95でネットにつないだがyahooのホームページ開くのに待てずに閉じた。動作確認ヨシ。

ニッチすぎ

Pocket

おすすめ記事

You may also like...

『【朗報】PC-98エミュでWindowsNTを起動した場合にホスト側CPU負荷が高くなる現象を回避するパッチが登場!!』へのコメント

※コメントは自動承認、スパムは自動削除されます。節度を持って楽しくコメントをお願いします。

コメントを残す