簡易FAQ

オリジナルのヘルプや別途付属テキストも参照して下さい

主なオリジナル(0.83)との違い一覧

・FM音源エンジンをfmgenに変更(FM音源部のみ使用)
・FM音源の再現を向上させるQFM/LPF追加
・ユーザーLPF追加
・外部音源DLL(V1)対応
・BEEPPCM用の音質向上仮想ボード追加
・CDイメージ対応(IDE #2)
・CDDAの音量スライダ追加
・マウスホイールで音量変更追加
・イメージやステートファイルのドラッグ＆ドロップ対応
・擬似マルチディスクイメージ(FDL)対応
・マルチスレッド対応(ENHANCED.txt)
・UMBとして使用できるメモリの増加(ENHANCED.txt)
・画面描画フィルタの追加
・ウィンドウの位置やサイズ状態を保存復帰
・マウススピードやFDDやジョイパッドの設定や切り替えの追加
・ステートファイルの読み書き確認等の追加
・ステートファイル名の変更
・メニューのショートカット登録追加(Function.txt)
・np21のCPU部をXnp2のものに変更
・デバッガの拡張(簡易メモリエディタ)

---------- エミュレーション

・○○が動かない
　エミュレータ以外にもPCの環境やさまざまな要因があるので対処は難しいです
　オリジナルや他では動くのか以前のバージョンでは動くのか
　INIの設定はどうしているのか
　np2なのかnp21なのかエミュレーション上の環境はどうなのか
　情報が細かく多い程改善できる可能性は高いですがあくまで私的な改造版なので期待しないで下さい
　エミュレータ側の設定で動作する場合もあるのでクロックやサウンドボードを変更して試してください
　「np2 ソフト名」等ネット検索すると解消法が見つかる事があるかもしれません

・本家では動くが改造版では動かない
　CPU(i386)の問題の場合が多いですがIDEを使用している所為で動作しない場合があります
　その場合はシステムメニューで内蔵固定ディスクを使用しないにする事で動作するかもしれません

・np2(nt)sxとは
　CPU部分のみをnp21(386SX)化としたnp2(nt)です

・実行速度が安定しない
　INIのPriorityの数値を1や2にしてみて下さい
　あまり大きくすると不安定になるので注意
　又はENHANCEDの設定でマルチスレッドにする事で改善するかもしれません
　その他エミュレーション側のCPU周波数を下げたりホスト側のCPUの強化やサウンドレートの改善する事で安定するかもしれません

・No Waitにしても速くならない
　CPU周波数が高い状態より低い状態での方が速くなる場合があるので試して下さい

・CPU速度を変えて実行したい
　メニュー→Emulate→Speedで選択します
　デフォルトでは50% 75% 100% 200% 400% 800%
　INIにCPUSMENUを手動で追加する事で8個までカスタマイズ登録できます
　単位は%で-値で表記した場合100%とのトグル動作になります
　8個未満の場合は0で終了を明示してください
　例)
　CPUSMENU=25,50,75,100,150,200,400,800
　CPUSMENU=100,-200,400,800,0
　あまり逸脱した値を指定選択すると動作が不安定になるので注意してください
　ショートカットで使用する場合は40140〜40147です

・マルチスレッドとは
　エミュレーションとOSのメッセージ処理を分ける事で負荷を分散するようにします
　メニュー操作時でもエミュレーションの実行が停止されません
　デフォルトではシングルスレッドで動作します
　INIのENHANCEDで設定します

・UMBを増やしたい
　デフォルトでA5000-A7FFFが書き込み可能RAMとして
　エプソンモデルではD4000-DFFFFがRAMとなりUMBとして使用できます
　NECモデルの場合INIのEMHANCED設定でD0000-FFFFFがRAM化されます
　通常ROMの部分もRAM化されるので取り扱いには注意して下さい
　np21ではページング等を使わずにUMB化できるのでVEM486やEMM386等で遅くなる状態を避ける事が出来ます
　通常の使い方をする場合はページングや仮想86を必要とする場面は少ないと思うのでRAM化してUMBとして使用する方が高速になります

・CDを使いたい
　IDE #2でイメージファイルをオープンする事でCDが使用できます
　対応しているイメージは.cue(bin/img)|.ccd|.cdm|.mds|.nrg|.isoです
　正常に扱えない場合は形式を変換してみて下さい(.nrg→.iso)
　ドライバは標準でneccdd.sysを使用して下さい

・エミュレーション内のマウスカーソルの移動が遅(速)い
　INIのMOUSESNSで調整して下さい(デフォルトは64)
　小さくすれば移動量が減り大きくすると移動量が増えます

・マウスカーソルは動いてるがそれ以外の操作ができない
　INIのENHANCEDでマウスを別タイプにしてみて下さい

・2台目に接続しているジョイパッドを使いたい
　INIのJOYSTKIDで指定します
　0で1台目1で2台目に繋がってる機器が対象です

・FDDのアクセスを調整したい
　INIのFDD_Waitで調整します(%単位)
　100で通常150なら1.5倍になります
　Seek soundの状態で処理時間が変わるので調整して下さい

・ステートファイル名を変更したい
　メニューStatの一番上(初回時は[No title])を選択する事でダイアログが開くので好きな名前を入力して下さい
　nekoと入力した場合neko.S??としてステートファイルを扱います
　裏技としてfolder\nekoとする事でfolder内にneko.S??としてセーブする事が可能です
　但し事前にそのフォルダが存在していないといけません
　レジュームは対象外です

・イメージのドラッグ＆ドロップとは
　エミュレーションウィンドウにイメージファイル又はステートファイルをドラッグ＆ドロップするとオープンしたのと同じ動作になります
　.hdi|.thd|.nhd(HDイメージ)の場合はIDE #0(Ctrlを押しながらでIDE #1)
　.cue|.ccd|.cdm|.mds|.nrg|.iso(CDイメージ)はIDE #2
　.hdd(HDイメージ)の場合はSCSI #0(Ctrlを押しながらでSCSI #1)
　.d88|.88d|.d98|.98d|.fdi|.xdf|.hdm|.dup|.2hd|.tfd(FDイメージ)の場合はFDD1(Ctrlを押しながらでFDD2)
　.s??のステートファイル
　.fdlのマルチイメージファイル

・FDLとは
　FDLは複数のディスクイメージを単体のマルチディスクイメージとして扱えるようにするのテキスト形式のリストファイルです
　.fdlファイルをドラック&ドロップする事でメニューのFDD1/2からディスクを選択できるようになります
　メニューやツールウィンドウでイメージファイルを変更した場合はFDLは解除されます
　ショートカットで使用する場合のメニュー番号はFDD1は44000〜FDD2は45000〜です

　例) FDLファイル内容(FDイメージと同じ場所に.fdlとして保存)
　;[FDLIST]以下記述
　[FDLIST]
　;メニューに表示するタイトル名(省略時はFDLファイル名)
　Name=ワンダラーズフロムイカ娘
　;ステートファイル名を変更したい場合
　;StatName=geso
　;パッチファイルを使う場合
　;Pat=geso.pat
　;ディスク番号は1〜15まで番号スキップ可能
　;ファイル名先頭にP,を付けるとライトプロテクト(読み込み専用)
　1=P,プログラム.fdi
　2=データ1.fdi
　3=データ2.fdi
　9=ユーザー.d88

・ショートカットを使いたい
　メニュー項目にあるものならショートカットに登録する事が出来ます
　デフォルトではアプリケーションキーでScreen→No Waitの切り替えが登録されています
　詳しくはFunction.txtを参照して下さい

・マウスをOS側とシームレスにして使いたい
　98のハード上の問題で完全には不可能のですがINIのENHANCEDでマウスモードを別タイプにしてMOUSESNSで調整する事でエミュレータ側のマウスと同じ座標で操作できるかもしれません

・PATとは
　いわゆるPARです
　エミュレータ上のメモリを特定の条件で書き換える事が出来ます
　コードはP88SRの仕様に準拠ただし一部命令(以下)は非対応
　50	シリアルコード
　C0	イコール比較(強化版)
　D4	キー入力比較
　aabbbbに相当する部分が全てアドレスになります
　メニューのPATからOpenで.PATを読み込むかドラッグ＆ドロップ
　Patから実行したいコードを選択
　複数のコード(最大15)を選択可能
　No Codeで全コード抑制
　レジュームは対象外です(FDL復帰時は読み込みのみ可能)
　エミュレータの構造上CPU命令を複数実行してからPATが実行されます
　例) ys3.pat
　;
　;	Patch for YS3 (FD)
　;
　#GOLD MAX
　e10153b2 0000
　800153b8 ffff
　#EXP MAX
　e10153b2 0000
　800153ba ffff
　#RING MAX
　e10153b2 0000
　300152cd 00ff
　#無敵
　e10153b2 0000
　c20153b2 0001
　300153b1 0000
　例) br3.pat
　;
　;	Patch for Brandish 3 (FD)
　;
　#お金MAX
　D001ED50 FFFF
　8001EAFE ffff
　#無敵
　D001ED50 FFFF
　C201ED74 0002
　8001ED72 0000
　例) xak3.pat
　;
　;	Patch for Xak 3 (FD)
　;	ラトクのみ
　;
　#お金MAX
　d003c642 4720
　8003e95f ffff
　#経験地MAX
　d003c642 4720
　8003e7e6 a885
　3003e7e8 002d
　#無敵
　d003c642 4720
　c203e7ea 0002
　8003e991 0000

・簡易メモリエディタとは
　INIにI286SAVE=trueを追加した時の簡易デバッガのメモリダンプで書き換え及びバイナリサーチが出来るようになります
　以下の操作が追加されています
　Page Up/Down		スクロール
　↑/↓				スクロール(1行)
　Shift+↑/↓		検索にヒットしたアドレスへの前方/後方移動追加
　Ctrl+F			検索バイナリ入力
　Ctrl+G			セグメントアドレス入力
　ダブルクリック	メモリ書き換え
　数値は16進数
　数値部分をダブルクリックする事でメモリ書き換え(1バイト)
　検索バイナリ列は1バイト〜4バイト入力で複数入力時はスペースで区切りを入れてください(例:cd 1b)
　入力時先頭に+を付けると以前検索して見つかった中での追加検索-を付けるか何も付けないと新規検索になります(例:+0f 27 00 00)
　あくまで簡易版なので本格的な事をしたい場合は他のツールを使用して下さい
　ウィンドウタイトルにメインメモリ格納アドレス表示(他のツールでベースアドレスとして使用)
　ハイメモリ(100000h以降)の書き換えは出来ません
　書き換えた値を検索に含める場合は再検索して下さい

---------- 画面

・Window (Hard)とWindow (Soft)の違いは
　DirectDrawのハードウェアアクセラレーションでフィルタを使うか使わないかの違いです
　ただし環境によってはHardであってもフィルタが掛からない場合があります
　その時はStretch Filterを使用して下さい

・Window (Soft)で描画に不具合が出る
　INIのENHANCEDで描画を別タイプにすると改善するかもしれません

・Antialiaseとは
　簡易なフィルタを使用してジャギを目立たなくします
　実質タイルパターンを中間色にするような用途用です

・Antialiaseが効かない
　MMXに対応していない場合や画面が32ビットモードで無いと使用できません

・フルスクリーン時にAntialiaseが効かない
　ウィンドウ時モードが32ビットカラーの場合は
　メニューのScreen→Screen Option→FullScreen→No change screen colorsをオンにすると32bitのままフルスクリーンにできるかもしれません

・Stretch Filterとは
　画面拡大及び縮小時の描画時補間フィルタを使用します
　環境依存があるので使用できない場合もあります

・拡大縮小時に補間フィルタがかけたくない
　まずWindow(Soft)で試してみてそれでも補間がかかるならENHANCEDでSOFT別タイプにしてからWindow(Soft)かStretch Filterを試してみてください

---------- サウンド

・バックグラウンド時再生速度が安定しない
　エミュレーションの実行速度が安定しないを参照

・QFMとは
　FM音源合成のタイミングを重視する事でFM音源の再現を向上させます
　ただしCSMやBEEPPCM等のタイミングが犠牲になる場合があります
　86PCM再生時プチノイズが混じる事があります
　それなりに重くなります

・LPFとは
　ローパスフィルタである特定の周波数をカットする事で異音を除外したりします

・ユーザーLPFとは
　QFMのLPFとは独立して反映するLPFです(同時に使用可能)
　INIにlpforder(フィルタ次数)とlpfcutof(カットオフ周波数)で設定します
　lpforder=0〜8(0で使用しない)
　lpfcutof=3000〜24000(Hz)
　それなりに重くなります

・外部音源DLLとは
　音源部を外部DLLとして用意しそれを使い合成を行います
　内臓のエンジンでは再現が難しい音が改善されるかもしれません

・外部音源DLLを使う
　INIにFMGenDll追加して使用するdllを指定して下さい

・外部音源DLLをメニューで選択する
　INIにDLLリストを追加する事でメニューに追加されます
　FMGenDllとDLLリストは排他です(FMGenDllがあるとDLLリスト無効)
　DllList?=外部音源DLL名,FMWait_A,FMWait_D,メニュー表示文字列
　?は0〜9の10種類(順不同スキップ可能)
　外部音源DLL名を*にすると内蔵fmgenを使用します
　有効ではないDLLは除外されます

　例)
　DllList0=*,0,0,fmgen(No Wait)
　DllList1=*,80,500,fmgen(88k/QFM)
　DllList2=
　DllList3=mamefm.dll,180,1000,MAME(55k/QFM)
　DllList4=mamefm.dll,100,680,MAME(88k/QFM)
　DllList5=genpfm.dll,100,680,YM2612(88k/QFM)
　;DllList7=np2fm,0,0,NP2(22/44k Only)

　変更後はリセットするか次回起動時から有効になります
　INIのFMWait_A/FMWait_Dは選択したリストの数値に変更されます

・内部fmgenと外部fmgenの違いは
　内部fmgenの場合はFM音源部のみを使い外部fmgenの場合はFM音源部を含む全ての音源部を使用します

・FM音源の音が実機と違う
　外部音源DLLやQFMを使用する
　INIにFMWait_AやFMWait_Dで調整する等で対処できるかもしれません

・FMWait_A/FMWait_Dとは
　FM音源レジスタにアクセス時にウェイトを掛ける事でタイミングが実機に近くなり合成の再現性が上がります
　FMWait_A	OPN(A)アドレスライト後のウェイト
　FMWait_D	OPN(A)データライト後のウェイト(FM音源部のみに適用)
　デフォルトではどちらも0(クロック設定)
　YM2608はアドレスライト後に2.1μs(約80clock)
　データライト後はアドレスにより変化2.1μs〜72.0μs(約80〜2400clock)が必要
　PSG部2.1μs/リズム部72.0μs/FM音源部5.9μs〜19.4μs(最大約650clock)
　CPU周波数や再生レート音源エンジンによっても変わるので好みで数値を調整して下さい

・線形補間とは
　QFMオフ時FM音源の合成を補間する事で音質を良くします
　QFMより負荷が軽減されます
　INIのENHANCEDで設定します

・PSGに違和感又は音質が悪い
　INIのENHANCEDでPSGを別タイプすると改善するかもしれません
　特にPSGPCMの音質向上と負荷が軽減するかもしれません

・BEEPPCMの音質が悪い
　INIにBEEP_PCMを追加(変更)して仮想BEEPPCMボードでの発音を試して下さい
　BEEP_PCM=0	通常
　BEEP_PCM=2	PC-9801-999A搭載
　BEEP_PCM=3	PC-9801-999A(OverDrive)搭載
　BEEP_PCM=4	PC-9801-999B搭載
　BEEP_PCM=5	PC-9801-999B(OverDrive)搭載
　メニューのBEEP音量を反映します
　2/3はQFM対応ですがプチノイズや意図しない音が入るかもしれません(音質は良好)
　4/5はQFM非対応ですがプチノイズが軽減するかもしれません
　3/5はBEEPPCMの音量を多少大きくします
　必ずしもこのボードでエミュレートできるとは限らないので注意
　BEEPPCMの音量を上げたい場合はBeep highよりlowやmidにしてOverDriveにした方が音割れノイズ等少なくなります
　Bufferが小さいと途切れ途切れになるかもしれません

・86PCMを仕様しているソフトで不具合が起こる
　INIのENHANCEDで86PCMを別タイプにすると改善するかもしれません

・86PCMの音質が悪い
　QFMを使用している場合はプチノイズが混じるの場合があるのでQFMを切ってください
