SSF メインページ

ゲームに必要な設定集

SSFの実行に必要な最低環境
OS | Windows7/8/10
CPU | Intel Core 2 Duo以降 AMD FXシリーズ以降
Memory | 1GB以上
Video | DirectX11に対応しているカード シェーダーモデル5.0に対応している必要があります
Sound | DirectX11に対応しているカード 44100Hz,ステレオPCMが再生できる必要があります
CD drive | MMC3に対応したドライブ

XAudio2関係でエラーが出る場合は、 こちらをインストールしてみてください。

推奨環境
CPU | Intel Core i9シリーズ Intel Core i7シリーズ Intel Core i5シリーズ AMD Ryzenシリーズ
Memory | 1GB以上（Dual Channel）
Other | BIOS CDイメージ使用（BIN+CUE）

エミュレート状況
SH2 Emulator | 100%
68000 Emulator | 100%
VDP1 Block | 100%
VDP2 Block | 95%
SCU Block | 100%
SMPC Block | 100%
SCSP Block | 95%
CD Block | 85%

具体的な実装状況
SH2 | ゲーム実行に必要な部分はほぼ全て実装
68000 | ほぼ全て実装
VDP1 | ほぼ全て実装
VDP2 | ほぼ全て実装 回転面のモザイクは未実装
SCU | ほぼ全て実装
SMPC | ほぼ全て実装 キーボードは未対応 バーチャガンは非対応
SCSP | ほぼ全て実装 FM時のPLFOノイズは未実装
CD Block | ほぼ全て実装 CDCコマンドの一部は未実装 マルチセッションは非対応

主な機能

- BIOS無しでも動作可
- バックアップ容量の無制限化（バックアップライブラリのフック）
- CDイメージ（CUE+Binary）に対応
- DirectInputに対応（XInputにも対応）
パッド、キーボード、マウスが使えます。ボタンの再割り当て可能。
デフォルトは
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
連射の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
NBG0の表示ON/OFF切り替え = NUMPAD 1 key（テンキーの1）
NBG1の表示ON/OFF切り替え = NUMPAD 2 key（テンキーの2）
NBG2の表示ON/OFF切り替え = NUMPAD 3 key（テンキーの3）
NBG3の表示ON/OFF切り替え = NUMPAD 4 key（テンキーの4）
RBG0の表示ON/OFF切り替え = NUMPAD 5 key（テンキーの5）
RBG1の表示ON/OFF切り替え = NUMPAD 6 key（テンキーの6）
Spriteの表示ON/OFF切り替え = NUMPAD 7 key（テンキーの7）
画面の回転 = NUMPAD 0 key（テンキーの0）
ABCとXYZボタンの入れ替え = NUMPAD 9 key（テンキーの9）
ウィンドウサイズ変更 = NUMPAD + key (テンキーの+）
Windowsマウスカーソルの表示ON/OFF = NUMPAD - key (テンキーの-）
Window/Borderlessの切り替え = F12 key
以下は変更不可
終了 = ESC key
以下は変更不可（ST-V関係）
TEST = F11 key
SERVICE = F12 key
Coin1 = 5 key
Coin2 = 6 key
Coin3 = 7 key
Coin4 = 8 key
1P Start = 1 key
2P Start = 2 key
3P Start = 3 key
4P Start = 4 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側はデフォルトではキー設定されていません。ポートとキー設定を行えば使用できるようになります。
- ボタンの連射
- メッシュスプライトの半透明化
- デインターレース
- ST-Vに対応
Shiftを押しながら起動するとST-Vに切り替わります。
ROMセットの内容はこちら

問題がある部分

- 回転スクロールの座標計算に浮動小数点を使用している
サターン内部では固定小数点で計算しているようですが、SSFでは単精度浮動小数点を使用しています。
よって、誤差が発生する可能性があります。
- PCMが15ビットである
音量の計算にSSE2の符号付き乗算命令（PMULHW）を使用しています。
PCMは符号ありですが音量は符号なしなので音量を1/2にして計算しています（最下位ビットが失われる）。
ただし、実機のビット精度は13ビット程度なので問題ないかもしれません。
- 音の再生タイミングが実機と異なる
エミュレータの特性上、音が若干遅れて再生されます。
速度を確保するため一定時間毎にPCMを生成しているためです。
具体的には（オプションで設定したバッファサンプル数*4/44100）秒の遅延があります。
また、キーONも最大で（128/44100）秒遅れます（Alternative Decode OFFの場合）。
Alternative Decodeにチェックを入れるとキーONの遅延は無くなります。
- リングバッファのデータは独自
SCSP内蔵DSPが使用するリングバッファ用メモリに書き込む浮動小数点データは独自形式なので、リングバッファ上に直接アクセスするソフトは上手く動作しません。
そんなトリッキーなことをするソフトがあるとは思えませんけど…

よくある質問

- ゲームが進行しない
以下の設定をすると動くことがあります。
1. WorkRAMH Read Waitを変更する
2. WorkRAMH Write Waitを変更する
3. SH2 CacheをONにする
4. SlaveSH2 Speedを下げる
5. CD Task Per Secondを上げる
1Block Clockを10くらいとかなり小さくしても動かない場合はSlaveSH2 Speedを下げてみてください
SlaveSH2 Speedを60%くらいに下げると1Block Clockはそれほど下げなくても動く場合があります
- コントローラのRedefineで固まる
リキャリブレートしてみてください。
Windows7ならコントロールパネル -> デバイスとプリンター -> コントローラを選択して右クリック -> ゲームコントローラの設定 -> プロパティ -> 設定タブの調整
アナログ入力がニュートラル状態で片方に振り切っている場合はRedefineで固まります。
どうしても固まるようならXInputを使用してみてください。
- 遅延ありますよね？
描画に関してはVDP2 RAM Write Timingにチェックで遅延が最大1/60秒になります（チェックしないと2/60秒の遅延）。
モニタ自体の表示遅延に関してはこちらではどうすることもできません。
入力に関しては入力装置やドライバに依存するのでこちらも対処できません。
入力装置（ドライバ）によってはデータのサンプリング間隔が1/60秒より遅い場合があります。
その場合、素早い操作では入力が遅く感じる又はデータの取りこぼしが発生します。
他には、変換アダプタを使用しているとアダプタ内部で遅延を起こしている可能性があります。
特にサイバーガジェットの変換アダプタは明らかに3/60秒以上の遅延があります。
あと、マシンパワーが足りないと描画が1/60秒に間に合わず遅延しているように見えます。
タイトルバーのDropの数値が増えていくようならマシンパワーが足りていません。
なお、DrawPrimitiveUP後に即Presentしているのでプログラムではこれ以上画面を素早く切り替えることはできません。
もっと良い方法があるなら教えてください。
- 1/60秒の遅延は無くなりませんか？
VSynch Waitのチェックを外せば少しは短くなります。
しかし、完全に無くすことはできません。
実機では走査線に合わせて画像を表示しているので遅延はありません。
Windows環境では表示画面全体を作成してから切り替えるため、最悪で1/60秒の遅延がどうしても発生します。
これはWindowsの仕様なのでどうすることもできません。
かなり速いマシンでVSynch Waitのチェックを外せば、見た目はともかく遅延は無くなるはずですが…
- 起動直後にエラーで強制終了する
SSE,SSE2,SSE4.1,SSSE3を搭載していないCPUで実行すると不当命令例外が発生して強制終了します。
- よくマルチプレイヤー画面に飛ぶ
CDブロックはCDドライブが実機と同じ動作することを前提として作成しています。
ドライブによってはタイミングが実機と違うため上手く同期できないことがあります。
そのためマルチプレイヤー画面に飛ぶことが多くなります。
CDイメージ化すると改善する可能性があります。
- ゲームの動きが遅い
ドットクロックが低いと一部のゲームで処理落ちします（ゲーム自体が処理落ちする）。
- BGMのテンポが狂っている
マシンパワーが足りないと処理が間に合わず、内蔵音源の曲が狂ってしまいます。
- 音が鳴らない
SGLでサウンド初期化時にメインCPUとサウンドCPUの同期に失敗すると、以降の再生コマンドを一切発行しないバージョンがあります。
Memory Access Waitにチェックを入れてみてください。
- 音がノイズだらけになる
オプションのサウンドバッファサイズを小さくすると発生します。
サウンドバッファサイズの下限はドライバによって異なります。
- 画面表示が狂っている
VDP2の制限事項に抵触しているソフトの可能性があります。
Check Cycle PatternやVDP2 RAM Revision Accessにチェックを入れてみてください。
- 画面が縞模様になっている（黒い横線がある）
ノンインターレースを再現した結果です。
インターレースTVの場合、ノンインターレースは規格外ですがよく使われていた方法です。
1/60秒の書き換え速度を確保するために偶数フィールド（又は奇数フィールド）のみに描画します。
古いTVで表示してみると1ラインおきに描画されているのが判ると思います。
この隙間を上手く利用したゲームも存在するので敢えて再現しています。
現在のプログレッシブとは違います。
- 遅い
SSは複雑なハードのためPSのように簡単にはエミュレートできません。
特に画面に関してはDirect3Dでは再現できません。
ねじれた四角形ポリゴンが現在のグラフィックスカードで簡単に描画できますか？
それ以外にもハードウェア描画では再現不可能な機能がたくさんあります。
他のSSエミュレータはハードウェア描画を使用しているみたいですが、その辺は再現しなくても良いと割り切っているのでしょう。
SSFはPC上でサターンというハードを完全再現するのが最終目標であり、実機より高解像度,綺麗な画面で遊べるようにすることは全く考えていません。
たとえ遅くてもソフトウェアレンダリングで画面を生成し、見た目が限りなく実機と同じくなるようにしていきます。

開発環境
Mainboard | ASRock B450 Gaming-ITX/ac
CPU | Ryzen 7 3700X
Memory | PC4-27200 8GB*2
Video | GeForce GTX 1650
Sound | Onboard
CD drive | BH14NS58
OS | Windows 10 Home 64bit

Mainboard | ASRock AB350M Pro4
CPU | Ryzen 5 1600X
Memory | PC4-21300 8GB*2
Video | GeForce GTX 1050 Ti
Sound | Onboard
CD drive | BDR-203
OS | Windows 10 Home 64bit

全てのソフトはCDイメージ化しています。
CDドライブでの動作チェックは行っていません。
CDイメージの使用を推奨しています。
戻る