なんかくれ


とりあえずお察しください。

PC-9821シリーズエミュレータ Neko Project 21派生版の「Neko Project 21/W(np21w, ねこープロジェクト21/W)」を配布しています。

Neko Project 21/Wの主な特長は以下の通りです
Windows3.1Windows95, Windows98, Windows NT3.51, Windows NT4.0, Windows2000が動作します
・CPU倍率設定の制限事実上なし(ただしホストの性能に依存)
・搭載可能メモリ最大230MB
MELCO LGY-98 LANボード標準搭載
PC-9821Xe10内蔵 CL-GD5430 ウィンドウアクセラレータ標準搭載
PC-9821内蔵 PCI接続 CL-GD5446 ウィンドウアクセラレータ搭載可能
PC-9821内蔵 またはPC-9801-96拡張ボードのCL-GD54xx ウィンドウアクセラレータ搭載可能
MELCO WAB-S,WSN-A2F, WSN-A4F ウィンドウアクセラレータ搭載可能
各種ディスクイメージ形式追加対応(NFD等)
・実CD/DVDドライブマウントサポート
・PCIバスサポート
・CD-DAサポート
・PC-9801-118(118音源)、Sound Blaster 16(多分Winでは使えない)、Mate-X PCMなどの追加音源をサポート
・fmgenをサポート
FPUサポート
・MMX, SSE, SSE2, SSE3, 3DNow!, Enhanced
3DNow! サポート(選択したCPU種類による
・CPU種類選択可能(Intel 486SX~Pentium 4, AMD K6~K7)
・大容量HDDの作成と接続が可能(NHD形式で8GB,隠しオプションで32GBまで・ただしディスク先頭から8GBを超える容量はWin2000以降でなければ正常にアクセス不可)


※rev25以前でEPSON版のESDI_506.PDRを使っている方はデータ破壊の恐れがあるため純正のものに戻してください。
※2017/06/18に可変容量VHD使用に必要なNVL.DLLの重要なバグ修正が行われています(大容量ディスクイメージが破損する不具合)

このエミュレータはWindows2000(SP4 SRP1v2必須)以降でのみ実行できます。Linux等では実行できません。非Windows環境の場合はAZO氏のNeko Project II (NP2) 改変を使うとほぼ同等の機能が使えます。


ダウンロード

※ステートセーブ・レジュームの互換性はバージョンアップの際に無くなる場合がありますのでご注意ください

通常版です。ソースコード付きです。
※2018/10/27 20:56以前公開のファイルはエミュレーションBIOSに不具合があります

β版です。ソースコード付きです。

Neko Project II ユーティリティディスク(np2tool.d88)
HOSTDRV.COM, PWOFF.COMなど

Neko Project 21/W ユーティリティディスク(np21wtool.d88)
NPCNGCLK.EXE, NPCNGCFG.EXEなど(本家np2/np21で使っても何も起こりません)

旧バージョンのテストやdiffをしたい人向け(致命的なバグがあるバージョンも含まれます・ディスクイメージバックアップ推奨)

・おまけ
np21w.exeまたはnp21x64w.exeと同じ場所に置いて、Device→Sound→Seek soundにチェックを入れてリセット

・Neko Project 21/W以外の物
SL9821 + LGY-98(TAP-Win32)
Neko Project 21/Wのソースを流用してSL9821(0.2.4.2)をLGY-98対応させてみたものです。使用条件等はSL9821のサイトをご覧下さい。

SL9821 + LGY-98(TAP-Win32) + CL-GD5430
Neko Project 21/Wのソースを流用してSL9821(0.2.4.2)をLGY-98とCL-GD5430ウィンドウアクセラレータに対応させてみたものです。別窓モードしか実装していないので使いにくいと思います。使用条件等はSL9821のサイトをご覧下さい。

ディスクイメージ追加サポートについて

NVL.DLLを用意するとNeko Project 21/Wで追加のディスクイメージが読めるようになります。NVL.DLLについては「Neko Project 21/W(np21w, ねこープロジェクト21/W)用のVirtualPC等イメージ使用ライブラリ」で検索してください(ディスクイメージエディタのNDと同じサイトです)。ページにはビルド手順が書かれていますが、現在のバージョンでは既に取り込まれていますので変更用ファイルの中のNVL.DLLだけを用意すればOKです。
追加サポートされる主要なイメージ形式は以下の通りです
・容量可変VirtualPC形式
・VMware形式
・Hyper-V形式
・VirtualBox形式
・QEMU qcow形式

ライセンスについて

Neko Project 21/Wの大半のコードは修正BSDライセンスですが、以下のファイルは移植のためライセンスが異なっています。これらを含めてコンパイルすると全体としてのライセンスが変わりますのでご注意ください。

 ファイル ライセンス   除外方法
 cirrus_vga*.*
 lgy98*.*
 GPLv2
 MITライセンス
 SUPPORT_CL_GD5430とSUPPORT_LGY98をプリプロセッサ定義から削除する
 fpemul_dosbox.c
 fpemul_dosbox2.c
 fpemul_softfloat.c
 GPL  fpemul_dosbox.c,fpemul_dosbox2.c,fpemul_softfloat.c)をコンパイルから除外する
(Berkeley SoftFloatは本来別のライセンスですが
fpemul_softfloat.cだけはDOSBox由来のコードを含むためGPLです)
 fpu/softfloat/*.* Readme参照 SUPPORT_FPU_SOFTFLOATをプリプロセッサ定義から削除し、softfloat/*.*除外する
 /sound/fmgen/*.*  Readme参照
 SUPPORT_FMGENをプリプロセッサ定義から削除し、/sound/fmgen/*.*を除外する
 /sound/mame/*.*  GPLv2  USE_MAMEをプリプロセッサ定義から削除し、/sound/mame/*.*を除外する

更新履歴

(2018/11/18 ver0.86 rev47β6)

・Windows2000でIDEスレーブデバイスを認識するようになりました
・BIOSでのI/Oポート操作エミュレーションを改良

 ・WAB無しでコマンドプロンプトをウィンドウ表示で起動できるようになったはず
 ・若干ごまかした部分があるのでWindows以外での挙動は要検証
 ・DOSプロンプト使用時に勝手にカナロックがオンになる不具合も直ったはず
 ・Win3.1でWAB無しの場合のDOSプロンプト画面崩壊不具合をさらに改善(β2)
  ・基本的にはウィンドウアクセラレータを使用した方が良いと思いますが・・・
  ・画面崩壊した場合は大抵の場合DOSプロンプトを一旦フルスクリーンにしてから戻せば直ります
・640x480モード判定を少しいじりました
・設定初期値をウィンドウのリサイズ(Allow resize)が有効になるように変更しました
・IA-32 panic時のリセットが上手くいかない不具合を修正
・ウィンドウアクセラレータが無効の場合にCPUをリセットすると落ちるかもしれない不具合を修正(β2)
・フルスクリーンでのDirect3D描画の安定性を改善したつもり(β3)
・Direct3D描画の排他制御に漏れがあったのを修正(β3)
・Direct3D描画でピクセル形状保持を使うとメモリリークする問題を修正(β3)
 ・画面解像度が切り替わった時にフリーズする現象も直ったはず
・Win9xでWSN-A2F/A4Fがある程度使用可能になりました(β3)
 ・一応1024x768 16M色や1280x1024 64k色が使えます(DirectX 5ドライバが必要)
 ・WGN-A2/A4と誤認識される場合がありますがドライバはWSN-A2FまたはA4Fを使用してください
 ・DirectXを使うアプリケーションの画面描画がおかしい場合があります
 ・DirectXのフルスクリーンはまともに使えません
  ・一旦フルスクリーンにしてウィンドウ表示に戻すと何故か出力切り替えリレーが98グラフィック側になります
  ・WABリレースイッチをF12に割り当てて手動切り替えすれば一応復帰できますが・・・
・WSN-A2F/A4Fのリセットが中途半端だったのを修正(β4)
・拡張メモリ容量設定を実質無制限にしました(β4)
 ・理論上は4GBあたりまで・・・のはずですが実際は1.4GBくらいでメモリ割り当てに失敗します
 ・Win3.1は128MBを超えたあたりからまともに起動しなくなったりエラーが出たりします
 ・Win95は512MB、Win98は1GBあたりからおかしくなります
 ・WinNT4.0, Win2000は1GBを超えても一応大丈夫だと思われます
 ・DOSプログラムもものによっては挙動不審になります
 ・Xe10内蔵ウィンドウアクセラレータを使用中に230MB以上のメモリを積むと画面がおかしくなってフリーズします
  ・○○内蔵アクセラレータのものは基本的に駄目っぽいです
  ・WSN-A2F/A4FやPCI CL-GD5446は一応大丈夫なようです
 ・結局の所あまりメモリが多くても無駄などころか不具合を起こすのでご利用は計画的に・・・
・メモリチェックを高速化する機能を付けてみました(β4)
 ・詳細は非公開機能のmemckspdを参照のこと
 ・例えばiniのmemckspdに4を指定すると4倍速でメモリチェックが行われます
・WSN-A2F/A4FのE-BANKモード以外の挙動を改善しました(β5)
 ・Win3.1で仮ドライバを使わずにそのままセットアップが出来るようになりました
・GA-98NBを強引に使えるようにしました(β5)
 ・とりあえずWin3.1と信長の野望 天翔記で使えますが、Win3.1では描画の乱れが酷いです
 ・明らかに正しくない挙動なので他で動くことは保証できません
 ・ドライバ付属アクセラユーティリティの大半の機能はまともに使えません
・MELCO WAB/WSNとI-O DATA GA-98NBをDouble Bufferに対応させました(β6)
・CL-GD54xxでステートセーブやレジューム時に関数アドレスがNULLになって落ちる可能性があるバグを修正(β6)

Windows2000でのIDEスレーブデバイスの不具合修正とWSN-A2F/A4Fの修正は横内様にご協力を頂きました。この場を借りて御礼申し上げます。


(2018/10/27 ver0.86 rev46) ※2018/10/27 20:56以前公開のファイルはエミュレーションBIOSに不具合があります

・Windows95でプロテクトモードFDDドライバが使用できるようになりました
・言語リソースファイルの抜けを修正
・32bit版で3DNow!命令が無効になっていたので有効化
・hostdrvのバグらしきものを修正
・32bit版のプロテクトモードがまともに動かなくなっていた問題を暫定修正
・マスタボリューム設定を試験的に足してみました
・仮想86モード拡張の一部をサポートしました
 ・現状で実装されているのはSTI, CLI, PUSHF, POPFのみです。
 ・Windows2000でNTVDMが落ちなくなります
 ・CPU機能フラグにVMEが追加される関係でCPU種類を設定し直す必要があります
・Windows98でPCIを有効にするとIDEデバイスが認識しなくなる不具合を修正
 ・Windows95のドライバを借りなくてもHDDが認識するようになります
・BIOSでのI/Oポート操作をエミュレーションできるようにしました
 ・現状では画面表示関連のI/Oポートのみエミュレーションします
 ・Win3.1,9xのDOSプロンプトでGDCにコマンドを送らなくても画面が出るようになります
 ・問題を起こす場合は非公開オプションBIOSIOEMをFALSEにすると無効になります

Windows95でのFDCの不具合修正は横内様にご協力を頂きました。この場を借りて御礼申し上げます。


(2018/10/13 ver0.86 rev45)

・Direct3Dによる画面表示に対応
 ・必要に応じてDirectXランタイムは入れてください
 ・拡大縮小時の補間モードを細かく設定できます
 ・Screen optionのFullScreenタブでNo change screen resolutionにチェックを入れるのを推奨
・CPU変更時にバージョン情報でCPUの名前がおかしくなる不具合を修正
・フルスクリーン時にもキャプチャ無し操作設定が効くように仕様変更
・CPU周りを速くしようとしてみました
・Screen optionのFullscreen, Rendererタブの設定を即時反映するように変更しました
・Windows2000ホストで動かなくなっていた問題を修正しました
・システムメニューのRestore window borderから枠無し状態を戻せるようにしました
・システムキーフック関係を多少安定化させたつもり
・CL-GD5446のGraphics Double Bufferに対応
 ・主にDirectX対応プログラムの画面のちらつきと描画速度が改善されます
・NumLockキーを有効にするオプションを足しました


(2018/09/27 ver0.86 rev44)

・SSE命令のプリフィックスの扱いがおかしかったのを修正
・SSE2, SSE3命令を追加しました
 ・現時点でSSE2, SSE3はバグまみれなので通常用途ではPentium III以前にしておいてください
 ・実機ではSSE2, SSE3命令に対応したものは存在しませんので完全に自己満足の世界です
 ・Pentium M, Pentium 4を選択できるようにしました(一応SSE3が使えるかどうかで棲み分け)
・バージョン情報ウィンドウの表示内容を調整
・fmgenをデフォルト設定で有効になるように変更
・エミュレータ内でハードウェア設定をいじる怪しい(危ない?)機能を追加
 ・設定ツールはnp21wtool.d88として公開しています
 ・NPCNGCLK.EXEはCPUクロックを動的に変更します
  ・CPUが速すぎると問題を起こす場合等に使えます(蟹味噌など)
  ・Configureの内容は変更されません(リセットで元に戻ります)
 ・NPCNGCFG.EXEはハードウェア構成を動的に変更します
  ・ディスクイメージで使うハードウェア構成が決まり切っている場合に使えるかも
  ・Configureの内容は変更されません(リセットで元に戻ります)
  ・現時点ではウインドウアクセラレータボードとサウンドボードに対応しています
・HRTIMER関連のBIOSを実装しました
 ・古いバージョンのHRTIMER.SYSで時計が止まってしまう不具合が解消されます
・日付が変わった時にHRTIMERの時刻が不正になる不具合を修正
・PCIバスが試験的に追加されました
 ・Device->PCI optionでEnabledにチェックを入れて下さい
 ・追加のBIOSファイルは要りません
 ・起動しない場合はBIOSファイル無しにすると動くかもしれません
 ・PCIを有効にするとWin98でIDEデバイスが行方不明になりますがWin95のDRIVERSからESDI_506.PDRを借りてくれば一応動きます
 ・Win2000の場合はPCIの有無を変更するとセットアップし直さないと駄目です(互換性無し)
・PCI接続の内蔵ウィンドウアクセラレータCL-GD5446が追加されました
 ・現時点ではWindows98, NT4.0, 2000で動くことを確認しています
 ・Device->Window Accelerator board optionのCL-GD54xxタブでPC-9821 PCI CL-GD5446 built-inを選択
 ・Auto Select(Xe10, WSN-A2F, PCI)も使えますがあまりテストしていないので注意
 ・NPCNGCFGでのウィンドウアクセラレータ機種IDは160です
・WAB-S, WSN-A2F/A4FをWin3.1で使用した際に壁紙の描画がおかしくなる不具合を修正


(2018/08/09 ver0.86 rev43)

・NVL.DLLで結構色々読めることが判明したのでファイル選択時の拡張子にそこそこ有名な形式を追加
 ・あくまでディスクイメージを使用できるだけですので中身に関してはユーザーが注意を払う必要があります
  ・ハードディスクのPC/AT互換機フォーマットとPC-98フォーマットには互換性がありません
  ・不用意にPC/AT互換機用イメージをPC-98に繋いだりその逆をしたりすると実機同様ディスク内容が破壊される恐れがあります
 ・一覧になくても読めるファイルがあると思われます
・ソース中のCreateThread関数を_beginthreadexへ置き換え
・複数の実CD/DVDドライブがある場合にトレイ開閉が正常に動かない不具合を修正
・実CD/DVDドライブのマウント状態がResumeで復元されない場合がある不具合を修正


(2018/06/26 ver0.86 rev42)

・処理落ち時のBEEP音ノイズを抑制しました
・マウスキャプチャ解除直後に非キャプチャ操作モードのダブルクリックが出来なくなる不具合を修正
・非同期CD-ROMアクセスが出来るようになりました(IDE optionで設定・やや不安定な気がするので注意)
 ・CD-ROMを読みつつ他の処理をするようなプログラムで処理落ちがなくなるはず
 ・実際には実CD-ROMを使わない限り大差はないと思われます
 ・非同期CD-ROMアクセスの状態でNo waitにするとタイムアウトになる可能性があるので注意
・エミュレータ内から実CDドライブのトレイ開閉が出来るようになりました(IDE optionで設定)
・挿入したCDイメージを次回起動時に復元する設定を追加しました(付属ヘルプの非公開機能SVCDFILEを参照)
・Raw Input Modeでない時にマウスキャプチャするとダブルクリックが出来ない不具合を修正(β1のバグ)
・IDEのアクセスウェイトを入れるとDOSからCD-ROMが読めなくなる問題を修正
・SoftFloat FPU FXAM命令の符号判定バグを修正
・容量可変VHDイメージが作成できない(実際には64bit版は作れて32bit版は作れないことが多い)問題を修正


(2018/05/20 ver0.86 rev41)

・CPUにSSE命令, Enhanced 3DNow!命令を実装しました
 ・Intel Pentium III, AMD K7 Athlon, AMD K7 Athlon XPを選択できるようにしました
 ・SSEはあまり動作テストができていないので注意
・CPUクロック安定化機構を試験的に搭載してみました
 ・Screen → CPU clock stabilizerにチェックを入れてください
 ・瞬間的な処理落ちは吸収してくれるはず
 ・あんまり処理落ちしすぎると逆に邪魔になるかもしれません
・ベタ形式のFDイメージを新規作成できるようにしました
・FDとHDの新規作成メニューを分離しました
・非キャプチャマウス操作を有効にした状態で一旦フルスクリーンにしてウィンドウに戻すとダブルクリックが出来なくなる不具合を修正
・ia32_panicの時に強制終了ではなくリセットするようにしてみました
・DOS環境でCD交換を認識しない不具合を修正したつもり


(2018/03/17 ver0.86 rev40)

・FPUで拡張倍精度浮動小数点演算(実CPU相当の精度)をサポートしました
 ・Berkeley SoftFloat Release 2cを使用しています
 ・四則演算系は全て拡張倍精度で計算されます
 ・三角関数や定数などは従来通り倍精度で計算されます
 ・従来の倍精度限定FPUもオプションで使用可能です
  ・暫定でDevice->FPUメニュー内に設定追加
・アセンブラ版FPU(fpemul_dosbox_asm.c)は削除しました
・FPUにFCMOVcc,FCOM系,FXSAVE/FXRSTOR命令を実装しました
 ・.NET Framework 2.0でエラーが出なくなるはず
 ・結構手抜きしているので特殊なことをやるアプリケーションでは問題を起こすかも
・FSAVE/FXSAVE/FRSTOR/FXRSTORのTOSフィールドの扱いがおかしかったのを修正
・CPUにMMX命令, 3DNow!命令を実装しました
 ・mmx.c, mmx.hのライセンスは修正BSDライセンスとしておきます(DOSBoxから移植したFPUがないと使えませんが・・・)
 ・3dnow.c, 3dnow.hのライセンスも修正BSDライセンスとしておきます
・タスクスイッチ時にFPU/MMXレジスタの内容が破壊されるバグを直しました
 ・CR0のTSフラグが立っている時にデバイス使用不可例外を出しているだけです
・CPUの種類を選択できるようになりました
 ・選択できるのは486SX,486DX,Pentium,MMX Pentium,Pentium Pro,Pentium II,AMD K6-2,AMD K6-III,Neko Processor IIです
 ・基本的にはCPUIDと機能フラグのみが変わります(486は挙動も若干変わります)
 ・各CPUの機能は以下の通り
  ・486SX - 何も無し
  ・486DX - FPU命令
  ・Pentium - FPU命令,RDTSC命令
  ・MMX Pentium - FPU命令,RDTSC命令,MMX命令
  ・Pentium Pro - FPU命令,RDTSC命令,CMOV/FCMOV系命令,FXSAVE/FXRSTOR命令
  ・Pentium II - FPU命令,RDTSC命令,CMOV/FCMOV系命令,FXSAVE/FXRSTOR命令,MMX命令
  ・AMD K6-2 - FPU命令,RDTSC命令,3DNow!命令
  ・AMD K6-III - FPU命令,RDTSC命令,3DNow!命令
  ・Neko Processor II - Neko Project 21/Wに実装されている全機能
 ・特に理由が無ければIntel系の最新CPU(Pentium II)が無難です
  ・AMD系は3DNow!命令が使えますが利用可能なアプリケーションが皆無な上にCPUチェックに引っかかる場合があります
  ・Neko Processor IIは全機能が使えますがベンダ名がIntelでもAMDでもないので追加命令を使ってくれない場合があります
 ・Pentium IIには未実装命令があるので注意
  ・未実装命令が呼ばれると困るのでCPUIDの機能ビットでは使えないということにしてあります
  ・未実装命令はSYSENTER,SYSEXITです
 ・Pentium ProにしてWin2000を起動するとHLT命令を使わなくなるので注意(アイドル時のCPU使用量が増えます)
  ・一度でもこの状態になるとCPUをPentium Pro以外にしても直りません
  ・レジストリエディタでHKLM\SYSTEM\CurrentControlSet\Control\Session ManagerのEnableHaltを1にすれば直ります
・CS4231(118音源のPCM, Mate-X PCM)を再調整しました(泥沼感)
・非キャプチャ操作モードでマウスを速く動かしすぎると移動量がおかしくなる不具合を修正


(2018/02/17 ver0.86 rev39)

・FDCを若干修正しました
 ・rev27で動かなくなっていた某オープンソースOSが再び動くようになりました
 ・Win98,WinNT4,Win2000でのFDアクセスはこれまで通り問題ないはず
 ・あまり根拠がないので不具合が出るかも・・・
・FPUを若干修正しました
 ・移植ミスっぽいところをいくつか直しました(今まで何故動いていたのか・・・)
・規格上怪しいCUEシートもとりあえず読めるようにしました
・Load VM configをするとファイルがロックされたままになる不具合を修正
・非公開機能で起動音(ピポッ)の長さを設定できるようにしました
 ・デフォルトの長さが気に入らない人向け
 ・クロック倍率を変えても大体同じ長さで聞こえるようにするオプションも足しました


(2018/02/03 ver0.86 rev38)

・シーク音とリレー切替音をカスタマイズできるようにしました
 ・詳細は付属ヘルプの外部ファイルの頁を参照
 ・シーク音はseek.wav, seek1.wavで、リレー切替音はrelay1.wavです
・118音源とMate-X PCM用の設定画面を追加しました
・Sound Blaster 16の設定画面を追加しました
・CS4231の処理を修正しました(改悪かも)
・NECCDM.SYSをある程度使用できるようにしました
 ・β1の無根拠な修正もなおしました
 ・NECCDM.SYSが前提のDOSアプリケーションでCD-DA再生が正常化するかもしれません
 ・既知の不具合:Win3.1のメディアプレーヤーでのCD-DA再生時にものすごく時間がかかります

・実機BIOS無しの場合にWindows2000でFDDが見えなくなる不具合を修正
・128MB以上のメモリチェックがエミュレーションされるようになりました
 ・搭載メモリを230MBにした場合でもちゃんと最後までカウントされます
 ・時間がかかって嫌な場合はOtherメニューのSkip over 16MB memcheckを使うか非公開機能を参照のこと


(2017/11/18 ver0.86 rev37)

・Win2000のデバイス検出でブルースクリーンが出る不具合を修正
 ・この修正でPC-9801時代のプログラムが問題を起こす可能性もあるので注意
 ・従来の挙動に戻したい場合はINIのSYSIOMSKをff00から0000に変えてくださいConfigureのArchitectureにある16bit I/Oアドレッシングのチェックを外してください
・完全に未フォーマットのHDイメージを作成できるようにしました
 ・Win2000セットアップを起動ディスクから行う場合は完全未フォーマット状態で作成する必要があります
 ・現時点ではNHD, VHD形式限定です
 ・ディスク作成時にAdvancedのBlankにチェックを入れて作成してください
・CS4231(118音源のPCMとMate-X PCM)を修正
 ・Mate-X PCMのWin3.1用ドライバ(necpcm.drv)がそこそこ動くようになりました
 ・レジュームやステートセーブでDMAがおかしくなる不具合を修正
・画面を強制的に4:3表示する謎のオプションを追加しました
 ・4:3のディスプレイに無理矢理640x400を映していたのを再現したい人におすすめ?
 ・普通は用事がないと思われるので付属ヘルプのFSCRNMODの非公開機能を参照
・CS4231の処理と32bitメモリREAD/WRITE、CPUのコードフェッチを若干高速化したつもり
・Win10(恐らくWin8とWin8.1も)でウィンドウサイズが変になる不具合が発生していたのを修正
 ・多分rev24からある不具合(画面サイズが変わる度にウィンドウがどんどん小さくなる)
 ・過去バージョンの変な設定を覚えっぱなしの場合があるので、本バージョンに更新したら一旦ウィンドウサイズ変更等をして設定をリセットしてください
・タスクバーへのウィンドウスナップを再び行えるようにしました
・スリープから復帰すると画面が真っ黒になる場合がある不具合を修正


(2017/10/21 ver0.86 rev36)

・BEEP PCM周りの修正
・サンプリングレートを変えるとCD-DA再生がおかしくなる不具合を修正
・DirectDrawエミュレーション設定が効かない不具合を修正
・D88形式のFDイメージでブートできない場合がある不具合を修正
・118音源やMate-X PCMがWindowsでそこそこ使えるようになりました
 ・ドライバはYMF701互換Sound System(Win95の場合)等を手動で入れてください
 ・118音源またはMate-X PCM単独を選んだ場合、DMA3, INT5(IRQ12)になります
 ・86音源+Mate-X PCM(B460)を選んだ場合、DMA1, INT0(IRQ3)になります
 ・Mate-X PCM(B460)はSoundIDがデフォルトでB460に移動しているのでWinで使う場合はドライバのinfをB460に書き換えてやる必要があります
 ・OPL3によるFM音源はほぼ大丈夫(ただし、レジュームやステートセーブで音色がおかしくなります)
 ・CS4231は長時間でなければそれなりに再生されます
  ・長時間再生するとノイズが入り始めます
 ・Win3.1とかではテストしていません
 ・CS4231の無根拠コードが根拠あるコードに置き換わりました
 ・ボリューム調整を実装(Win等からWAVEやFMのボリューム調整が出来ます)
 ・他の音源から118音源に切り替えるとボード設定がおかしくなる不具合を修正
・Sound Blaster 16が追加されました
 ・118音源にくっついていたのを分離しました
・IDE BIOSの有効/無効を自動切り替えする機能を追加
 ・IDE optionのAuto IDE BIOSにチェックを入れると機能が有効になります
 ・ヘッド数8,セクタ数17でないディスクイメージが接続されている場合は自動でIDE BIOSが無効になります
 ・たまにヘッド数8,セクタ数17でも起動しないケースがあるようですが今のところ原因が分からないので手動で無効にしてください


(2017/09/30 ver0.86 rev35)

fmgenをサポートしました(AZO氏の NP2 0.86 kai rev.10 より輸入)
 ・使いたい場合はSound optionのfmgenタブにあるUse fmgenにチェックを入れてください
 ・リズム音の外部ファイルも読むようになりました
 ・ステートセーブやレジュームが出来るようになりました(旧版のステートセーブとは互換性がないので注意)
・4GB超えのディスクイメージ作成が出来ない不具合を修正
・ジョイパッドを繋がずにUse JoyPad-1にチェックを入れるとジョイパッド対応ソフトがほぼフリーズ状態になる不具合を修正
・設定の初期値を最近のPCの性能を考慮して見直しました
・RaSCSIのSCSIディスクイメージが読めるようになりました(SCSIディスク選択より指定可)

・SCSIメニューも選択中のディスクイメージを表示するようにしました
・CPUを若干修正(したつもり)


(2017/08/06 ver0.86 rev34)

・Ctrl+Alt+Delをメニューからも送れるようにしました
 ・Device->Keyboard->Send Ctrl+Alt+Delで送れます
 ・Ctrl+Alt+ScrollLockは今まで通り使えます
・HRTIMER関連を大幅変更
・Win98+HRTIMER.SYSで発生する日付ずれを修正
物理ドライブマウント機能のバグ修正
 ・旧バージョンで部分的に読めなかったディスクが読めるようになりました(多分)
 ・Win3.1で実ドライブのCD-DAが再生できなかった問題を修正

(2017/06/30 ver0.86 rev33)

・ソフトリセットをするとHOSTDRVが使えなくなる不具合を修正
・物理ドライブのCD/DVDをマウントできるようになりました
 ・メニューでPhysical Drive x:を選択するとホストのxドライブがマウントされます
 ・一度マウントするとRemoveを選ぶまでマウントされたままになります
  ・マウントされた状態でディスクを交換しても再マウントする必要はありません
・マウスキャプチャしなくても簡易的にマウス操作ができる機能を付けました
 ・現時点ではマウス速度調整は反映されません

(2017/05/28 ver0.86 rev32)

・Win9xでのマルチメディアタイマーの不具合が修正されました
 ・MIDIファイルが普通に再生されるようになります
 ・マルチメディアタイマーを使っていて激遅になっていたゲーム等もまともになります
 ・何らかの不具合があって前の挙動に戻したい場合はOtherメニューのFix MMTimerにチェックを外してください
 ・Win98の起動時間が安定&ようこそ画面のエラーが解消します(おそらく)
・上記修正のためMIDIスロー再生ごまかしオプション(TIMERADJ)が廃止されました

マルチメディアタイマーの不具合修正はSL9821開発者の富沢様にご協力を頂きました。この場を借りて御礼申し上げます。

(2017/05/27 ver0.86 rev31)

・LGY-98 LANボードのDOSドライバが使用可能になりました
 ・頑張ればWindows3.1でネットサーフィンが出来ます
・終了時のウィンドウサイズを記録する機能を追加しました
 ・デフォルトでは無効なのでConfigureでSave window sizeにチェックを入れてください

(2017/05/16 ver0.86 rev30)

・FreeBSD4.11のX Window SystemでXe10内蔵ウィンドウアクセラレータが使えなくなっていた不具合を修正
・ウィンドウアクセラレータ自動選択に選択肢追加
 ・Xe10+WAB-S, Xe10+WSN-A2F, Xe10+WSN-A4F のいずれか
 ・特に理由がなければいろいろなOSやアプリケーションで使えるXe10+WSN-A2Fがおすすめ
 ・rev29以前のデフォルト動作はXe10+WSN-A4Fでしたが、Win3.1で画面が乱れるのであまりおすすめしません
・サウンドにMate-X PCMなどという選択肢が増えていますが動きませんので選んでも無意味です
ウィンドウアクセラレータが無効の状態だとステートセーブが正しく動かない問題を修正

(2017/03/04 ver0.86 rev29)

Win9xで高速再起動を使うとCDドライブが認識しなくなる不具合を修正
・B-MATE系ウィンドウアクセラレータを使うと98内蔵グラフィック描画がおかしくなる問題を若干改善
・CDドライブがChanger(連装)デバイス扱いになっていた不具合を修正
 ・FreeBSDでCDが使えるようになります
・音楽CDを挿入しているとWin3.1のメディアプレイヤーの起動が異様に遅くなる不具合を修正
・Load VM configを使うとツールウィンドウの挿入中フロッピー表示が更新されない不具合を修正
・CD交換中にリセットするとCD挿入処理がおかしくなる不具合を修正
CL-GD54xx使用中にWin3.1,Win9xの文字列描画が乱れる不具合を修正
任意のCHSパラメータを持つハードディスクイメージを作成できるようになりました
 ・現時点ではNHD,VHD形式のみのサポートです
 ・変なパラメータにすると実機BIOSでは使えないので注意
・ディスク作成の進捗が表示されるようになりました
 ・これも現時点ではNHD,VHD形式のみのサポートです
 ・キャンセルも出来ます
動的容量VHDハードディスクイメージが使用できるようになりました
 ・イメージアクセスはNVL.DLLに丸投げするのでNVL.DLLが必要です(exeと同じ場所に置いて下さい)
 ・NVL.DLLについては「Neko Project 21/W(np21w, ねこープロジェクト21/W)用のVirtualPC等イメージ使用ライブラリ」で検索
・HOSTDRVのディレクトリ設定を過去10件まで記憶するようにしました

(2017/01/22 ver0.86 rev28) ※2017/02/01 22:13以前公開のファイルはウィンドウアクセラレータにバグがあります

・LGY-98とCL-GD54xxの有効/無効設定がリセット無しに即時反映されてしまうバグを修正
 ・その関係で、rev27以前のステートセーブ/レジュームとの互換性がありません・・・
Win9xで86音源を使うとサウンド再生終了時に時々フリーズするバグを修正
 ・具体的には、起動音再生終了直後のフリーズ、動画再生停止時のフリーズ等がなくなるはずです
・GetWindowPlacementとSetWindowPlacementの使い方がおかしかったので修正
現在選択されているHDイメージファイル名をメニューから分かるようにしました
 ・次回リセット時に反映される設定は「旧ファイル名 -> 新ファイル名」の形式で表示されます
 ・クリックするとエクスプローラで場所を教えてくれます
・使用中のHDイメージファイルもダイアログで選択できるようにしました
 ・選択したファイル名が重複している場合はリセット時にエラーを出します(ファイル選択時には出ません)
 ・リセット無しにプライマリ/セカンダリのマスタ/スレーブの構成を入れ替えたりできます
 ・接続デバイスの種類をいじったとき(HD/CD/未接続を変更した場合)はリセットが必要です
・Clock DispまたはFrame Dispを有効にしていないと挿入中CDの表示が正しく更新されない問題を修正
HOSTDRVの設定をGUIで出来るようにしました
 ・HOSTDRVのディレクトリ/パーミッション設定は即時反映されます(リセット不要)
 ・ディレクトリを変更すると安全のためWRITEとDELETEが自動で無効になりますので、必要であればもう一度有効にしてください
・非公開機能でMPU-PC98IIのI/OポートをPC/AT互換機で使われている330h-331hにも開ける機能を付けました
 ・詳細は付属のヘルプファイルを参照
 ・Win2000のwdmaudio.infにある隠しMPU-401ドライバが使えるようになります(inf内のExcludeFromSelectの行を削除)
 ・実機では開いていないI/Oポートなので不具合を起こす可能性があります
・F12キーにノーウェイトを割り当てられるようにしました
・rev27以降ポリスノーツのCDが正常認識しなくなっていた問題を修正
・暫定でDPIスケーリングをSystem DPI Awareにしてみました
・実機IDE BIOS無しで3台以上のIDE HDDを認識するようにしました
・ウィンドウアクセラレータにPC-9801-96が追加されました
 ・ただし、800x600や64k色が使えないのであまり価値はないかも知れません

(2017/01/14 ver0.86 rev27) 

・プロテクトモードドライバでのFDD読み書きが出来るようになりました
 ・WindowsNT4.0とWindows2000がFDからセットアップできます
 ・Windows98でプロテクトモードFDドライバが使えます
 ・残念ながらWindows95のFDCドライバは動きません(リアルモードで頑張ってください)
 ・ベタ形式, FDI形式, NFD(r0)をWindowsの32bitドライバでフォーマット出来るようになりました
  ・それ以外のイメージ形式をフォーマットすると破損すると思われます
  ・DOSでやったら良いだけなので困らないと思います
  ・D88,NFD(r1)に関しては将来的にもWindows上でのフォーマットをサポートしない予定です
・セットアップ時にLGY-98を外す必要がなくなりました
 ・ハードウェアの自動検索が使えるようになりました
 ・公式ユーティリティのMELCHKによるボードチェックが通るようになりました
 ・ただし相変わらずDOSのドライバは使えません
・Windows2000セットアップ時にCD交換を検出できないバグを修正しました
・CD選択とHDD選択のディレクトリを別々に覚えるようにしました

FDCの不具合修正はSL9821開発者の富沢様にご協力を頂きました。

(2017/01/03 ver0.86 rev26) IDEをかなりいじくっているのでイメージファイルのバックアップをした方が良いと思われます

・書き込み時のIDE割り込みタイミングがおかしかった問題を修正
・IDE割り込みディレイ値が指定した値にならないバグを修正
・IDE割り込みディレイ中にBSYビットがセットされていなかった問題を修正
・IDE BIOS使用時の最小ディレイ値が廃止されました
・IDE BIOSを使うと(rev18以降は使わなくても)データ破壊を起こす問題に暫定対応
 ・BIOSデータエリアの0x0457で値を返すとバグる模様
 ・スレーブにアクセスするとデータ破壊が起こる問題も直っているかも
 ・IDE BIOS有りでWin3.1/95はセットアップが完走する事を確認しましたが、他はまだ確認できていません
・WSN-A4Fを大画面多色表示環境で使うとウィンドウ描画がおかしくなる問題を修正
 ・壁紙がおかしい問題はとりあえず棚上げ
・ウィンドウアクセラレータ設定に自動選択を追加
 ・内蔵とMELCO製を手動で切り替えるのが面倒な人向け
 ・とりあえずポートを両方用意してどちらにアクセスが来たかで内蔵とWSN-A4Fを切り替えます
 ・一度どちらかに切り替わるとCPUがリセットされるまで変わる事はありません
 ・セットアップのデバイス検出時などポートをサーチしに来る状況での使用はおすすめしません
・FreeBSD + X Window System + Xe10内蔵CL-GD5430が程々に映るようにしました
・ネタにも出来ないレベルですが設定にGA-98NBを足してみました(動きません)
・ソフトウェアキーボード表示状態を覚えるようにしました
・クロック設定の選択肢を増やしました
 ・手動で値を入れれば良いんですけど面倒なので
・HRTIMER.SYSを使った場合の時刻が0:00になってしまう不具合を修正


(2016/12/19 ver0.86 rev25)

・ウィンドウアクセラレータ画面表示を少しだけ真面目に実装(QEMUコードを解析)
 ・例の都市シミュレーションゲーム用修正かも
 ・画面のスキャン幅ずれの発生が減ると思います
 ・逆に悪化していることもあり得るのでその場合は報告をお願いします
 ・WSN-A4Fを使ってWin3.1を動かすと1024x764 64k色(インターレース)だけ画面崩壊しますがインターレースじゃない方はちゃんと映るのでとりあえず放置
・SL9821ディスクイメージを一応サポート
 ・ディスク破損しないとは言えないのでご利用は自己責任で
 ・一応フォーマット含め一通りの操作はできるはず
 ・フォーマットが特殊なので実機IDE BIOSを使うとフリーズすると思われます


(2016/12/16 ver0.86 rev24) 【重要】12/17 21時以前公開のファイルは16bit I/Oと256色モードにバグがあり修正しました

MELCO WSN-A4FがWindows3.1で程々に映るようになりました
 ・ドライバインストールが若干ややこしいのでサイトのWin3.1セットアップ手順の「WSN-A4Fを使う」を参照
 ・Win3.1では1280x1024 ハイカラーが使えます
 ・ただし、高解像度や色数が多い場合には画面にゴミが出やすくなります
 ・部分的にグラフィックが化ける場合があります
・DirectDrawエミュレーションモードの切替設定を追加しました
 ・従来は非公開機能として存在していましたが表に出しました
 ・エミュレーションモードでは大抵の場合は最近傍補間になるので整数倍拡大の場合にはドットが綺麗に出ます
・フルスクリーン時の表示モードに整数倍拡大(Integer multiple)を追加しました
 ・DirectDrawエミュレーションモードと組み合わせて使ってください
・ウィンドウアクセラレータのMultiThreadモードで画面切替時に時々落ちる問題を修正
・(追加)SL9821のハードディスクイメージをマウントできるようにしました


(2016/12/09 ver0.86 rev23) 

WAB-Sのハードウェアカーソルが表示できるようになりました
・ウィンドウアクセラレータの種類設定がリセット無しに即時反映されてしまう問題を修正
・WSN-A2F/A4Fらしきものを試験的に追加しました
 ・将来的にはWin3.1で使えるようにしたい
 ・現時点ではネタに出来るかもしれないレベルの画面しか出ません(グラフィック崩壊)
 ・Win3.1用ドライバはファイル名にm2の付いたメモリ16MB以上つめるEPSONバージョンでしか動きません
 ・公式のインストーラはボード自動認識失敗でセットアップできないので手動でINFを指定してください


(2016/12/07 ver0.86 rev22) 

ウィンドウアクセラレータの再現性が向上しました(Windows系ではハードウェアカーソルも普通に表示できます)
 ・WinNT4.0のSP無しドライバでも表示が出るようになりました
 ・Win3.1でも改善しているかもしれません(手元に内蔵CL-GD54xx対応のドライバがないので確認できませんが)
メルコのWAB-S ウィンドウアクセラレータを実装しました
 ・使用する場合はリストからWAB-Sを選んでください(内蔵CL-GD54xxとは排他)
 ・ハードウェアカーソルは上手く動かないようなので設定でFake Hardware Cursorにチェックを入れてやってください
 ・WAB系が使えるゲーム(信長の野望 天翔記PKなど)で使えます
 ・Windows系は未テスト
メモリ上限を120MBから230MBに引き上げました
 ・メモリカウントは130MBくらいまでしかしませんが一応ちゃんと認識しています
 ・上記のような状態なので何かトラブルがある可能性があります。常用は十分にテストの上で
 ・これ以上増やすとウィンドウアクセラレータがバグります(^_^;
・VM設定ファイル保存時に正しくダイアログが表示されない問題を修正
・言語ファイルを使用しているときにVM設定ファイル読込のファイルフィルタが使えない問題を修正
・メインウィンドウ以外のスナップON/OFFの切替が出来るように修正
・DWM環境でのウィンドウスナップ位置が正しくなりました
・ウィンドウアクセラレータ画面のBMP保存が可能になりました
クリップボードを用いたコピーアンドペースト機能が試験的に追加されました
 ・コピー可能なのはテキストVRAM全体(テキスト)、98グラフィック画面(画像)、ウィンドウアクセラレータ画面(画像)です。
 ・貼り付け可能なのはテキスト(キー送信をエミュレーションするのでASCII文字のみ)です。
  ・CAPSロックを考えていないのでロックした状態だと大文字小文字が反転します(ォィ
  ・一応マルチバイト文字は考慮していますが、判定が雑なので出来るだけ混ぜない方が良いかも
  ・あんまり早すぎるとちゃんと入力できないので程々に減速していますが、長文では場合によってはおかしくなるかも
  ・長文過ぎて心が折れたなどの理由で貼り付け途中でキャンセルしたいときは、画面をマウスでクリックするかキーを叩けば止まります。
・ウィンドウアクセラレータ画面で左側の1pxマージンが消える不具合を修正
・ウィンドウアクセラレータ画面描画関連をさらにマルチスレッド化にしてみました(不安定になったらやめます)
 ・マルチスレッド設定でない場合はむしろ遅くなると思います・・・
 ・マルチスレッドを有効にする場合はウィンドウアクセラレータ設定のMulti Thread Modeにチェックを入れてください


(2016/11/20 ver0.86 rev21) 

マウスのRaw Input Modeを有効にすると時々エラーで落ちる不具合を修正
INIファイルにWINNTFIX=trueを書くとWinNT系でIDE HDDが認識するようにシステム共通域をいじくるようにしました
 ・WinNT4.0が実機BIOS無しで起動できるようになります
 ・CDドライブしか検出しなかったWin9xでもIDE HDDの存在を確認しに行くようになりますが、残念ながらエラーでCDドライブもろとも認識しなくなります・・・
  ・たぶんHDDの方がCDドライブよりもチェックが厳しいのだろうと思います
  ・ESDI_506.PDRをEPSON版Win95のアップデートに含まれるものに置き換えると認識するようになったりします(Win98も可)
 ・本来はより実機の動作に近くなるのでデフォルトでONにしたいところですが・・・
・Load VM Configを追加(ただし、既知の不具合がいくつかあるので、出来るだけ起動オプションでVM設定ファイルを渡すのを推奨)
 ・既知の不具合:Load VM Configを使うと追加メニュー項目(FDD3,FDD4とかStatとか)の表示が更新されません
・最後にnpcfgファイルを保存読込したディレクトリの場所を覚えるようにしました
・最後のスクリーン状態(フルスクリーンや回転)を記憶するようにする隠しオプションを追加しました
 ・無用な混乱を避けるためデフォルトでは無効になっています
 ・INIファイル(npcfgファイル)にSAVESCRN=trueを書くと有効になります
・Aero環境でフルスクリーン→ウィンドウの操作でタイトルバーアイコンが消える不具合を適当にごまかしました
 ・これってDirectDrawの不具合な気がする
・本家で出ているパッチをいくつか当てました


(2016/07/27 ver0.86 rev20) 

・IDE BIOSの使用/不使用の設定をIDE設定画面に追加しました
DOSで1.44MB FDイメージを読み取ったあとD88形式以外の1.25MB FDイメージに入れ替えるとセクタが見つからないエラーが出る問題を修正しました
独自拡張子のVM設定ファイルを作成できるようにしました(中身はただのINIファイルですが)
 ・設定ファイルを読み込む場合はコマンドライン引数にVM設定ファイルを渡してください(ドラッグアンドドロップでもOK)
 ・ファイル関連付けで簡単に起動できます
 ・面倒な設定(CPUクロック・GDCクロック・IDE BIOSの有無など)を1ファイルで切り替えできます
 ・ステートセーブとレジュームのファイルは設定ファイル毎に独立します
 ・拡張子は複数種類用意しました(本家は対応していないのであまり意味は無いですね・・・(^^; )
  ・.npcfg -> Neko Project II, 21, 21/W汎用
  ・.npc -> 同上(拡張子が3文字でないと違和感を感じてしまう人用)
  ・.np2cfg -> Neko Project II向け
  ・.np21cfg -> Neko Project 21向け
  ・.np21wcfg -> Neko Project 21/W向け
・非公開機能としてFDDにセットしたイメージファイルを記憶して次回起動時にも挿入する設定を追加しました
 ・INIにSVFDFILE=trueを書くと有効になります(前の動作の方が好きな人も多いと思いますのでデフォルトでOFF)
 ・自分でイメージファイルを抜くまで挿入されっぱなしになります
 ・上記VM設定ファイルと組み合わせれば割と使えるかも
 ・コマンドライン引数にイメージファイルが指定されている場合そちらが優先されます


(2016/07/17 ver0.86 rev19) 

・マウスデータ直接読み取りモードを使うとアクセラレータ出力切替をするタイミングで時々マウスが動かなくなる問題を修正
・bios9821.romを他のIDE BIOS系のファイルと同じ扱いに変更
CL-GD5430やLGY-98を使用中にステートセーブとレジューム機能が使えるようになりました
 ・テスト不十分なので各自で十分にテストしてからお使いください
 ・起動が遅いWin2000等で効果を発揮するかも?
 ・レジューム機能があるときに複数起動するとやばいのでレジューム機能が有効な時は複数起動しないように変更(暫定)
・言語リソースファイル最新版を作りました(また更新忘れ)


(2016/06/25 ver0.86 rev18) 

IDE BIOSを使用してWindowsをセットアップすると書き込みデータが破損するバグを修正
・IDEデータ書き込みディレイ時間を設定できるようにしました(IDE設定画面に追加)
 ・ディレイ時間はクロック数で指定します(ゆえに、CPUの速さでウェイト時間が変わります)
 ・IDE BIOS有りの場合は20000以上が適切?
 ・IDE BIOS有りの時は小さい値にしても自動的に最低値は20000になります
 ・IDE BIOS無しなら0で問題ありません
 ・値を大きくすると実機のHDD速度を再現できるかも?(要らない機能)
・nevent_setbymsに入れたテストコードがそのままになっていたので修正
・バージョン情報でIDE BIOSの読み込み状態も表示するようにしました
テキストVRAMの内容をテキストファイルに出力する機能を付けました(ただし、保存できるのは単純なASCII文字及び漢字だけです)


(2016/06/19 ver0.86 rev17) 

・2GBを超えるCDイメージがWin2000で正常に読めないバグを修正
・非公開機能(INIのMODELNUM)で機種IDが設定できるようになりました(書き忘れ)
・サウンド設定でCD-DAの音量調整が出来るようになりました(書き忘れ)
I/O 1E8Ehのバンク切り替えに暫定対応
 ・使用できるIDE BIOSの制限が緩くなった可能性があります


(2016/06/11 ver0.86 rev16) 

・CL-GD5430のVRAMウィンドウをPEGCの場所に開けてしまっていたのを修正
・CL-GD5430のBitBltのROPにあったミスを修正(MJLが比較的普通に使えるようになります)
・さりげなくCL-GD5430のVRAMを4MBにしてみました(MJLの専用ドライバ限定で1280x1024解像度が使えます。Windowsでは無理)
・hostdrvでディレクトリに入れないバグを修正(本家より)
・hostdrvで新規作成できないバグを修正(本家より)
・HRTIMERを改良(別スレッドに丸投げ?)してを若干高速化


(2016/06/02 ver0.86 rev15) 

・行儀の悪いメモリ読み書き乗っ取りを減らしました
CL-GD5430のVRAMウィンドウを実装しました
 ・CL-GD54XXを使うDOSアプリケーションもある程度動くようになります(GD54xxテストプログラムとかマルチグラフィックローダMJLとか)
 ・Win3.1の起動はTriple Faultは起こらないもののまだ出来ない模様
・非公開機能でタイマー10倍速モードを搭載(MIDIスロー再生ごまかし・付属ヘルプ参照)


(2016/05/16 ver0.86 rev14) 

MS-DOS, Windows3.1での音楽CD再生が正常になりました


(2016/05/15 ver0.86 rev13) 

・マウスをゆっくり動かした場合に動かないバグを修正
・マウス設定をサブメニュー化
マウス速度倍率設定を追加(分数形式で指定)
 ・メニューにはよく使われそうな倍率しかありませんが、INIを直接編集することにより任意の倍率に設定可能です
 ・マウスの倍率設定をマイナスに設定すると・・・(極秘)
マウスデータ直接読み取りモードを追加しました
 ・OSの加速度設定などが反映されないのでより実機に近い操作感になるかも
 ・たまにキャプチャに失敗するようなのでそのときはキャプチャし直してください
・システムショートカットキーのフック機能のON/OFFをKeyboardメニューのSystem Key Hookで切り替えられるようにしました
言語リソースDLLファイルが古いままだったので更新しました
・言語リソース有りだとデバッグユーティリティが開けない問題に暫定対応
Windows95/98/NT4.0/2000での音楽CD再生が正常になりました(DOS/Win3.1ではおかしいままです・・・)


(2016/05/03 ver0.86 rev12) 

・FPUがほぼ正常に動くようになりました(例外処理はまだ動きません)


(2016/05/01 ver0.86 rev11) 

・FPUが試験的に追加されました
・Win98でVrtwd.386を消さずに動くようになりました(何が効いたのかは不明)
・LANにCPU負荷低減モードが追加されました(データ転送が少ないときは低速モードに切り替えます)
・WindowsNTのためのATAコマンドが追加実装されました
・SMART関連のATAコマンドで落ちないようにしました
・再起動でIDEデバイスが認識しなくなる問題を適当にごまかしました(ォィ 高速再起動には効果ありません
・実機IDE BIOS読み込み機能若干修正
 ・WindowsNTでは実機IDE BIOS(D8000hあたり)が必須です
 ・ファイル名はIDE.ROM, D8000.ROM, BANK3.BINのいずれか
 ・環境によっては実機IDE BIOSを使うと遅かったり不安定になったりするので注意
 ・IDE BIOS有りで領域確保したディスクと、無しで領域確保したディスクは互換性がないようです。運がいいと両方で読めるディスクが出来ます(大体2GB~4GBだと両方で読める??)


(2016/04/29 ver0.86 rev10) 

Win2000でのウィンドウアクセラレータの動作が改善しました(ハードウェアアクセラレーション有りでもそこそこ映ります)


(2016/04/24 ver0.86 rev9) 

・NFD形式含む各種FDイメージ形式のサポートと、CDイメージのサポートを追加(Kai版より)
 ・FDイメージ破損の危険があるのでバックアップは取るようにしてください
・非公開機能でファイルのドラッグアンドドロップに対応(Kai版より)
 ・各種イメージファイルを放り込めます
 ・Shiftキーを押しながら放り込むと入れ替え後にリセットします
・Virtual Calendarで月の最終日が飛ばされるバグを修正しました
・ホストの画面解像度が1024x768以下だとウィンドウアクセラレータ未使用でも強制的にフルスクリーンになる問題を修正
・WinNT3.51,4.0が動くとの噂なので実機のIDE BIOS(ファイル名はIDE.ROM, d8000.rom, bank3.binのいずれか)の読み込み機能を追加(手持ちの機種のBIOSでは動かないので動作未確認)


(2016/04/12 ver0.86 rev8) 

・Win2000ホストサポートとVirtualPC VHDサポートが無効になっていたので使えるように修正
・CL-GD5430のハードウェアアクセラレーションのバグ修正(Win95,98ではハードウェアカーソル以外ほぼ問題ないレベルになります)
・アイコンをリニューアル(256x256アイコンにも対応)
・見た目だけの問題だけどEGC固定なのに設定の表示がGRCG+になってるのをEGCにしました
・カスタムINI設定ファイルを正しく読み書きできるようにしました


(2016/04/09 ver0.86 rev7) 

・ウィンドウアクセラレータを一旦High Colorにしてから256色にすると色が化ける不具合を修正
・Windowsキー対応しました(ただしWin98以降でしか効きません)
・何故かUnicode版関数固定になっていたのを修正
・画面回転で落ちるバグを修正しました(本家のyuiさんより)


(2016/03/29 ver0.86 rev6) 

・x86版でVirtual PCの固定サイズVHD形式のサポートが出来ていなかった問題を修正
・Windows2000でも起動できるようにしました(黒翼猫さんのVC++2005/2008/2010 でコンパイルしたプログラムを Windows 95/98/Me/2000で動くようにするライブラリ使用)
・ウィンドウアクセラレータ別窓で常にビジーカーソルが出ていた問題を修正
・ウィンドウアクセラレータ別窓を統合できるようになりました
・ウィンドウアクセラレータ別窓統合でフルスクリーンモードをサポートしました
 ・別窓はGDI、統合後はDirectDrawで描画されます。
 ・フルスクリーンはNo change screen resolutionをONにしておくのがおすすめ。ウィンドウアクセラレータの解像度に実環境の解像度が振り回されるので。DirectDrawにあるウィンドウサイズがフルスクリーン解像度の大きさに変更されるバグも起こりやすいです。ウィンドウサイズと配置が変更されるのを気にしないならOFFでも多分問題ありません。
・ウィンドウアクセラレータ動作中のマウスカーソル描画が滑らかになりました
・マルチスレッドモード描画モードも搭載しています
 ・若干速くなるかも?
 ・CPUコア数が少ないならONにしてもあまり意味が無いと思う
 ・エラーが出やすいかも
 ・ちなみに最速になるのは別窓+マルチスレッドモードの場合です(描画系がすべて別スレッドで動作するため)
・Alt+TabやCtrl+Escなどのシステム関連キーをエミュレータに送信できるようになりました
 ・原則として左側のCtrl,Alt,Shift修飾はエミュレータ、右側のCtrl,Alt,Shift修飾はシステムに送られます
 ・Ctrl+Alt+Delは例外で無条件でシステムに送られます。エミュレータにCtrl+Alt+Delを送りたいときは代わりにCtrl+Alt+ScrollLockを入力してください。
・ウィンドウモードを利用する場合は画面解像度を1024x768より大きくしてください(1280x1024とか1920x1080とか)。


(2016/03/26 ver0.86 rev5) 

・Virtual PCの固定サイズVHD形式をサポートしてみました(ただし、AT互換機形式とPC-98形式のパーティションに互換性がないのでConv98AT等を使う必要があります)


(2016/03/25 ver0.86 rev4) 

・ウィンドウアクセラレータ関連のファイル/ディレクトリ名がvideoだと紛らわしいので名前いじくりました(video/video.c, video/video.c -> wab/wab.c, wab/wab.h)
・NetworkとWindow Acceleratorのモジュール独立性を高めて(比較的)他のボードを追加しやすいようにしてみた(そのうちSoundみたいにメニューで選択できるようにした方が良いかも?)
・上記修正でQEMU由来の部分を分離できたので曖昧だったnet.c,net.hとwab.c,wab.hは完全に修正BSDライセンスになります
・分離されたということで、ネットワークサポート追加のSUPPORT_NET, ウィンドウアクセラレータサポート追加のSUPPORT_WABが追加されました。これらだけを定義してもQEMUのコードはバイナリに組み込まれないので修正BSDライセンスになります
(ただし、これらを定義するだけではLANもウィンドウアクセラレータも使えません。あくまで基本部分を提供するだけなので、QEMUのLGY-98やCL-GD5430を使わないのであれば新たに自作しなければなりません)
・詳しい人がLGY-98やCL-GD5430以外のデバイスも作ってくれると期待(WAB-SとかTridentとか・・・PCI使えるようにしたらだいぶ作りやすくなる気がする)


(2016/03/23 ver0.86 rev3)

・カレンダ設定画面でOKが押せない不具合を修正
・ウィンドウアクセラレータにアナログスイッチモードを追加(要は切り替えの音が鳴らないだけ)


(2016/03/19 ver0.86 rev2)

・IDE設定画面を追加
・ITF workメニューの設定が保存されないバグを修正
起動時STOPキーによるITFスキップ機能追加(実機ではメモリチェック無し起動ですがnp21wではちゃんとメモリ初期化はします)
・ウィンドウアクセラレータ別窓の操作性改善(キー送信対応・マウス中ボタンでのマウスキャプチャ対応・ウィンドウリサイズサポート)
・x64版の試験提供
・ヘルプファイル付属
・言語DLL付属(過去バージョンのDLLを用いた場合、後から追加されたメニューが表示されないなどの問題が起こります)


(2016/03/12 ver0.86 rev1)

・512MB以上のNHDイメージが作成できなくなっていた問題を修正しました


(2016/03/11 ver0.86)

・本家Neko Project || ver0.86ベースのNeko Project 21/W ver0.86を公開いたしました
・試行錯誤の結果残っていた不要コード整理しました
・LAN,ウィンドウアクセラレータともに複数種類への対応を想定してダイアログを作り直しました
・従来INIで直接編集しなければならなかったTAPデバイス名をGUIで選択できるように改良しました
・CL-GD5430ウィンドウアクセラレータ内蔵機種選択を追加しました(ただし、Xe10内蔵以外で動く保証はありません)
・折角なのでソースに入っていた複数言語対応のDLLも作ってみました(日本語・英語・簡体字中国語・繁体字中国語)



コンパイル時の注意
・開発はVisual Studio 2010で行われているので2008や2005のプロジェクトは更新されていません。自分でwabやnetworkやdialogのソースを追加してやれば動くと思いますが多分面倒です
・プロジェクトはwin9x/np2vs2010.slnです
・DirectX SDKが要ります(DirectDrawがサポートされている必要があるため2007,2008あたりの古めの物)
・ver0.86からVST SDK(VST 3.6.5 Audio Plug-Ins SDK)が必要になったようです
・Neko Project 21/Wで追加されたプリプロセッサ定義は以下の通りです
・SUPPORT_LGY98あるいはSUPPORT_CL_GD5430を書くとQEMUのコードが含まれるのでライセンスがGPLv2MITライセンスになります。また、USE_FPUではDosBoxのコードが含まれるためGPLとなります。注意してください
・SUPPORT_FMGENを使う場合はfmgenのライセンスに従ってください
・USE_MAMEを使う場合はMAMEのライセンスに従ってください
・SUPPORT_PHYSICAL_CDDRV(実CD/DVDドライブマウントサポート)でコンパイルするにはWinDDKが必要です

 定義  機能
 SUPPORT_PC9821  PC-9821関連の機能(256色モードとか)をサポートします。本家にもありますが以下の定義はこれが無いとまともに使えないので念のためここに書いておきます。
 SUPPORT_IDEIO  IDEをサポートします。Windows2000の動作には必須。この定義自体は本家にもありますが、Neko Project 21/WではTRACEの定義は不要で、TRACEを定義してもSUPPORT_IDEIOは定義されません。
 SUPPORT_LARGE_HDD  2GBを越えるNHD形式ディスクイメージをサポートします。Windows2000を使う場合には事実上必須。
 SUPPORT_HRTIMER  高分解能タイマをサポートします
 SUPPORT_NET  ネットワーク(LAN)基本機能を有効にします。ネットワークデバイスを使用する場合には必須(の予定)。
 SUPPORT_WAB  ウィンドウアクセラレータ基本機能を有効にします。ウィンドウアクセラレータを使用する場合には必須(の予定)。
 SUPPORT_LGY98  メルコのLGY-98を使用可能にする。SUPPORT_NETの定義が必要。定義するとライセンスがMITライセンスになります。
 SUPPORT_CL_GD5430  Cirrus LogicのCL-GD5430を使用可能にする。SUPPORT_WABの定義が必要。定義するとライセンスがMITライセンスになります。
 SUPPORT_VPCVHD  VirtualPCの固定容量VHD形式ハードディスクイメージをサポートします。
 SUPPORT_KAI_IMAGES  np2 kai版でサポートされている各種ディスクイメージに対応します(NFDなど)。
 SUPPORT_WIN2000HOST  VC++2010でコンパイルする場合にWin2000ホストでの動作をサポートします(黒翼猫さんのライブラリ使用)。
 SUPPORT_NVL_IMAGES  NVL.DLLによる追加ディスクイメージサポートを追加(動的容量VHDなど)
 SUPPORT_PHYSICAL_CDDRV  物理CD/DVDドライブのマウントをサポートします
 SUPPORT_FMGEN  fmgenを使用できるようにします。使用する場合はfmgenのライセンスに従ってください
 SUPPORT_SOUND_SB16  Sound Blaster 16を使用できるようにします。USE_MAMEがないと音が鳴りません。
 SUPPORT_FPU_DOSBOX DOSBoxから移植された64bit倍精度浮動小数点FPUを使用可能にします。
 SUPPORT_FPU_DOSBOX2 DOSBoxから移植された64bit倍精度浮動小数点FPUに80bit拡張倍精度相当の整数ロード・ストア機能を追加したものを使用可能にします。
 SUPPORT_FPU_SOFTFLOAT Berkeley SoftFloatによる拡張倍精度浮動小数点数演算(推奨)を使用可能にします。
 SUPPORT_PCI PCIバスのサポートを有効にします。
 SUPPORT_SCRN_DIRECT3D Direct3Dを使用した画面描画に対応します。
 HOOK_SYSKEY  システムショートカットキーをエミュレーション側に送信する設定を追加する(Ctrl+Alt+Delを除く)
 ALLOW_MULTIRUN  猫を無条件で複数起動可能にする。ほぼテスト用。英語が怪しい。
 USE_FPU  FPUを有効にします。これによりライセンスがGPLになるので注意。
 USE_TSC
 CPUのタイムスタンプカウンタ機能を有効にします。Pentium以降のエミュレーションに必要。
 USE_MMX MMXを有効にします。FPUに依存しているのでUSE_FPUも必要です。
 USE_SSE SSEを有効にします。MMX, FPUに依存しているのでUSE_FPU, USE_MMXも必要です。
 USE_SSE2 SSE2を有効にします。SSE, MMX, FPUに依存しているので(以下略)
 USE_SSE3 SSE3を有効にします。SSE2, SSE, MMX, FPUに依存しているので(以下略)
 USE_MAME  MAMEのOPL3エミュレーションを使います。ライセンスがGPLになるので注意
 USE_FASTPAGING ページング関連のメモリ読み書きを簡略化して高速化したつもりになる
 BIOS_IO_EMULATION BIOSによるI/Oポート操作をエミュレーションする機能をサポートする



注意事項

※この改造版について本家の人に文句を言ったり要望したりしないでください
※大事なファイルはバックアップしておいてください
(追記:2016/02/29)
※IDE #2とIDE #3がCDドライブです → ver0.86 rev2 からは設定で選べるようになりました
※レジューム・ステートセーブは動きません → ver0.86 rev19 からは再び使えるようになりました
(追記:2016/03/10)
※HDイメージはNHD形式に限り2GBオーバー(通常は8GB制限・隠しオプションで32GBくらいまで)の物を作成できるようにしてあります(本家NP2/NP21及びT98-NEXTでは問題を起こす可能性があるので読み込ませない方が無難です)
※大容量HDイメージの作成はかなり時間がかかるのでそのつもりでいてください(進捗状況等は出ません→rev29からNHD,VHD限定で表示されるようになりました)
サブページ (1): ゴミ置き場
ċ
40MB.zip
(48k)
K Sim,
2018/04/11 6:58
ċ
98DASEEK.zip
(83k)
K Sim,
2018/10/18 7:24
ċ
ACLOCK.BAS
(3k)
K Sim,
2016/03/20 10:00
ċ
GDCSTART.zip
(2k)
K Sim,
2018/09/01 7:54
ċ
TSC.zip
(21k)
K Sim,
2018/03/26 9:41
ċ
cirrus_vga.c
(180k)
K Sim,
2018/03/25 5:43
ċ
fputest.zip
(54k)
K Sim,
2016/05/02 8:17
ċ
np21w-0.86-rev46.zip
(5862k)
K Sim,
2018/10/27 8:42
ċ
np21w-0.86-rev47beta5.zip
(5887k)
K Sim,
2018/11/17 4:58
ċ
np21w-0.86-rev47beta6.zip
(5887k)
K Sim,
2018/11/18 5:37
Ċ
np21w.pdf
(112k)
K Sim,
2018/10/06 2:50
ċ
np21w_lgy98_linux.zip
(17k)
K Sim,
2017/06/22 7:39
ċ
np21wtool.zip
(21k)
K Sim,
2018/09/26 8:14
ċ
np2_hrtimer.zip
(13k)
K Sim,
2017/08/02 8:29
ċ
np2tool.zip
(9k)
K Sim,
2016/06/11 19:45
ċ
sl9821_lgy98.zip
(264k)
K Sim,
2017/06/11 8:25
ċ
sl9821_lgy98_wab.zip
(343k)
K Sim,
2017/06/14 6:57
Comments