Windows2000


Windows2000はかなり面倒くさいです。

動画にしてみました。
【ニコニコ動画】【PC-98】改造Neko Project 21でWindows2000を動かす【エミュレータ】

最近のバージョンで撮り直したもの


用意するもの

以下のものを用意してください。

 いるもの コメント
 Neko Project 21/W IDE対応・ATAコマンド修正・キーボード修正が必要なので
 Windows2000 セットアップCD
 これがないと話になりません。当然PC-98版のCDが必要です。
 Windows2000 起動ディスク DOSを使わない場合に必要。実はCDに入っているイメージはそのままマウントできます。
 MS-DOS or Win95/98起動ディスク FAT32が使えるWin98起動ディスクを推奨。Win95はOSRによっては使えるかも。
 FAT16しか使えない場合はとりあえず2GB確保して一時ファイルを置く事になります。
 Win2000起動ディスクを使う場合も固定ディスク起動メニューの書き込みに必要です。
 Win2000起動ディスクを使う場合はHDDイメージ作成時にBlankにしておけば不要です

手順

【概要】
セットアップ起動ディスクを使う場合はver0.86 rev27以降を使う(ただし、起動ディスクを使うとIPLが転送されないようなので先にFDISK等で固定ディスク起動メニューを転送しておくこと。起動ディスクを使用する際は完全に空のディスクとして作成すればIPLが転送されます)。ver0.86 rev26以前の場合はブルースクリーンで止まるのでDOSからセットアップを開始する。ひたすら時間がかかるので待つ。一回目の再起動の時にNP21をI/O:F0hを無効にした怪しいバージョンに差し替えて続きを始める。この段階から数時間かかるのでひたすら待つ。そのうち終わります。
運が悪いとデバイス検出時にブルースクリーンが出ますが、何回か繰り返していればそのうち通ります。基本的に運次第です。大抵は2回くらいで通ります。ver0.86 rev37β1で不具合が修正されました!(ConfigureでAlways use 16bit I/O port addressingにチェックを入れてください)

(セットアップ完了時間目安:Core i7-2600K上でノーウェイトで動かしてトラブルがない場合4時間半。Core i5-9600Kの場合は半分くらいの時間で終わります

一番長いのはこの画面で1時間半このままです(ディスクアクセスはしてます)

●他、知っておくと良いこと
・PCIバスの有効・無効は後から切り替えできません。使用するか考えてからセットアップして下さい
 ・無効にした場合、PCI CL-GD5446は使用できません(CL-GD5430は使えます)
 ・有効にした場合、PCI搭載していない旧版Neko Project 21/Wでは動かせません
rev37以降は必ずConfigureでAlways use 16bit I/O port addressingにチェックを入れてください(デバイス検出で落ちます)
・サウンドはメニューのMate-X PCMを選んでハードウェア検出すると自動的に見つけてくれます(ver0.86 rev36以降)。
・86音源を使いたい場合はWindows NT4.0 のドライバを借りてください。Windows NT4.0 にあるmmdriver.inf(mmdriver.in_という名前で圧縮されているのでexpandコマンド等で戻してください)を読み込ませて「NEC PC9821 built-in(YM2608),PC9801-86」や「NEC PC9821 built-in(MPU401)」を選ぶと鳴らせます。
MPU-PC98IIは隠しオプションでAT互換機用のポートを開けて隠しドライバを使う、Windows NT4.0のドライバを借りるなどの方法があります。
 ・Windows NT4.0 ドライバを使ってMPU401(MPU-PC98II)でMIDIを鳴らすときは最後に「Low level Wave, MIDI and AUX support」を入れてください(ファイルを上書きするか聞いてきますが上書きはしないでください)
 ・こちらの環境ではMPU-PC98IIはI/O:E0D0  INT2、86音源はI/O:0188  INT5で動作しています
・Windows95/Windows98で発生していたMIDIスロー再生問題はWindows2000では起こりません
・メルコ製LANボードLGY-98とXe10内蔵ウィンドウアクセラレータCL-GD5430は自動検出できません
・HDDは事実上1台しか認識しないのでNTFSで起動不能にしてしまうとサルベージが難しくなります。np21wがver0.86 rev2以降であればセカンダリマスタをHDDにして予備のWin2000で起動すればとりあえずサルベージできます。(ver0.86 rev47からはスレーブも使えます)
・FDDは使用できません。ディスクを入れてもディスク無しになります。(ver0.86 rev27からは使用可能)
・起動ディスクでセットアップする場合、HDDに事前に固定ディスク起動メニューを書き込んでおく必要があります

 ・つまり、NewDiskで作成したてのHDイメージは使えません
 ・DOSを起動して、初期化、領域確保、状態変更等の操作をすると書き込まれます
・起動ディスクでセットアップする場合、ハードディスクイメージを完全な空ディスクとして作成する必要があります
 ・NewDiskでNHDまたはVHD形式を選択し、AdvancedオプションのBlankにチェックを入れて作成してください
・完全な空ディスクでない場合、Win2000セットアップが固定ディスク起動メニューを書き込まず、起動できません
 ・Blankにチェックを入れ忘れた場合、DOSを起動して、初期化、領域確保、状態変更等の操作をすれば固定ディスク起動メニューが書き込めます
・CPUをPentium Proにして起動するとHLT命令を使わなくなります(Windowsの仕様?)
 ・アイドル時のホストの負荷が増えます
 ・一度でもこの状態になるとCPUをPentium Pro以外にしても直りません
 ・レジストリエディタでHKLM\SYSTEM\CurrentControlSet\Control\Session ManagerのEnableHaltを1にすれば直ります
・PCI CL-GD5446を使用したい場合はセットアップ時にPCIバスを有効にしておいて下さい
 ・後からPCIの有無を変えると起動しなくなります。(回避策不明)
 ・ただし、PCI有効でセットアップした場合PCIが搭載されていないrev44より前のバージョンでは使えなくなります

・【重要】セットアップ時にはIDE設定でInterrupt DelayをREAD/WRITEともに2000以上にして下さい
 ・これをしないと高確率でセットアップ途中で大量のログファイルが生成されてディスクが埋め尽くされます
 ・ログファイルが大量に出来てしまう場合は値を増やしてみて下さい(ディスクアクセスは遅くなります)
 ・ログが増殖しているかどうかはShift+F10でコマンドプロンプトを出してWINNT\securityに移動し、dirコマンドで確認して下さい
 ・セットアップ完了後はInterrupt Delayを0に戻しても大丈夫だと思います

具体的なセットアップの手順は次の通りです。

①  MS-DOSから始める場合

1.まず、3GB以上のハードディスクイメージ(IDE BIOSを使う場合は4GB未満の制限も付く可能性があります)を用意してください。このサイズで作成できるエミュレータは限られていますが、Neko Project 21/WはNHD形式での作成に対応しています(new diskのファイルの種類でNHDを選んでください)。

2.FDD1にMS-DOSの起動ディスク(Win98起動ディスクを推奨)を、Harddiskに先ほどのハードディスクイメージをセットしてください

3.NP21を開いてDOSが起動したらformat /Hやfdisk+formatで先ほどのディスクをフォーマットしてください(システムも転送してください)。3GB以上確保できない場合は2GB(セットアップ先)+2GB(一時ファイル格納用)でも構いません

4.HDにmscdex.exeとneccdd.sysをコピーして、CDを使えるようにCONFIG.SYSとAUTOEXEC.BATを作成してください(Windows3.1のセットアップ手順を参考に)。

5.NP21をHDから起動してください。これまでの設定が上手くいっていればCDドライブを認識して起動するはずです。

6.IDE#3にWindows2000のCDイメージを挿入して、nec98ディレクトリに入りWINNT.EXEを実行してください(i386ではないので注意)。

7.画面の指示に従ってください。ファイルコピーが終わると再起動を促されますので再起動してください。(IDE BIOSを使う場合はNP2のメニューからリセットをした方がいいかもしれません)

8.再起動すると使用許諾云々が出ますので画面の指示に従ってください。ここで一時ディレクトリからのファイルコピーが始まります。

9.再び再起動を促されますので再起動してください。(IDE BIOSを使う場合はここでもNP2のメニューからリセットをした方がいいかもしれません)

以下、②  起動ディスクから始める場合 の5.以降と同じ


②  起動ディスクから始める場合

1.2GB以上の完全に空のハードディスクイメージ(NHD形式またはVHD形式でイメージ作成ダイアログのAdvancedにあるBlankにチェックを入れて作成を用意してください。このサイズで作成できるエミュレータは限られていますが、Neko Project 21/WはNHD形式またはVHD形式での作成に対応しています(new diskのファイルの種類でNHDまたはVHDを選んでください)。

2.FDD1にWindows2000のセットアップ起動ディスク#1(SP有りの場合はSPを適用したディスクが要ります)を、Harddiskに先ほどのハードディスクイメージをセットしてください

3.指示に従っていくと、途中でHDDが破損または未フォーマットと表示されるので、初期化を行い、Windows2000のセットアップ起動ディスク#1を入れて再起動してください(このときに固定ディスク起動メニューが書き込まれます

4.2周目でハードディスクのフォーマットとファイルコピーが行われます。ファイルコピーが終わると再起動を促されますので再起動してください。

原因は分かりませんがWindowsがセットアップ中に1MBのログファイルを1000個以上作成してディスクを埋め尽くすという暴挙に出てしまうので、5-1~5-4の内容を実行してログファイルを読み取り専用にして作成できないようにしてしまう方が良いでしょう。
(セットアップ終了後に問題を起こすのでedb0*.logを消すだけにしておいた方がよさそう→edb0*.logだけでも消すと問題を起こす場合があるようなので要注意・・・具体的な症状の一つとしてはデバイスドライバのインストールが出来なくなります
一応セットアップが終わったら消すらしいので、ディスク容量に余裕がある(4GB以上ある)場合は放置でも何とかなります。むしろ放置の方が良いかもしれません。
5-1.WindowsのGUI画面が出てきて「お待ちください…」と出ますが、待たずにShift+F10を入力してコマンドプロンプトを出してください
5-2.cdコマンドで\WINNT\securityに移動してください(Win9xからアップグレードした場合は\WINDOWS\security
5-3.ディレクトリ内にedb.logという名前の空ファイルを作成してください(type nul > edb.logあるいはcopy nul edb.logで作るのが楽だと思います
5-4.attrib +r edb.logを実行してedb.logを読み取り専用にしてください
5-5.あとはひたすら待ちます。時間がかかりますがディスクアクセスをしていれば大丈夫です。
※5-1~5-4は出来るだけ早く実行してください。もたもたしているとedb.logがファイルロックされた状態で作成されてしまいます
※ログファイルが大増殖してにっちもさっちもいかなくなった時はdel edb0*.logを実行すればとりあえず消せます
【重要】この段階ではIDE設定でInterrupt DelayをREAD/WRITEともに2000以上にして下さい

6.デバイス検出が始まります。np21w ver0.86 rev36以前は結構な確率でブルースクリーンになるのでrev37β以降の使用を推奨します。

7.プロダクトキーやパスワードの入力を求められるので画面の指示に従います。

8.これ以降は基本的に時間がかかるだけなので放置でOKです。

9.セットアップが終了しましたと出たら指示通りに再起動してください。

10.再起動後にログイン画面が出ます。これでセットアップは完了です。(デバイスマネージャを見るとCOM1という不明なデバイスが出ますが、気になる人は手動でNECの通信ポートドライバを入れてください)

CL-GD5430で高解像度モードを使う

Neko Project 21/Wはウィンドウアクセラレータを搭載していますので、640x480 256色以上の解像度と色数が使えます次の手順で設定してください。

1.Neko Project 21/Wの「Window Accelerator option...」でCL-GD5430を有効にしてください。機種設定は特に理由がなければ使用している実機BIOSに関わらずXe10, Xa7e, Xb10内蔵にしてください。
※PCIが有効な場合はPCI CL-GD5446も使えます(若干描画にバグがありますが、1024x768 64k色が使えたりします)。次の「PCI CL-GD5446で高解像度モードを使う」を参照のこと

2.Windows2000でデバイス検出を行うか、手動で「内蔵アクセラレータ(CIRRUS LOGIC社製GD5430)」のドライバを入れてください。セットアップ時にCL-GD5430を有効にしていた場合はこの作業は不要です。

3.CL-GD5430のサポートが完全でないため、マウスカーソル含め所々グラフィックがバグります。なので「画面のプロパティ」→「設定」タブ→「詳細」ボタン→「トラブルシューティング」タブでハードウェアアクセラレータを「なし」あるいはその1つ隣に設定します 

4.これでCL-GD5430の設定は完了です。

PCI CL-GD5446で高解像度モードを使う

Neko Project 21/W rev44以降はPCIバスとPCI接続CL-GD5446ウィンドウアクセラレータを搭載していますので、1280x1024 256色や1024x768 64k色が使えます。CL-GD5430と比べるとややグラフィック描画にバグがあるので注意。次の手順で設定してください。

1.Windows 2000をPCIバスを有効にした状態でセットアップする。
(セットアップ後にPCIバスの有無を変更すると起動しなくなります。現状では回避策不明)

2.Neko Project 21/Wの「Window Accelerator option...」の機種選択でPC-9821 PCI CL-GD5446を選択してください。ドライバのインストールが終わるまで自動選択にはしないで下さい。

3.再起動するとPCIデバイスのドライバがプラグアンドプレイで勝手にインストールされるので待ちます。完了後に再起動すれば高解像度で表示できるようになるはずです。

4.これでPCI CL-GD5446の設定は完了です。設定完了後はウィンドウアクセラレータを自動選択(PCIを含むもの)にしても構いません。

注意! ハードウェアの追加と削除ウィザードを使う際はCL-GD5446を一時的に無効にして下さい。そうしないと何故か進みません(^_^; 直しました



効果音やMIDIを鳴らす(標準ドライバを使う場合)

Neko Project 21/W ver0.86 rev36β3よりMATE-X PCMが使用可能になりましたので、メニューからMate-X PCMを有効にしてセットアップするか手動でデバイス検出を行うと、ドライバが自動的にインストールされてサウンドを鳴らせます。118音源の場合も自動検出は出来ませんがMate-X PCMのドライバで動かすことが出来ます。一応Mate-X PCMと言う選択肢がありますが、np21wではPC-9801-118でも動いてしまうようなのでこちらを使っても構いません。
MIDIについては非公開機能OPTMPUATと隠しMPU-401ドライバを使うことで使用可能です。隠しMPU-401ドライバを使う場合は以下の手順に従ってください。

1.Neko Project 21/Wを終了した状態で設定ファイル(np21w.iniまたはnp21x64w.ini)を編集し、[NekoProject21]セクションにあるoptMPUATをtrueにしてください(無い場合はoptMPUAT=trueを足してください)。

2.Windows2000システムディレクトリ(通常は\WINNT)のinfディレクトリ(恐らく隠しディレクトリ)の中にあるwdmaudio.infを編集し、ExcludeFromSelect = *の行を削除して保存してください。

3.Windows2000で新規ハードウェアの追加を実行します。この際、「いいえ、一覧からハードウェアを選択します」にして、「サウンド、ビデオ、およびゲームコントローラ」を選択してください

4.製造元としてMicrosoftを選ぶとリストに「MPU-401 互換 MIDIデバイス」があるので、これを選んでください。割り込み設定を聞かれたらNeko Project 21/Wに設定されている値を選択してください。ポートはデフォルトのまま(330h-331h)でOKです。IRQは猫本体の設定に合わせて下さい(選択肢がない場合、wdmaudio.infの[MS_MPU401.LogConfig]セクションのIRQConfigを編集して足して下さい)
既知の不具合:np21w上で一度でもWin9xを起動すると何故かドライバがエラーになります。エラーになる時は一旦
np21wを終了させてから起動し直してみてください。この現象はWinNT4.0のドライバでは起こらないのであえてそちらを使う手もあります。→最近のバージョンでは起こらなくなりました

5.これでMIDIの設定は完了です。


効果音やMIDIを鳴らす(WindowsNT4.0のドライバを使う場合)

Neko Project 21/WはMATE-X PCMに対応していませんので、標準ドライバが使用できません(ver0.86 rev36β3よりMATE-X PCMが使用可能)。幸いなことに、Windows NT4.0のドライバが使用できますので、それを使うことでサウンドを鳴らせます。MIDIについても同様です。

1.Windows NT4.0のセットアップディスクからmmdriver.in_を抽出し、EXPANDコマンドなどでmmdriver.infに戻してください。展開したmmdriver.infは他にinfファイルのない場所に置いてください。

2.Windows2000で新規ハードウェアの追加を実行します。この際、「いいえ、一覧からハードウェアを選択します」にして、ディスクを使用でmmdriver.infを指定してください。

3.PCMはNEC PC9821 built-in(YM2608),PC9801-86」、MIDIはNEC PC9821 built-in(MPU401)で動作するので、これらを入れてください。割り込み設定を聞かれたらNeko Project 21/Wに設定されている値を選択してください。MIDIを鳴らすときは最後に「Low level Wave, MIDI and AUX support」を入れてください(ファイルを上書きするか聞いてきますが上書きはしないでください)。
※もし86音源でMIDIを鳴らしたい場合は、「
MIDI Synthesizer」を入れてやればOKです。

4.これでサウンドとMIDIの設定は完了です。


LGY-98でネットワークに接続する

Neko Project 21/WはLGY-98を搭載していますので、これを使ってLANに接続できます。

1.Windows2000で新規ハードウェアの追加を実行します。この際、「いいえ、一覧からハードウェアを選択します」にして、ディスクを使用でWindows2000 CDのVALUEADD\3RDPARTY\DRIVERS.JPN\NEC98\MELCO\LGY98\NETLGY98.infを指定してください。

2.デバイスの設定をする画面が出ますので、IRQとI/O範囲の部分を正しく設定してください。INTではなくIRQなので注意してください。

3.再起動を促されるので再起動してください。デバイスマネージャでエラーが出なければ完了です。


【番外編】ちょっとだけ速くする

Windows2000は結構重たいOSですが、若干であれば速くできます。

1.「ファイル名を指定して実行」でwmimgmt.mscと入力して実行

2.ツリーのWMIコントロール(ローカル)で右クリックし、プロパティを表示します。

3.「バックアップ/復元」タブで自動バックアップを無効にします。




【番外編】Visual Studio 2005や.NET Framework 2.0 SP2のようなPC-98非対応ソフトを入れる

Visual Studio 2005や.NET Framework 2.0 SP2はなぜかPC-98不可にされていますが、以下の方法で無理矢理入れられます(動くかは別問題)。

1.セットアップパッケージを何らかの方法で展開する
(実行してPC-98駄目ですメッセージが出ている間にどこかに展開されている一時ファイルをコピーするのもアリ)

2.Setup.SDBみたいなファイルがあるのでメモ帳で開いて[VS Custom]セクションにAllowInstallToNEC=trueを足す

3.セットアップを実行する。

Comments