古いバージョンはこちらAndroid版はこちらです。こちらをインストールしてみてください。主な機能BIOS無しでも動作可バックアップ容量の無制限化(バックアップライブラリのフック)CDイメージ(CUE+Binary)に対応DirectInputに対応(XInputにも対応)パッド、キーボード、マウスが使えます。ボタンの再割り当て可能。panel)2P側はデフォルトではキー設定されていません。キー設定を行えば使用できるようになります。ボタンの連射メッシュスプライトの半透明化デインターレースST-Vに対応Shiftを押しながら起動するとST-Vに切り替わります。ROMセットの内容はこちら問題がある部分グーローシェーディングの計算精度が足りないグーローシェーディングの計算に16ビット固定小数点を使用しています。そのため幅が極端に大きいスプライト(1024ドット以上)の計算精度が足りません。精度が足りなくなるような場面はかなり限られているので今のところ対応する予定はありません。回転スクロールの座標計算に浮動小数点を使用しているサターン内部では固定小数点で計算しているようですが、SSFでは単精度浮動小数点を使用しています。よって、誤差が発生する可能性があります。PCMが15ビットである音量の計算にSSE2の符号付き乗算命令(PMULHW)を使用しています。PCMは符号ありですが音量は符号なしなので音量を1/2にして計算しています(最下位ビットが失われる)。実機のビット精度は13ビットなので問題ないかもしれません。音の再生タイミングが実機と異なるエミュレータの特性上、音が若干遅れて再生されます。速度を確保するため一定時間毎にPCMを生成しているためです。具体的には(オプションで設定したバッファサンプル数*4/44100)秒の遅延があります。キーONも最大で((バッファサンプル数/4)/44100)秒遅れます。リングバッファを更新していないSCSP内蔵DSPが使用するリングバッファ用メモリに浮動小数点データを書き込まないので、リングバッファ上に直接アクセスするようなソフトの音がきちんと再生されません。そんなトリッキーなことをするソフトがあるとは思えませんけど...よくある質問ゲームが進行しない以下の設定をすると動くことがあります。Interruptあたりにチェックを入れるコントローラのRedefineで固まるリキャリブレートしてみてください。設定タブの調整アナログ入力がニュートラル状態で片方に振り切っている場合はRedefineで固まります。しても固まるようならXInputを使用してみてください。Timingにチェックで遅延が1/60秒になります(チェックしないと2/60秒の遅延)。モニタ自体の表示遅延に関してはこちらではどうすることもできません。入力に関しては入力装置やドライバに依存するのでこちらも対処できません。入力装置(ドライバ)によってはデータのサンプリング間隔が1/60秒より遅い場合があります。その場合、素早い操作では入力が遅く感じる又はデータの取りこぼしが発生します。他には、変換アダプタを使用しているとアダプタ内部で遅延を起こしている可能性があります。サイバーガジェットの変換アダプタは明らかに3/60秒以上の遅延があります。あと、マシンパワーが足りないと描画が1/60秒に間に合わず遅延しているように見えます。タイトルバーのDropの数値が増えていくようならマシンパワーが足りていません。DrawPrimitiveUP後に即Presentしているのでプログラムではこれ以上画面を素早く切り替えることはできません。良い方法があるなら教えてください。Waitのチェックを外せば少しは短くなります。完全に無くすことはできません。実機では走査線に合わせて画像を表示しているので遅延はありません。Windows環境では表示画面全体を作成してから切り替えるため、最悪で1/60秒の遅延がどうしても発生します。これはWindowsの仕様なのでどうすることもできません。Waitのチェックを外せば、見た目はともかく遅延は無くなるはずですが...FPUってなんですか?MMXってなんですか?SSEってなんですか?SSE2ってなんですか?x86系CPUについて少し勉強しましょう。TSCってなんですか?タイム・スタンプ・カウンタの略称。Pentium以降のプロセッサなら搭載されています。SSFが動作するCPUにはTSCが載っているはずなのであまり気にしなくていいです。起動直後にエラーで強制終了するFPU,MMX,SSE,SSE2を搭載していないCPUで実行すると不当命令例外が発生して強制終了します。マルチプレイヤー画面に飛ぶCDブロックはCDドライブが実機と同じ動作することを前提として作成しています。ドライブによってはタイミングが実機と違うため上手く同期できないことがあります。そのためマルチプレイヤー画面に飛ぶことが多くなります。CDイメージ化すると改善する可能性があります。ゲームの動きが遅いドットクロックが低いと一部のゲームで処理落ちします(ゲーム自体が処理落ちする)。BGMのテンポが狂っているマシンパワーが足りないと処理が間に合わず、内蔵音源の曲が狂ってしまいます。音が鳴らないSGLでサウンド初期化時にメインCPUとサウンドCPUの同期に失敗すると、以降の再生コマンドを一切発行しないバージョンがあります。Waitにチェックを入れてみてください。音がノイズだらけになるオプションのサウンドバッファサイズを小さくすると発生します。サウンドバッファサイズの下限はドライバによって異なります。画面表示が狂っているVDP2の制限事項に抵触しているソフトの可能性があります。Accessにチェックを入れてみてください。画面が縞模様になっている(黒い横線がある)ノンインターレースを再現した結果です。インターレースTVの場合、ノンインターレースは規格外ですがよく使われていた方法です。1/60秒の書き換え速度を確保するために偶数フィールド(又は奇数フィールド)のみに描画します。古いTVで表示してみると1ラインおきに描画されているのが判ると思います。この隙間を上手く利用したゲームも存在するので敢えて再現しています。現在のプログレッシブとは違います。遅いSSは複雑なハードのためPSのように簡単にはエミュレートできません。画面に関してはDirect3Dでは再現できません。ねじれた四角形ポリゴンが現在のグラフィックスカードで簡単に描画できますか?それ以外にもハードウェア描画では再現不可能な機能がたくさんあります。他のSSエミュレータはハードウェア描画を使用しているみたいですが、その辺は再現しなくても良いと割り切っているのでしょう。SSFはPC上でサターンというハードを完全再現するのが最終目標であり、実機より高解像度,綺麗な画面で遊べるようにすることは全く考えていません。遅くてもソフトウェアレンダリングで画面を生成し、見た目が限りなく実機と同じくなるようにしていきます。64bit全てのソフトはCDイメージ化しています。Toolsを使用しています。一部のゲームはCDでの動作チェックもしています。