Neko Project 21/W(np21w, ねこープロジェクト21/W)はPC-98エミュレータ Neko Project IIおよびNeko Project 21(ねこープロジェクトII、ねこープロジェクト21)をベースに、ニッチなハードウェアのエミュレーションやPC-98後期モデル(1993~2000頃)の再現に耐えうる改造を施したものです。
また、ニッチなハードウェアのエミュレーションに限定してNeko Project II相当まで簡略化したNeko Project II/W(np2w, ねこープロジェクトII/W)も配布しています。CPUが80286(プロテクトモードなし)相当ですが比較的軽量に動きます。
本家猫: http://www.yui.ne.jp/np2/
Twitter: https://twitter.com/simk98l
mail: simk98lfo@gmail.com
本エミュレータの機能追加の多くは98らしさが失われていった後期モデル相当ですので、開発者の腕試し的な要素が強く、一般ユーザーにはあまり役に立たないニッチなものです。
本家のNeko Project II/21で動く物は基本的にそのまま動きますが、特別良くなるわけでもありません。 PC-98前期~中期(1993頃迄)のエミュレーションは例えばNeko Project II fmgen版などをおすすめします。
【2025/06/26】 Neko Project 21/W ver0.86 rev95β2を公開しました。 ・シームレスマウス状態の時画面外へのドラッグを捕捉するように変更 ・マウスドライバもバグがあったので更新推奨です ・HAXM版でたまにリセットが効かない問題を修正したつもり ・HAXM版でウィンドウアクセラレータ描画が変になる問題を修正 【2025/06/21】 Neko Project 21/W ver0.86 rev95β1を公開しました。 ・WABで16bitカラー以上にすると無変更でも常時描画されるようになってしまう不具合を修正 ・GPU使用率が下がるはずです ・HAXMの命令フックをデバッグ命令からHLT命令に変更して安定化 【2025/06/19】 Neko Project 21/W ver0.86 rev94を公開しました。 ・BEEP PCMにオフセットを除去するオプションを足してみました ・Deice->Sound->Fix beep PCM offset ・音の鳴り始めと終わりにブツブツ音がするのが緩和されるかも知れません ・Other->CalendarのVirtual calendarの設定がリセットしたり終了したりしても保持されるようになりました ・ホスト時刻とのオフセットが一定になるように動きます ・仮想マシン内でカレンダを変えた場合もそのオフセットが保持されます ・CPUのかなり攻めた高速化を試みました ・CPUクロックを適当な大きな値(例えば300MHzくらい)にしてから動的CPUクロック調整(Screen->Dynamic CPU clock adjustment)をONにすると処理時間は最速になります ・メインのビルド環境をVisual Studio 2019に変更しました ・旧ビルド環境よりもパフォーマンスが向上します ・ただし旧OSでは動かなくなります ・しばらくはvs2010版も併せてリリースします ・タイミング周りの見直しで可能な限り無駄にCPU使用率を上げないようにしました ・ネットワーク周りのポーリングをやめて負荷を低減しました ・コピー&ペースト機能でメモリ破壊していた不具合を修正しました ・SB16/118ゲームポートの有効無効を設定画面に追加しました ・SB16/118ゲームポートでアナログ入力が出来るようにしました ・Windows NT系向けのHOSTDRVを実装しました ・Windows NT系からHOSTDRVへアクセス出来ます(ロングファイルネーム対応) ・詳細は別途配布している「Neko Project 21/W ホスト共有ドライブドライバ&ユーティリティ for Windows NT」を参照のこと ・np2システムポートでマウス絶対座標を取得出来るようにしました ・Windows 3.1, NT3.51, NT4.0, 2000用のシームレスマウスドライバを試作しました ・ドライバはnp21/wと同じ場所で配布しています ・np2システムポートの仕様は https://simk98.github.io/np21w/docs/npcngcfg.html で公開しています ・特定のソフトウェアMIDIシンセサイザーを使用しているときCPU負荷が過剰に上がる問題の対策 ・何も送らないと異常になるようなので定期的にActive Sensingメッセージを送れるようにしました ・INFにmidiasns=trueを書いてmidiaintに送信間隔をミリ秒で書いて下さい 【2025/04/06】 Neko Project 21/W ver0.86 rev93を公開しました。 ・86PCM周りを大改修しました(ポリスノーツとかがちゃんと動きます) ・CD交換時の挙動を改善しました ・CS4231(WSS)とSB16の排他漏れを修正しました ・CS4231(WSS)のタイミングを修正しました ・CS4231(WSS)とSB16のPIO再生を修正しました ・Load VM Configでアクセス違反が発生する可能性がある問題を修正しました ・Async CPUあらため動的CPUクロック調整(Screen->Dynamic CPU clock adjustment)を実験版から正式版にしました ・設定されているクロック数を上限として可能な限り高速に動かし、処理落ちする場合は動的にクロック数を落とします ・PC-98系のソフトはCPUクロックが途中で変わることを想定していないと思いますので、基本は固定がよいと思います ・np2wの方でも使えるようにしました(が、タイミングの方が重要だと思いますのでベンチマーク用ですね) ・動的CPUクロック調整使用時にタイミングがおかしくなる問題を修正しました ・マルチスレッドモード有効の時、フルスクリーン切り替え時などにたまにウィンドウが変になる問題を修正 ・マルチスレッドモードを非公開機能から昇格(設定画面)に追加しました ・Emulate→Configureの下側にあります ・ウィンドウ操作でエミュレーションが停止しなくなり、他のアプリケーションに起因するパフォーマンスの影響を受けにくくなります
本家から変更されている点は以下の通りです。