○はじめに
  SSFはセガのコンシューマーマシンである「セガサターン」とその互換機をパソコン上で再現するエミュレータです。
  まだ開発途中ですがそれなりに再現されています。



○動作環境 (最低条件)
  OS         - Windows7/8/10/11
  CPU        - Windows7以降が動作するCPU
  メモリ     - 1GB以上
  ビデオ     - DirectX11に対応しているカード
               シェーダーモデル5.0に対応している必要があります
  サウンド   - DirectX11に対応しているカード
               48000Hz,ステレオPCMが再生できる必要があります
  CDドライブ - MMC3に対応したドライブ



○動作環境 (推奨条件)
  CPU    - Intel Core Ultraシリーズ
           Intel Core i9シリーズ
           Intel Core i7シリーズ
           Intel Core i5シリーズ
           AMD Ryzenシリーズ
  メモリ - DualChannel 1GB以上
           64ビット版なら2GB以上
  その他 - BIOS
           CDイメージ使用



○インストール,アンインストールについて
  インストールする必要はありません。圧縮ファイルを適当なフォルダに展開するだけです。
  アンインストールは展開フォルダを削除するだけです。
  RegistryAdd.batはコンテキストメニューに'SSFで開く'を追加するバッチファイルです。
  RegistryDelete.batはコンテキストメニューから削除するバッチファイルです。
  主にCUEファイルを選んでコンテキストメニューからSSFを実行することを想定しています。
  バッチファイルの実行には管理者権限が必要です。
  これ以外でレジストリを操作することはありません。



○BIOSファイルについて
  BIOSは実機から吸い出す必要があります。
  PCに接続できるプロアクションリプレイなどからアドレス00000000〜0007FFFFまでを保存します。
  ファイル名は任意です。
  BIOS無しでも動作しますが互換性は落ちます。



○設定ファイルについて
  初回起動のゲームはSSF.iniの設定を使用します。
  なので、SSF.iniはデフォルト値ということになります。
  SSF.iniはディスク無しの状態で起動した場合に設定できます。Setting.iniはプリセットです。
  一度起動したゲームの設定はゲーム毎にSettingフォルダに保存されます。
  SSF.iniとSetting.iniはバージョン間の互換は保障しません。
  項目や設定値の内容が変わる場合があります。
  また、テキストファイルなので直接書き換えが可能です。
  オプションダイアログでは設定できない機能として、
   [Program1]->DisableInput - 0にするとウィンドウにフォーカスが無い場合でも入力を受け付けるようになります
   [Program1]->MenuPause    - 0にするとメニュー選択時でもエミュレータが動作するようになります 
   [Program4]->68000Type    - 1にすると白サターン化します(初期のアウトラン,スペースハリアーなどのバグを再現します)
   [Other]->DateFlag        - 0にするとサターンの内蔵時計を未設定にします(BIOS有り時のみ時刻設定画面を表示)
                              BIOS無しの場合は実行しても0のままですが、1に変更しないと動かないソフトもあります
   [Input]->VariableRapid   - 各端子,ポートの可変連射幅(ランダムで＋n/60秒の可変)
  などがあります。



○操作
  キーボードかパッドが使えます。
  デフォルトは
   UP = UP Arrow
   DOWN = DOWN Arrow
   LEFT = LEFT Arrow
   RIGHT = RIGHT Arrow
   A TRG = Z key
   B TRG = X key
   C TRG = C key
   X TRG = S key
   Y TRG = D key
   Z TRG = F key
   L TRG = A key
   R TRG = G key
   START = Enter key
   CD Open = F1 key
   CD Close = F2 key
   Hard Reset = F4 key
   Emulator Restart = F3 key
   連射のON/OFF切り替え = F5 key
   SoundのON/OFF切り替え = F6 key
   State Load = F7 key
   State Save = Shift + F7 key
   Snapshot = F8 key
   Sound Record = F9 key
   Video Record = Shift + F9 key
   Borderlessの切り替え = F12 key
   NBG0の表示ON/OFF切り替え = NUMPAD 1 key
   NBG1の表示ON/OFF切り替え = NUMPAD 2 key
   NBG2の表示ON/OFF切り替え = NUMPAD 3 key
   NBG3の表示ON/OFF切り替え = NUMPAD 4 key
   RBG0の表示ON/OFF切り替え = NUMPAD 5 key
   RBG1の表示ON/OFF切り替え = NUMPAD 6 key
   Spriteの表示ON/OFF切り替え = NUMPAD 7 key
   画面の回転 = NUMPAD 0 key (テンキーの0)
   ABCとXYZボタンの入れ替え = NUMPAD 9 key
   ウィンドウサイズ変更 = NUMPAD + key
   Windowsマウスカーソルの表示ON/OFF = NUMPAD - key
   Debug出力 = F11 Key (Enable Debug ON時)
   サウンドテスト = NUMPAD * key
  以下は変更不可
   終了 = ESC key
  以下は変更不可(ST-V関係)
   1P Start = 1 key
   2P Start = 2 key
   3P Start = 3 key
   4P Start = 4 key
   Coin1 = 5 key
   Coin2 = 6 key
   Coin3 = 7 key
   Coin4 = 8 key
   TEST = 9 key
   SERVICE = 0 key
   A〜N = A〜N key (Mahjong Panel)
   カン = Ctrl key (Mahjong Panel)
   ポン = Alt key (Mahjong Panel)
   チー = Space key (Mahjong Panel)
   リーチ = Shift key (Mahjong Panel)
   ロン = Z key (Mahjong Panel)
  2P側はデフォルトではキー設定されていません。ポートとキー設定を行えば使用できるようになります。
  SSF起動直後に左Shiftを押しているとST-Vに切り替わります。
  同様にSpaceを押していると1Block Clockを一時的に60%に落として起動します。
  同様にCtrlを押しているとBIOSの使用ON/OFFが一時的に切り替えて起動します。
  同様にTabを押しているとオブジェクトキャッシュの使用ON/OFFが一時的に切り替えて起動します。
  同様に右Shiftを押しているとチートの使用ON/OFFが一時的に切り替えて起動します。
  同様に左Altを押しているとデフォルト設定にして起動します(オプションのDefaultボタンと同等)。
  同様に右Altを押しているとコントローラー設定をリセットして起動します。
  同様に1〜5を押していると設定が切り替わります(Setting.iniファイルの[Setting1]〜[Setting5]に対応)。
   デフォルトでSetting1〜Setting5は同じになっています。
   変更したい場合は、テキストエディタなどで書き換えてください。



◯メニューの説明

・File -> Create Object Cache
  デフォルトオプションでオブジェクトキャッシュを作成します。
  バスウェイトを有効にしていた場合はバスウェイト有効オプションを指定して作成します。
  メモリが少なく論理コア数が多いとメモリ不足になるかもしれません。
  その場合は、使用コア数オプションを指定して手動でオブジェクトキャッシュを作成してください。

・Hardware -> Reset
  エミュレータをリセットさせます。
  実機で例えるならリセットボタンを押したのと同じ動作です。

・Hardware -> Restart
  エミュレータを再起動させます。
  設定ファイルを読み込みし直します。
  実機で例えるなら電源を切って入れ直すのと同じ動作です。

・Option -> Hide Mouse Cursor
  マウスカーソルを表示しないようにします。
  コントローラの設定でマウスを使用するようにしている場合のみ有効です。
  非表示中にESCキーを押すとマウスカーソルが表示されるようになります。



○オプションの説明

・Save to SSF.ini
  チェックを入れるとゲーム起動中でもSSF.iniを更新します。
  ゲーム起動中にデフォルト値(SSF.ini)を変更したい場合にチェックを入れてください。

[Peripheral Tab]
・Saturn BIOS
  サターンのBIOSファイルを指定します。
  サターンの動作はBIOS無しでも可能ですが互換性は落ちます。

・ST-V BIOS
  ST-VのBIOSファイルを指定します。
  ST-Vの動作にはBIOSが必要です。

・CD Drive
  使用するCDドライブを選択します。
  ドライブによってはレスポンスが遅く読み込みが間に合わないことがあります。
  CDイメージの使用を推奨します。

・Cartridge
  拡張スロットに挿すカートリッジを選択します。

・Area Code
  エリアコードを選択します。

・Data Cartridge
  有効にすると指定したファイルをABUS-CS0領域に読み込みます。
  データカートリッジを読み込むためのオプションですが動作確認はしていません。

・CD Image
  有効にするとCDイメージファイルを使用します。
  対応フォーマットはCUE+BinaryImageとCHDです。

[Screen Tab]
・Scanline
  チェックを入れるとスキャンラインが有効になります。

・Disable Fullscreen Scanline
  チェックを入れるとフル画面時はスキャンラインが無効になります。

・Auto Field Skip
  チェックを入れると自動で速度調整をします。
  チェックを入れてもゲームが重い場合はマシンパワーが足りていません。

・Enforce Aspect Ratio (Window)
・Enforce Aspect Ratio (Fullscreen)
  チェックを入れるとサターンのアスペクト比に強制設定します。

・Wide Screen
  チェックを入れるとワイド画面(16:9)になります。

・VSync Wait (Window)
・VSync Wait (Fullscreen)
  チェックを入れるとVSyncを待って画面を切り替えます。

・Fixed Window Resolution
  チェックを入れるとウィンドウ時の解像度の切り替えを行わなくなります。
  サターン最大解像度のウィンドウになり中央に有効画面が表示されます。

・Fixed Fullscreen Resolution
  チェックを入れるとフル画面時の解像度の切り替えを行わなくなります。

・Bilinear Filtering
  チェックを入れるとバイリニアフィルタリングが有効になります。

・Full Size
  チェックを入れるとフル画面時に縦横のどちらかがディスプレイの表示解像度になるまでサターンの画面を拡大させます。

・Gamma Correction
  チェックを入れるとガンマ補正が有効になります。

[Sound Tab]
・Linear Filtering
  チェックを入れるとリサンプリング時にPCMを線形補間します。
  線形補間は実機でも行っています。

・Alternative Decode
  チェックを入れるとSCSPレジスタ(キーON/OFF)の更新を1サンプル毎に行います。
  実機に近い音になりますが重いです。

・Mute
  チェックを入れると無音になります。

・Volume
  ボリュームを浮動小数点で指定します。
  XAudio2ではマスターボイスのボリュームをWaveformではPCM自体を変更しているので、大きくすると音割れするかもしれません。
  設定できる数値は0.0〜4.0です。

・Buffer Size
  サウンドの展開バッファサイズを選択します。
  サイズが小さいと遅延も少なくなりますがサウンドドライバや環境によってはきちんと再生されません。
  Buffer Sizeはサウンドドライバに一度に転送するサイズです。

・CDDA Force Stereo
  チェックを入れるとモノラルで再生されているCDDAがステレオになります。
  レイヤーセクションなどCDDAがモノラルで再生されているゲームに有効です。
  モノラル再生されているかはタイトルバーの'------'に'c'が表示されているかで判断できます。

[Controller Tab]
・Port1
  コントロール端子1の接続を選択します。

・Player1:A〜Player1:F
  コントロール端子1に接続したマルチターミナル6の各ポートに接続する機器を選択します。
  ダイレクト接続の場合はPlayer1:Aの設定を使います。
  ST-Vの場合、1PはPlayer1:A,3PはPlayer1:B,4PはPlayer1:Cに割り当ててあります。
  Redefineボタンで各ボタンの設定ができます。
  Rapidは連射用です。

・Port2
  コントロール端子2の接続を選択します。

・Player2:A〜Player2:F
  コントロール端子2に接続したマルチターミナル6の各ポートに接続する機器を選択します。
  ダイレクト接続の場合はPlayer2:Aの設定を使います。
  ST-Vの場合、2PはPlayer2:Aに割り当ててあります。
  Redefineボタンで各ボタンの設定ができます。Rapidは連射用です。

・Reset
  コントローラの設定を初期状態に戻します。

[Controller (Rapid) Tab]
・Enable
  チェックを入れると連射が有効になります。

・各端子,ポートの連射速度を設定します。
  Allボタンは全てのボタンに適用させます。

[Program1 Tab]
・VDP1 Draw Thread
  チェックを入れるとVDP1の描画処理が別スレッドになります。
  マルチコア環境などで効果を発揮します。

・VDP1 Draw Sync
  チェックを入れるとVDP1描画スレッドとメインスレッドの同期を取ります。
  スプライトがチラつくなど表示が怪しいソフトでチェックを入れてみてください。
  同期を取るとVDP1描画スレッド未使用時より重くなることがあります。


・VDP1 Draw Sync Line Interval
  同期時の同期ライン間隔を指定します。
  設定できる数値は1〜256です。

・VDP1 Draw Strict
  チェックを入れるとメイン処理と描画のタイミングを厳密に取ります。
  スプライトがチラつくなど表示が怪しいソフトでチェックを入れてみてください。
  重くなるので必要なソフトのみ入れるようにした方が良いです。

・VDP1 Draw Strict Block Clock
  Strict時のブロッククロック値を指定します。
  VDP1描画中は指定のブロッククロックとなります。
  設定できる数値は1〜99です。

・VDP2 Draw Thread
  チェックを入れるとVDP2の描画処理が別スレッドになります。
  マルチコア環境などで効果を発揮します。

・Sound Thread
  チェックを入れるとサウンド生成処理が別スレッドになります。
  マルチコア環境などで効果を発揮します。
  別スレッドで生成する場合は128サンプル単位で生成します。

・CD Block Thread
  チェックを入れるとCDブロック処理が別スレッドになります。
  マルチコア環境などで効果を発揮します。
  ただし、処理タイミングがかなり変わるので互換性は落ちます。

・CD Block No Wait
  チェックを入れるとCDブロックがウェイト無しで動作します。
  CDアクセスが速くなりますが互換性は落ちるかもしれません。

・DSP Thread
  チェックを入れるとDSP処理が別スレッドになります。
  マルチコア環境などで効果を発揮します。
  同期に時間が掛かり逆に重くなる場合があります。

・DSP Thread Always Running
  チェックを入れるとDSP処理スレッドが常に動作するようになります。
  同期が安定しますが重くなります。

・Priority Class
  プロセスの優先度を指定します。

・Set Affinity Mask
  チェックを入れるとCPUアフィニティマスクの設定をします。
  CPU0から順にスレッドを割り当てていきます。

・Use XInput
  チェックを入れるとXInputを使用します。
  DirectInputでパッド入力の挙動が怪しい場合はXInputを使用してみてください。
  ただし、XInput使用時は最大4個のコントローラしか認識しません(XInputの仕様です)。

[Program2 Tab]
・CD Drive Read Sectors
  CDドライブから一度に読み込むCDセクタ数を設定します。
  この数値を大きくするとCDの読み込みが速くなりますがドライブによってはエラーになる場合があります。
  設定できる数値は1〜24です。

・Dot Clock
  ドットクロックを浮動小数点で指定します。
  サターンは4システムクロック(約7MHz周期)で1ドットを描画しています。
  これは何システムクロックで1ドットを描画するか指定します。
  逆に言えばこの項目でCPUの速度が調整できます。
  ドットクロックが4ならSH2は実機と同じ速度、2なら半分の速度になります。
  設定できる数値は1.0〜4.0です。

・1Block Clock
  一度に実行するSH2のクロック数を設定します。
  この数値を大きくすると若干速くなりますが互換性は落ちるかもしれません。
  BIOS使用時は少し減らした方が動きます。
  設定できる数値は1〜1800です。

・Check SlaveSH2 Idle Loop
  チェックを入れるとスレーブSH2のアイドルループチェックが有効になります。
  アイドルループ中と判断した場合はスレーブSH2の処理を行いません。
  ソフトによっては若干速くなりますが互換性は落ちます。

・SlaveSH2 Speed
  スレーブSH2の速度をパーセントで設定します。
  マスタSH2の何パーセントの速度でスレーブSH2を動かすかを設定します。
  マスタSH2とスレーブSH2のバスアービトレーションをエミュレートしていませんのでこの項目によって擬似エミュレートします。
  設定できる数値は1〜100です。

・CD Task Numbers
  1セクタ読み込み期間中に処理するタスク数を設定します。
  CDアクセスで止まる場合などは多めに設定してみてください。
  設定できる数値は1〜20000です。

・New SH2 Timing
  チェックを入れるとマスタSH2とスレーブSH2の同期に新しい処理を利用します。
  動かない場合はチェックを外してみてください。

・SH2 Strict
  チェックを入れるとSH2のコードを1命令毎に分割して実行します。
  通常は1BlockClock分を纏めて実行します。
  マスタSH2とスレーブSH2の動作タイミングがシビアなゲームで有効です。

・SlaveSH2 Sleep Clock
  スレーブSH2がSleep命令実行時に入れるウェイト数を指定します。
  動作が怪しい場合は減らしてみてください。

・Block Clock Strict
  チェックを入れるとVブランクOUTから指定ラインの間、ブロッククロックを変更します。
  スプライトがちらつく場合などに有効です。

[Program3 Tab]
・Check Cycle Pattern
  チェックを入れるとサイクルパターンを毎ライン更新します。
  ムービーがちらつく場合などにチェックしてみてください。
  互換性は上がりますが少し重くなります。

・VDP2 RAM Revision Access
  チェックを入れるとサイクルパターン指定ミスによるVDP2RAMのメモリアクセス位置のずれを考慮します。
  画面にゴミが出ている、又はずれている場合はチェックしてみてください。
  互換性は上がりますが重くなります。

・VDP2 RAM Write Timing
  チェックを入れるとVDP2RAMへの書き込みをライン毎に行います。
  また、表示遅延が1フレームになります。通常は2フレームの遅延があります。
  Check Cycle Patternにチェックを入れているとパターンネームの実データの更新チェックも行います。ただし、先頭2048バイトのみです。
  メモリアクセスが増えるので重くなります。

・VDP2 RAM Write Buffer Size (MB)
  VDP2 RAM Write Timingのバッファサイズを指定します。
  設定できる値は32〜99です。

・VDP2 RAM Write Split Numbers
  1画面の最大分割数を指定します。
  メモリ不足で指定した分割数より少なくなることがあります。
  設定できる値は1〜99です。
  多くしすぎるとメモリ不足で動作が不安定になるので注意してください。

・Memory Access Wait
  チェックを入れるとメモリアクセスウェイトが有効になります。
  メモリアクセスウェイトを入れないとタイミングがずれて正常に動作しないソフトがあります。
  メモリアクセスウェイトを有効にする場合はドットクロックを高めに設定してください。

・WorkRAMH Read Wait
・WorkRAMH Write Wait
  ワークRAMHのメモリウェイト値を指定します。
  他のメモリウェイト値を変更したい場合は各設定ファイルの[Program6]を直接書き換えてください。

・Memory Read Wait Ratio
  SH2キャッシュOFF時の読み込みメモリウェイト率を指定します。
  これでSH2キャッシュを疑似エミュレートします。
  小さくするとキャッシュヒットが高い状態に、大きくすると低い状態をエミュレートできます。

・Memory Write Wait Ratio
  SH2キャッシュOFF時の書き込みメモリウェイト率を指定します。

・Bus Wait
  チェックを入れると各バスのウェイトが有効になります。
  実機に近い処理タイミングになりますが重いです。

・SH2 Cache
  チェックを入れるとSH2のデータキャッシュが有効になります。
  メモリアクセスウェイトも有効になります。
  キャッシュを有効にする場合はドットクロックを高めに設定してください。
  非常に重い処理なので必要なソフトのみチェックを入れるようにした方が良いです。

・SH2 Write Buffer
  チェックを入れるとSH2のライトバッファが有効になります。
  有効にすると実機よりメモリアクセス全般が速くなっているようです。
  画面の描画が怪しい場合は、無効にしてみてください。

・Enable Instruction Cache
  チェックを入れるとSH2の命令キャッシュが有効になります。

・SH2 DMA Real Transfer
  チェックを入れるとSH2-DMAが実機に近い動作になります。

・SCU DMA Real Transfer
  チェックを入れるとSCU-DMAが実機に近い動作になります。
  ムービーなどがちらつく場合はチェックを入れてみてください。
  チェックを入れて逆にテアリングやちらつきが発生する場合は、SplitMemoryLineInterval値を減らしてみてください。
  それでも改善しない場合は、1画面の分割数が足りない可能性があります。
  分割数を増やしても改善しない場合は、GPUレンダリングでは対応しきれていない可能性があります。
  その場合はVDP2 RAM Write Timingを無効にしてみてください。

・CD Track/Index
  チェックを入れるとCDDAのトラック内インデックス位置が有効になります。
  一部のゲームではインデックス指定でCDDAを再生しています。
  インデックスの使用を確認しているソフトは、
   タイトーチェイスH.Q. プラス S.C.I.
   プリクラ大作戦

・Split Memory Line Interval
  VDP2RAMへの書き込みをチェックするライン間隔を指定します。
  ムービーなどでティアリングが発生する場合などに変更してみてください。
  1画面の最大分割数が少ないとVDP2RAMの更新ができない場合があります。
  この数値を減らす場合は最大分割数を増やしてください。

[Program4 Tab]
・CD Access LED
  チェックを入れるとCDアクセスLEDの表示をします。

・No BIOS
  チェックを入れるとサターンのBIOSを使わなくなります。
  ただし、BIOS無しでは動かないソフトが存在するのでBIOSの使用を推奨します。
  BIOSを使わない場合、バックアップライブラリは必ずフックされます。
  ST-Vの動作にはBIOSが必要です。

・Hook Backup Library
  チェックを入れるとバックアップライブラリをフックしてバックアップ容量を無制限にします。
  データはBackupフォルダ以下に保存されます。

・Enable FDD
  チェックを入れるとFDDが有効になります。
  バックアップライブラリをフックした場合に限ります。

・Mesh Translucent
  チェックを入れるとメッシュ描画のスプライトが半透明になります。
  スプライト処理が複雑になるため重いです。
  実機には無い機能なので上手く半透明化できないかもしれません。
  テクスチャ自体をメッシュにしている、又はBG面のキャラクタ自体をメッシュにしているものは半透明になりません。

・Ignore 68000 AddressError Exception
  チェックを入れると68000アドレスエラー例外を無視します。
  今のところ、ワンチャイコネクションでのみチェックが必要です。

・Use Object Cache
  チェックを入れるとオブジェクトキャッシュを使用します。
  事前にオブジェクトキャッシュを作成する必要があります。

・Emulate Speed
  エミュレート速度を浮動小数点で指定します。
  この数値を大きくしても速くならない場合はマシンパワーが足りていません。
  なお、Auto Field Skipのチェックを外すとウェイト無しで動作します。
  設定できる数値は0.1〜4.0です。
  エミュレート速度を変更する時はVSync Waitにチェックを入れないようにしてください。

・Video Frame Rate
  録画のフレームレートを指定します。

・Enable Debug
  チェックを入れるとデバッグ機能が有効になります。
  重いので必要な場合のみチェックを入れるようにした方が良いです。

・Enable Cheat
  チェックを入れるとチートが有効になります。

・Enable Extract Sound
  チェックを入れると内蔵音源のサウンドを摘出します。
  内蔵音源を検出しデータが摘出できると画面に"Found new sound."と表示されます。
  NUMPADの* key(テンキーの*)でサウンドテストに入ります。

・Enable Rewind
  チェックを入れると巻き戻しが有効になります。

・Rewind Max
  巻き戻しの最大数を指定します。
  指定できる数値は1〜999です。
  32ビットの場合は250くらいが限界です。
  64ビットの場合はメモリに余裕があるなら999まで指定できます。
  大きい数値を設定するとメモリ不足で起動しなくなる場合があるので注意してください。

・Rewind Interval
  巻き戻しデータの作成間隔をフーレム数で指定します。
  180なら3秒毎に作成します。

・Show Registers
  チェックを入れるとSH2などのレジスタ値を表示します。

[FunctionKey Tab]
  CDオープンなどのキーを設定できます。
  詳しくはFunctionKey.txtを参照してください。



○フックしたバックアップファイルについて
  Backupフォルダ以下にあるファイルは先頭の16バイトがSSF用ヘッダ、以降が各ゲームの生セーブデータです。
  ヘッダ内容は以下
   オフセット0〜11  = NULL有りコメント
   オフセット12     = 言語
   オフセット13〜15 = タイムスタンプ ((Year-1980) << 23) + (Month << 19) + (Day << 14) + (Hour << 9) + (Minute << 3) + DayOfWeek



○ST-Vについて
  プロテクト解除はしていないのでおまけ程度に考えてください。
  一応、MAMEのROMセットと互換性があります。
  ただし、拡張子を変える必要があるかもしれません。



○録画について補足
  Snapshotフォルダにaviファイルを保存します。
  処理落ちやフィールドスキップは考慮していません。
  コマ落ちしないようにするにはそれなりのマシンスペックが必要です。



○オブジェクトキャッシュについて
  CreateObject.exeで作成します。
  詳しくはCreateObject.txtを参照してください。



○入力最適化について
  仮実装のため、コントロールパッドのダイレクト接続のみ対応となります。
  使用するにはデバッグ機能を有効にする必要があります。
  ゲーム実行中にEndキーを押すと入力データの追跡を行います。
  成功すると画面上にデータの読み書きアドレス数が表示され、デバッグコンソールにアドレスとデータが出力されます。
  大抵のソフトのアドレス数は1〜2です。
  括弧内がデータで中央付近の数値が02 FF FFとなっていればほぼ追跡が成功しています。
  実際に入力最適化が行われているかはウィンドウのタイトルバーで分かります。
  'i'が表示されていれば最適化が有効となっています。
  入力最適化を無効にしたい場合は追跡中にBackキーを押してください。
  なお、仮実装のため設定は保存していません。
  上手く機能しない場合はSH2 CacheをOFFにしてみてください。



○内蔵音源サウンドテストについて
  摘出データはExtractSoundフォルダ以下に保存されます。
  NUMPADの* key(テンキーの*)でサウンドテストに入ります。操作は画面をみてください。ESCでも抜けられます。
  設定ファイルはテキストなので書き換えが可能です。
  FadeRate項目は1が最短、255が最長となります。
  Title項目は任意に設定できます。使用できるのはASCII文字のみです。
  TotalVolumeの最大値は15、各サウンドのVolumeの最大値は127です。
  最大値を超えた場合の動作は保証しません。
  なお、サウンドテスト中はオプションなどの操作は出来ません。エミュレータ機能のMuteとVolume操作は出来ます。



〇タイトルバーの内容について
  左から
  F:# = フィールドカウント
  S:# = スプライトフレームバッファ切り替えカウント
  ------ = 'r' = 連射がON
           'm' = ミュートがON
           'n' = CD Block No WaitがON
           't' = SCU DMA Real TransferがON
           'i' = 入力最適化がON
           'c' = CDDAがモノラルに設定されている
  MS6D = 'M' = マスタSH2が動作中
         'S' = スレーブSH2が動作中
         '6' = 68000が動作中
         'D' = SCU DSPが動作中
  2桁の16進数 = 表示されているBG面フラグ
  2桁の16進数 = 表示マスクしているBG面フラグ(0x40はスプライト)
  320x224など = 画面解像度とインターレースフラグ(スプライトとBG)
  D:# = 処理落ちカウント
  4桁の数値 = 生成済みサウンドサンプル数
  L:# = オブジェクトキャッシュ使用時にロードしたブロック数
  数値 = オブジェクトキャッシュ使用時に呼ばれた関数の数



○その他
  SSFはフリーソフトウェアです。ただし著作権は放棄していません。
  不具合やSSFを使用して起きた問題に対して責任を負いません。自己責任で使用してください。



