デグレファクトリー
未来の技術で高度なバグを埋め込むソフトウェア製作所
未来の技術で高度なバグを埋め込むソフトウェア製作所
[SPCPLAY.EXE]
[設定] - [拡張設定] - [メイン無効] を追加 (ZenithMDC さん Thanks!)。
[設定] - [情報表示] - [DSP/BPM 情報] 表示で "MasterLv" を "MainLv" に変更。
[SNESAPU.DLL]
メイン無効 (DSP_NOMAIN, opt = 0x8000) オプションを追加 (ZenithMDC さん Thanks!)。
[SPCPLAY.EXE]
プレイリストをクリアする際、確認メッセージを追加 (Michpem さん Thanks!)。
ダークモードに対応。 有効にするためには SPCPLAY.INI の THEME を 1 に変更する必要があります。
[常に手前に表示] オプションを [設定] - [その他設定] に移動。
[設定] - [その他設定] - [演奏中に画面オフを抑制] を追加。
[SPCPLAY.EXE]
テンポ (BPM) 推測機能のアルゴリズムを調整。
SNESAPU.DLL のロード方法を変更。
[SPCPLAY.EXE]
エンドレスモードで WAVE ファイル保存時、演奏時間が極端に短くなることがある不具合を修正。
Shift + クリック操作で A-B リピートを開始時、単曲リピートに変わらない不具合を修正。
[設定] - [情報表示] - [DSP 情報] を [DSP/BPM 情報] に変更。
曲のテンポ (BPM) 推測機能を追加。 [設定] - [情報表示] - [DSP/BPM 情報] を選択することで表示されます。
SPCPLAY.INI に BPM を追加。 BPM 推測機能のオン・オフを切り替え可能。
開発環境を Borland Delphi から Free Pascal に変更。 ランタイムが変わるため、EXE サイズが少し増え、Windows 2000 サポートが削除されました。
[SNESAPU.DLL]
強いエコーを使用した曲を演奏時、CPU 使用率が若干高くなることがある不具合を修正。
シーク時、エコーの残響音がわずかに混入することがある不具合を修正。
[SPCPLAY.EXE]
エンドレスモードで WAV ファイル保存時、ID666 の時間が使用されない不具合を修正 (Michpem さん Thanks!)。
ディスプレイオフ・スリープ状態から復帰時、ウィンドウ内の一部の色がおかしくなる不具合を修正。
[設定] - [拡張設定] に [ピッチリミット無効] を追加 (Pinci19 さん Thanks!)。
[設定] - [シーク時間] に [10 秒] [高速シーク] [演奏速度比と同期] を追加。
タイムゲージ上でホイール (中央) ボタンクリック時、区間リピートを解除するようにした。
演奏中にディスプレイの電源がオフになった場合、インジケータの描画を停止するようにした (CPU 使用率の低減)。
SPCPLAY.INI に NOSLEEP を追加。 演奏中、ディスプレイオフ・スリープ状態への移行を防止可能。
SPCPLAY.INI に TOPTDISP を追加。 オプション変更時に、タイトルバーに変更後の値を表示する時間を変更可能。
SPCPLAY.INI に TOPTLOCK を追加。 キーボードショートカットによるオプション連続変更時に、特定箇所で停止する時間を変更可能。
SPCPLAY.INI に TREDRAW を追加。 ディスプレイオフ・スリープ状態から復帰時、ウィンドウを再描画するまでの時間を設定可能。
タイムゲージのシーク反応箇所を調整 (上下に拡張)。
細かな実装修正。
[SNESAPU.DLL]
FIR フィルタによるオーバードライブ効果が実機と異なる不具合を修正 (KungFuFurby さん Thanks!)。
SetAPUOpt で rate に -1 を指定時、サンプリングレートが正しい値にならない不具合を修正。
EmuAPU で type に 0 を指定時、作成されるバッファサイズが不安定になる不具合を修正。
ピッチリミット無効 (DSP_NOPLMT, opt = 0x4000) オプションを追加 (Pinci19 さん Thanks!)。
新サンプリングレートコンバータ (アップサンプリング) を実装。
FIR フィルタを使用するチャンネルのみをミュートした場合、FIR 処理を停止するように修正。
最適化により、通常シークの処理速度を高速化。
細かな実装修正。
サンプリングレートが 32,001 Hz 以上、かつ、DSP_ECHOFIR (実機エコー/FIR 処理) オプション使用時に使用されます。 それ以外では、従来のサンプリングレートコンバータが使用されます (生成される波形データは前バージョンと変わりません)。
新サンプリングレートコンバータは、実機と同じ 32,000 Hz で波形データを生成後にアップサンプリングを行います。 そのため、48,000 Hz などのサンプリングレートで音声が実機と極端に異なっていた事象を軽減します。
開発者向け: 新サンプリングレートコンバータが使用される条件を満たす場合、特定の条件下によってノイズが発生することがあります。 詳細な発生条件と回避方法は EmuAPU の解説をご覧ください。
[SPCPLAY.EXE]
エンドレスモードでもタイムゲージを常時表示するようにした (LittleEndu さん Thanks!)。
Script700 を使用した曲でシーク時、演奏が止まることがある不具合を修正。
モダンスタンバイ対応機種で、演奏中にスリープに入ったとき、フリーズすることがある不具合を修正。
シークキャッシュのアルゴリズムを変更。 SPCPLAY.INI から SEEKINT, SEEKNUM を削除し、CACHEDIF, CACHEINT, CACHEKON, CACHENUM を追加。
SPCPLAY.INI に EARSAFE を追加。 従来の OPTION 設定からイヤーセーフ機能に関する ON/OFF のみ分離した。
SPCPLAY.INI に SHIFTKEY を追加。 一部操作のうち、Ctrl と Shift を入れ替え可能。
[SPCPLAY.EXE]
プレイリストからのドラッグアンドドロップ時に強制終了することがある不具合を修正。
WAVE ファイル保存時、チャンネルミュートが使用されているときは空白時間の自動調整をしないように変更。
[SNESAPU.DLL]
エコーのミキシング処理が実機と異なる不具合を修正 (Pinci19 さん Thanks!)。
[SPCCMD.EXE]
チャンネルミュートを操作する -gm, -sm オプションを追加 (DarkOK さん Thanks!)。
ファイルを開く -o オプションを追加。
[SPCPLAY.EXE]
[設定] - [拡張設定] に [エンベロープ速度を同期] を追加 (Pinci19 さん Thanks!)。
SPCPLAY.INI に BMPFONT 設定を追加 (monkey03297 さん Thanks!)。
[設定] - [サウンドデバイス] で「システム設定を使用」選択時、SPCPLAY.INI の DEVNAME にメニュー表記がそのまま保存される不具合を修正。
[設定] メニュー内の一部表記を修正。
[SNESAPU.DLL]
エンベロープ速度を同期 (DSP_ENVSPD, opt = 0x2000) オプションを追加 (Pinci19 さん Thanks!)。
[SPCPLAY.EXE]
数値表記 (0~9, A~F) のフォントを変更 (おふがおさん Thanks!)。
[チャンネル情報 2] 表示で F12, Pause/Break キーを押したとき、かんきちくんドライバの ADSR/Gain, Tuning パラメータ表示を追加 (vince94 さん Thanks!)。
Gain モードでキーオフのとき、ステータスマークが消えない不具合を修正。
[設定] - [サウンドデバイス] の最上位項目名を、サウンドマッパーから「システム設定を使用」に変更。
[DSP 情報] [チャンネル情報 1] [SPC 情報 2] [Script700 デバッグ] 表示中に 10 進数モードにしたとき、10 進数表示可能な項目を追加。
F12 キーに Pause/Break キーと同じ機能を割り当て。
[SNESAPU.DLL]
データ領域のラベルに対して bxx でジャンプできる不具合を修正 (Gnilda さん Thanks!)。
[SPCPLAY.EXE]
プレイリスト等のファイル保存時、デフォルトのファイル名を常時 SPC ファイル名に変更 (Gnilda さん Thanks!)。
[SNESAPU.DLL]
DSP_ECHOFIR (実機エコー/FIR 処理) オプション使用時、FIR フィルタ処理で予期しないオーバーフローが発生する不具合を修正。
DECAY 中に DR が変更された時、意図せず SUSTAIN モードに移行する不具合を修正 (brickblock369 さん Thanks!)。
EmuAPU で約 87 秒以上の時間を表わす数値を len 引数に指定すると、オーバーフローが発生する不具合を修正 (Gnilda さん Thanks!)。
[SPCPLAY.EXE]
SPC700 のブレイクポイントを Script700 から制御できるように修正 (Gnilda さん Thanks!)。
SPCPLAY.INI の SEEKFAST のデフォルト値を 1 から 0 に変更。 一部の曲でシークが正常に動作しない問題を回避 (BlinxTheWinx さん Thanks!)。
前バージョンからアップデート後、SPCPLAY.INI の SEEKFAST がデフォルト値 (0) に自動修正されます。
[設定] - [拡張設定] - [エコー作業メモリ書換] を [実機エコー/FIR 処理] に変更。 追加で FIR フィルタ処理が実機に近い動作になります (KungFuFurby さん Thanks!)。
演奏中に外部要因によりサウンドデバイスがリセットされた場合 (Windows 10 では立体音響設定を変更時) にフリーズする不具合を修正。
Windows 7 で Aero が無効化状態のとき、ウィンドウの位置調整が正常に動作しない不具合を修正。
選択されているサウンドデバイスの設定復元時に、デバイス名を考慮するように修正。
アプリケーションを再起動しなくても、サウンドデバイスの列挙を都度行うように修正。
[設定] - [拡張設定] メニューの構成を変更。
[設定] - [拡張設定] - [実機ローパス フィルタ] と [実機エコー/FIR 処理] のデフォルトをオンに変更。
前バージョンからアップデートしても、[実機ローパス フィルタ] と [実機エコー/FIR 処理] (旧:「エコー作業メモリ書換」) は自動でオンになりません。 より実機に近い動作にする場合は、それぞれオンに変更してください。
[設定] - [演奏時間] メニュー内の一部項目名を変更。
[SNESAPU.DLL]
Script700 で wi, wo コマンド (特定ポートの読み書き処理まで待機) を追加 (Gnilda さん Thanks!)。
Script700 で bp コマンド (ブレイクポイント設定) を追加 (Gnilda さん Thanks!)。
エコー周りの処理を再構築。 DSP_ECHOMEM を DSP_ECHOFIR に変更。
DSP_ECHOFIR オプション使用時、FIR フィルタ処理を実機に近い動作に変更する機能を追加。 (KungFuFurby さん Thanks!)。
Script700 で f コマンド実行後に CMP1 に格納される待機時間の精度を 1Ts 単位に向上。
[SPCPLAY.EXE]
[設定] - [演奏速度] に 1%, 5%, 10%, 20%, 500%, 600%, 700%, 800% を追加 (Anas さん Thanks!)。
[設定] - [音量] に 5%, 10%, 15%, 20% を追加。
[SNESAPU.DLL]
KON 直後の KOFF チェックタイミングの誤りにより、いくつかの音が鳴らない不具合を修正 (Vitor Vilela さん、BlinxTheWinx さん Thanks!)。
演奏速度の下限を 64/65536 に修正。
16bit 演算系命令において、RAM 領域をオーバーフロー参照する不具合を修正 (Gnilda さん Thanks!)。
[dp+X], [dp]+Y パラメータで、ダイレクトページ領域をオーバーフロー参照する不具合を修正 (Gnilda さん Thanks!)。
ResetSPC で、意図せずアドレス 0xE1 の値が 0x80 で上書きされる不具合を修正 (Gnilda さん Thanks!)。
SETP 命令を実行すると、意図せず PSW の I フラグが 0 になる不具合を修正 (Gnilda さん Thanks!)。
[SNESAPU.DLL]
マスタ音量、エコー音量が負の値に設定されている場合、フェードアウト後に完全に音量が 0 にならない不具合を修正 (226 さん、fastlast さん Thanks!)。
オーバーフローが発生するほどの強い FIR フィルタをかけると、音が出力されなくなる不具合を修正 (KungFuFurby さん Thanks!)。
Control に 0x80 フラグが設定されている SPC を読み込み時、IPL が参照されない不具合を修正 (LMPuny さん Thanks!)。
[SNESAPU.DLL]
EmuAPU で微小サイクル数を指定すると DSP エミュレーションが実行されない不具合を修正 (Gnilda さん Thanks!)。
EmuAPU で命令実行サイクルちょうどを指定すると 2 度フェッチされる不具合を修正 (Gnilda さん Thanks!)。
SNESAPUCallbackProc で FCH_HALT を返却した場合、処理が中断された分のクロックが次のシークで反映される不具合を修正 (Gnilda さん Thanks!)。
BRK 命令で意図せず BF, IF フラグがスタックされる不具合を修正 (Exo さん Thanks!)。
SNESAPUCallbackProc で CBE_DSPREG コールバックを受け取った際に、dwAddr, dwValue パラメータに不正な値が格納される不具合を修正 (Gnilda さん Thanks!)。
[SPCPLAY.EXE]
[設定] に [シーク時間] メニューを追加。
シーク時間が秒単位の場合は、秒表示に変更。
[SNESAPU.DLL]
v2.18.0 で、一部の曲において冒頭の音が鳴らない不具合を修正。
一部処理を最適化。
[SPCCMD.EXE]
SPCPLAY.EXE 2.18.0 の言語設定が適用されない不具合を修正。
[SPCPLAY.EXE]
一時停止中に演奏時間を変更しても、タイムバーが再描画されない不具合を修正。
演奏時間メニューを、「無効」「ID666 設定値を使用」「デフォルト値を使用」の3択に変更。
演奏順序を「演奏停止」「リピート」の状態にしなくても、演奏時間の「開始位置を設定」「終了位置を設定」を有効にするようにした。
演奏時間が無効状態でも、演奏順序メニューを無効にしないようにした。
SCALE オプションに 150 (x1.5) を追加 (実験的機能)。
英語版 OS で起動した場合、デフォルトフォントを Lucida Console に変更。
英語版 OS で起動した際に出る「日本語に戻す」を削除。
[SNESAPU.DLL]
KON, KOFF の処理を書き直した。
エコー作業メモリ書換使用時、本来鳴らないはずの SPC が鳴る不具合を修正 (boldowa さん Thanks!)。
[SPCCMD.EXE]
カレントパスが spccmd.exe の置いてある場所でないと起動できない不具合を修正。
[SNESAPU.DLL]
GMC-SPC2 の高速転送モードに対応 (他プレイヤー用 SNESAPU.DLL のみ)。
KON, KOFF の処理タイミングが実機と異なる不具合を修正 (黒羽さん Thanks!)。
その他、エミュレーション動作において安定性を向上。
SetSPCDbg 関数の opts 引数に DSP_PAUSE オプションを追加 (試験実装中)。
[SPCCMD.EXE]
ブレイクポイント機能 (任意のオペコードで一時停止する機能) で、SPC700 だけでなく DSP も一時停止する機能を追加。
[SNESAPU.DLL]
ピッチモジュレーションとノイズが同時に使用された場合、最終的な出力ピッチが実機と異なる不具合を修正 (jimbo1qaz さん Thanks!)。
SetSPCDbg 関数、SetDSPDbg 関数の仕様が v3.0 系になっていた不具合を修正し、v2.0 系に戻した (Gnilda さん Thanks!)。
[SPCPLAY.EXE]
x2 表示に対応 (vash the stampede さん Thanks!)。 SPCPLAY.INI の SCALE オプションで指定可能。
Windows 8, 8.1, 10 環境で、ウィンドウの位置自動調整時に若干位置がずれる不具合を修正。
[SNESAPU.DLL]
SNESAPUCallback 関数で SPC700 フェッチの割り込みをサポート。
SLEEP 命令が実行された場合、Script700 の動作も停止してしまう不具合を修正。
[SPCCMD.EXE]
SPC700 処理のブレイクポイント (-bp, -bpn, -bpc スイッチ) を使用できるようにした。
DSP チート (-dc, -dcc スイッチ) を使用できるようにした。
[SPCPLAY.EXE]
演奏中に Script700 ファイル (拡張子が .700 または .7se) をドラッグ&ドロップした場合、その Script700 を適用し、最初から演奏するようにした。
オペレーティングシステムの言語によって、日本語・英語が自動的に切り替わるようにした。 SPCPLAY.INI の LANGUAGE オプションで言語指定可能。
言語が自動選択になっていて、かつ、英語と判定された場合、メニューに「日本語に戻す」を表示するようにした。
プレイリストの高さを微調整できるようにした。 SPCPLAY.INI の LISTHGT オプションで指定可能。
[SNESAPU.DLL]
SNESAPU のコンテキスト情報 (スナップショット) を取得・設定できる API (GetSNESAPUContext, GetSNESAPUContextSize, SetSNESAPUContext) を追加 (Kobarin さん Thanks!)。
try700 関数と SNESAPUCallback 関数を併用した場合、try700 関数で追加の Script700 ファイルが読めなくなる不具合を修正。
[SPCPLAY.EXE]
演奏中の SPC ファイル名をタイトルバーに表示するようにした (loveemu さん Thanks!)。
[SPCPLAY.EXE]
SPCPLAY.INI で WAVBLANK オプションに負の数を指定した場合、先頭の無音時間調整が無効になるようにした (hieken さん Thanks!)。
ノイズ周波数が一部誤っていた箇所を修正 (Gnilda さん Thanks!)。
[SNESAPU.DLL]
Script700 互換機能に f, f0, f1 コマンドを追加 (試験実装中)。
[SPCPLAY.EXE]
プレイリストからのドラッグアンドドロップ時に強制終了することがある不具合を修正。
[SNESAPU.DLL]
G.I.M.I.C に搭載された SPC モジュールへの転送に対応 (他プレイヤー用 SNESAPU.DLL のみ)。
フェードアウトの動作を修正 (リアルフェードアウトに近い動作に変更)。
SHVC-SOUND 転送のパラレル通信ライブラリで、GiveIO の他に InpOut32 に対応 (他プレイヤー用 SNESAPU.DLL のみ)。 64bit 環境でもパラレル転送できるようにした。
SHVC-SOUND 転送コードを改善 (他プレイヤー用 SNESAPU.DLL のみ)。 転送速度の改善と互換性が向上。
[SPCPLAY.EXE]
プレイリストからのドラッグアンドドロップ処理が動作しないことがある不具合を修正。
Ctrl+O, Ctrl+S ショートカット使用時、プレイリストの選択項目が変わることがある不具合を修正。
内部処理を改善 (最小化中の無駄なロック処理を削減)。
その他、細かい動作を修正。
[SNESAPU.DLL]
Script700 互換機能に include (#i コマンド) を追加。 なお、include されたファイル側での include は機能せず、構文エラー扱い。
Script700 互換機能のデータ領域に incbin (#ib コマンド) を追加。 include されたテキスト内での incbin も有効。
Script700 互換機能のデータ領域で、ラベルを使用できるようにした。
#i, #ib コマンドは SNESAPU.DLL v2.17 以降にアップデートしても使用できないプレイヤーがありますのでご注意ください。 プレイヤー側が SNESAPU.DLL の SNESAPUCallback + SNESAPUCallbackProc の組み合わせ、または、try700 を実装している必要があります。
[SPCPLAY.EXE]
「VL-」「VL+」 (音量変更) ボタンと、「REW」「FF」 (シーク) ボタンを追加。
「SLOW」「FAST」 (速度変更) ボタンを、「SP-」「SP+」に変更。
SPC ファイルを関連付けて SPC から起動した際に、演奏開始されないことがある不具合を修正。
[SNESAPU.DLL]
HALT_DSP 機能を使用すると強制終了する不具合を修正。
[SPCCMD.EXE]
-sh スイッチを追加。 SPC700 と DSP のエミュレーションを別々に停止できるようにした。
-cw スイッチを追加。 バッチにより WAVE ファイルに変換できるようにした。
[SPCPLAY.EXE]
SHVC-SOUND 転送エミュレート機能を改善。
[SNESAPU.DLL]
SHVC-SOUND 転送コードを改善 (他プレイヤー用 SNESAPU.DLL のみ)。 転送時間を約 3.4 秒から約 2.6 秒に高速化。
[SPCPLAY.EXE]
プレイリストの先頭のタイトルをドラッグ操作しようとしたときに反応しにくい問題を改善。
内部処理を改善 (アプリ間転送メッセージを WM_USER から WM_APP に変更)。
SPCPLAY.INI に WAVEFMT 設定を追加。 WAVE ファイルのフォーマットを指定できるようにした。
[SNESAPU.DLL]
SHVC-SOUND 転送コードを改善 (他プレイヤー用 SNESAPU.DLL のみ)。 一部の曲で転送後も音が鳴らない SPC を鳴るようにした。
[SPCCMD.EXE]
SHVC-SOUND 転送エミュレート機能を追加 (デバッグ用)。 SNES SPC700 Player を使って転送動作をエミュレートできるようにした。
[SPCPLAY.EXE]
[情報表示] - [SPC 情報 2] で、Resister 横に表示されるフラグの表示内容が間違っていた不具合を修正。
[ビット] の [32 ビット] を [32 ビット (int)] に、[32 ビット (IEEE754)] を [32 ビット (float)] にそれぞれ変更。
Gain の Direct マークを変更。
[SNESAPU.DLL]
開発環境のアップデートによるリビルド。
SPC700 のリセット処理と Mul 命令の動作を修正。
try700 関数の lpFile 引数に Unicode (UTF-16LE) を使用できるようにした (他プレイヤー用 SNESAPU.DLL のみ)。
[SPCPLAY.EXE]
[情報表示] - [チャンネル情報 2] で、ADSR/Gain の状態表示を拡張。
ADSR の場合、状態 A (Attack), D (Delay), S (Sustain) を表示。 非表示時は R (Release or Key off)。
Gain の場合、エンベロープの上昇・下降を示す矢印と、L (Linear), B (Bent line), E (Exponential) を表示。 非表示時は Key off。
OX (波形出力値) を EX (エンベロープ値) に変更。 従来の OX は Pause/Break キーで表示切替可能 (OX 表示時は紫色の 。マークを値の左側に表示)。
[SNESAPU.DLL]
Gain Direct モード時、DSP の内部フラグが正常に更新されない不具合を修正。 演奏には影響なし。
[SPCPLAY.EXE]
UPX 3.08 による圧縮。
[SNESAPU.DLL]
UPX 3.08 による圧縮。
一部の曲でエンベロープが減衰しない問題を改善。
[SPCPLAY.EXE]
[設定] - [拡張設定] - [ローパスフィルタ] を追加。
プレイリストにフォルダをドロップした直後、スクロールバーが再描画されず正しい位置にならない不具合を修正。
[設定] - [基本優先度] を [処理優先度] に変更。
[SNESAPU.DLL]
実機と同じカットオフ周波数のローパスフィルタを実装 (黒羽さん Thanks!)。
[SPCPLAY.EXE]
演奏中でも [設定] - [演奏時間] - [有効] のチェック状態を変更できるようにした。
[SPCPLAY.EXE]
w コマンドがない無限ループの Script700 を動作させてしまった場合でも、演奏停止などの操作が行えるように修正。
ID666 に制御コードが含まれている場合は、半角スペースに置き換えるように修正。
[SNESAPU.DLL]
TransmitSPC で SHVC-SOUND に SPC を転送した場合、演奏できない SPC がある不具合を修正、冒頭でノイズが走る問題を改善。
[SPCCMD.EXE] (2011/10/23)
SPC ファイルのエコー領域をゼロクリアする機能を追加。
[SPCPLAY.EXE]
演奏中に音量設定などを変更した場合、SNESAPU 内部変数値が衝突する可能性がある不具合を修正。
タイムゲージで経過していない部分 (薄い色) を細くして、通過済み部分 (濃い色) と判別しやすくした。
Windows Vista/7 用に 32bit アイコン (48x48) を収録。
[SNESAPU.DLL]
Script700 で bxx の戻り先を記録しなくする r0 コマンドと、記録する r1 コマンドを追加。
[SPCPLAY.EXE]
リピート開始位置、終了位置の設定 (区間リピート) に対応 (genjin さん Thanks!)。
[演奏時間] に [開始位置を設定] [終了位置を設定] [位置をリセット] を追加。
Shift キー、右クリックによる機能切り替えの安定性を向上。
[SPCPLAY.EXE]
サウンドインジケータの再描画タイミングを少し高速化。
[SNESAPU.DLL]
ADSR, KON 処理が原因で、特定の曲で発音時にノイズが発生する不具合を修正。
SHVC-SOUND へ転送後、Script700 の [PORT], o[PORT] が正しく動作しない不具合を修正。
Script700 の o[PORT] パラメータの動作を変更。
SHVC-SOUND への SPC 転送速度を高速化。 また、演奏できない SPC がある問題を改善。
[SPCPLAY.EXE]
UPX 3.07 による圧縮。
マルチモニタ環境での動作を改善。
[プレイリスト] - [演奏開始] の項目に [最初から] [最後から] を追加。
タスクバーのボタンを右クリックした際のメニューに、ウィンドウと同じメニュー項目を追加。
Ctrl キーを押したままの状態でプレイリスト上に SPC ファイル、またはフォルダをドロップした場合、プレイリストをクリアしてからファイルを登録するようにした。
[SNESAPU.DLL]
UPX 3.07 による圧縮。
v コマンドのパラメータに lr (左右の音量設定) を追加。
[SPCPLAY.EXE]
[左右拡散度] [フィードバック反転度] [演奏速度] [音量] の選択候補数を増やした。
[SNESAPU.DLL]
一部のゲームで効果音が正常に再生されない不具合を修正。
その他、エミュレーション精度の向上。
[SPCPLAY.EXE]
壊れたプレイリストファイルを読み込んだ際に落ちることがある不具合を修正。
[SNESAPU.DLL]
Script700 の w コマンドで 32 クロック未満の値が指定された場合の精度を向上。
改行コードが LF または CR のみの script700 を正常に認識できない不具合を修正。
[SPCPLAY.EXE]
UPX 3.05 による圧縮。
演奏自動停止時、タイムゲージが 100%状態になることがある不具合を修正。
[SLOW] [FAST] ボタン連打時に 100%設定になった際、一瞬反応しなくなる不具合を修正。
SPCPLAY.EXE 配下に保存されている SPC は相対パスでプレイリストに記録するようにした。
[SNESAPU.DLL]
UPX 3.05 による圧縮。
SHVC-SOUND ユニット (実機のサウンドボード) に SPC ファイルの内容を転送して演奏させる TransmitSPC 関数を追加 (他プレイヤー用 SNESAPU.DLL のみ)。
[SPCPLAY.EXE]
UPX 3.04 による圧縮。
[ミキサー情報] の SrcAddr の終了アドレスが誤っていた不具合を修正 (開始アドレスは正常)。
演奏開始時にサウンドインジケータを 2 回描画していた不具合を修正。
起動中に画面デザインが変更された場合、メニューバーが新しい色で再描画されない不具合を修正。
タイムゲージの表示・ID666 の表示・シーク動作の調整。
アプリケーション起動時に SPCPLAY.EXE, SNESAPU.DLL の簡易破損チェックを行うようにした。
WAVE ファイル出力機能 (おまけ) で、最初の無音時間を変更 (SPCPLAY.INI の WAVBLANK) できるようにした。
プレイリストからドラッグ&ドロップ操作で他のアプリケーション (ID666 エディタ、バイナリエディタ等) にファイルを受け渡せるようにした。
ハイコントラストモード (背景色:黒) で起動時のグラフィックインジケータの色を調整。
[SNESAPU.DLL]
UPX 3.04 による圧縮。
v2.12.2 の修正で、タイマーレジスタの更新が正しく行われない場合がある不具合を修正。
DSP KON 処理の調整。
[SPCPLAY.EXE]
一度にたくさんのファイルをドロップしようとするとオーバーフローが発生する可能性のある不具合を修正。
WAVE ファイル出力機能 (おまけ) で、最初に 0.5 秒、最後に 1 秒間の無音を入れるようにした。
[設定] - [チャンネルマスク] を [チャンネルミュート] に変更。 フラグのオン・オフが従来と反対になります。
[設定] - [チャンネルノイズ] を追加。
[SNESAPU.DLL]
Script700 で w コマンド実行時、待機時間が 32 の倍数でなかった場合の精度を向上。
各チャンネルの強制ノイズ機能を追加。
[SPCCMD.EXE]
DSP レジスタや 64KB APU RAM など SPC の演奏で使用するメモリの内容を読み取り・書き込みできる外部拡張ツール (SPCCMD.EXE) を標準で同梱。
[SPCPLAY.EXE]
自動で次の曲に移る際、ウィンドウがアクティブでない場合は、プレイリストのカーソル位置が次の再生曲に設定されるようにした。
[SNESAPU.DLL]
v2.13.3 の修正で、イヤーセーフ機能が働いてしまうとソフトウェアを再起動するまで解除されない不具合を修正。
[SPCPLAY.EXE]
フォルダや SPC ファイルをドロップしたときの SPC ヘッダ情報読み取り時、SPC 全体ではなく最初の 256byte のみを読み込むように処理を改善して、若干高速化。
サウンドドライバへの波形データ転送時、余計な初期化 API が呼ばれていた箇所を削減して、若干高速化。
[SNESAPU.DLL]
v2.13.0 の修正で、一部の曲で効果音が正常に再生されない不具合を修正 (gocha さん Thanks!)。
v2.11.1 の修正で、一部の曲で音抜けが発生する不具合を修正 (gzm さん Thanks!)
通常音量 (100%) で BASS BOOST を有効にした際、無音状態になる (セーフ機能が働いてしまう) 点を改善。
Script700 の DSP 割り込み処理で、処理方法を変更し無駄な処理を削減して、若干高速化。
ADSR 動作中、特定の条件でエンベロープが減衰しない場合があった不具合を修正。
Script700 の d コマンド (拡張コマンド) を使用時、サンプリングレートを変更すると発音周波数が変化していた不具合を修正。
[SPCPLAY.EXE]
グラフィックインジケータの色を微調整。 また、システムカラー設定によって明るさが 3 段階に変化するようにした。
[Restart] ボタンで最初から再生した場合は、シーク用キャッシュをクリアしないようにした。
[SPCPLAY.EXE]
Script700 を使用する曲を演奏中にシークを行うと、演奏がおかしくなることがある不具合を修正。
高速シーク処理のデフォルト設定値を変更。
v2.0 初期版から使用できるプレイリスト (互換モード) の保存機能を廃止。 読み込みは可能。
SPC スナップショット保存機能を追加 (おまけ機能)。 SPC 演奏中に [SAVE] ボタンで保存可能。
前バージョンからアップデート後、SPCPLAY.INI の SEEKINT, SEEKNUM が初期値に自動修正されます ([設定] メニューから変更できる設定項目には影響ありません)。
[SPCPLAY.EXE]
[SLOW] [FAST] ボタンクリック時、タイトルバーに現在の演奏速度設定が 1 秒間表示されるようにした。 音量などの設定も対応 (rnR T.A.D. 2oo8 さん Thanks)。
[ミキサー情報] で SrcAddr と EchoAddr の終了アドレス表示を追加。
[チャンネル情報 3] で BRR フィルタレンジ表示を追加。
インジケータ関係の描画処理を改善 (CPU 負荷軽減)。
シーク処理でキャッシュ機能を搭載し、巻き戻し (逆方向シーク) の処理速度を高速化 (rnR T.A.D. 2oo8 さん Thanks)。
キーボードショートカットを改善。 Shift + ←→ でシーク操作をできるようにした。
起動直後、プレイリストに登録されていた場合は [PLAY] ボタンを有効にするようにした。
ID666 の認識条件を変更し、認識率を向上。
内部処理を調整。
WAVE ファイル出力機能 (おまけ) を追加。 SPC 演奏後に [SAVE] ボタンで保存可能 (傍観者さん Thanks)。
前バージョンからアップデート後、[設定] - [フィードバック反転度] の設定が初期値 (0 %) に戻ります。 設定を変更していた場合は再設定をお願いいたします。
[SNESAPU.DLL]
開発環境のアップデートによるリビルド。
内部処理を調整。
[SPCPLAY.EXE]
内部動作の調整。 Wine (Linux) 上での動作を改善。
[拡張設定] - [サラウンド無効] オプションを追加。
[SNESAPU.DLL]
特定の曲で音色切替時にノイズが入る不具合を修正。
サラウンド無効化 (DSP_NOSURND, opt = 0x1000) オプションを追加。
[SPCPLAY.EXE]
[OPEN] ボタンのダイアログでファイルを複数選択可能にした (rnR T.A.D. 2oo8 さん Thanks)。
[OPEN] と [SAVE] ボタンで最後に開かれたフォルダを別々に保持するようにした。
ファイルの読み込み・書き込み処理を書き直し。
古いバージョンの SNESAPU.DLL で起動すると、エラーメッセージ表示後にメモリリークが発生する場合がある不具合を修正。
Wine (Linux) 上で青系バーの一部の色がおかしくなる現象を回避。
Wine (Linux) 上でインジケータの描画が極端に遅くなる現象を回避。
SPC ファイルとプレイリストを一緒にドロップした場合の挙動を変更。
[SNESAPU.DLL]
開発環境のアップデートによるリビルド。
[SPCPLAY.EXE]
UPX 3.03 圧縮。
Windows 98 環境で、演奏中に [×] ボタンをクリックして閉じると、まれにハングする不具合を修正 (rnR T.A.D. 2oo8 さん Thanks)。
SPCPLAY.INI に FONTNAME を追加 (rnR T.A.D. 2oo8 さん Thanks)。
[設定] - [音量] に [250 %] [300 %] [400 %] を復活 (rnR T.A.D. 2oo8 さん Thanks)。
[設定] - [拡張設定] メニュー内項目の無効化処理を削除。
外部ソフトウェア連携のための拡張メッセージを追加。
内部処理を調整。
[SNESAPU.DLL]
UPX 3.03 圧縮。
特定の曲でエンベロープが減衰しない不具合を修正 (黒羽さん Thanks)。
通常演奏用、シーク用で分割されていた DSP エミュレーションロジックを統合して軽量化。
DSP_ECHOMEM 使用時の挙動を実機に近づけた。
Script700 の発音周波数変更を使用中、[拡張設定] などのオプション値を変更すると、一瞬だけ発音周波数が元に戻る不具合を修正。
内部処理を調整。
[SPCPLAY.EXE]
[設定] - [拡張設定] に [ノイズ無効] と [エコー作業メモリ書換] を追加。
[設定] - [演奏速度] と [音量] メニューの項目内容を変更。
内部実装の微調整。
[SNESAPU.DLL]
(v2.11.3 revert) KON と KOF が同時に指定された場合、音が鳴らないのが正常動作のようなので修正を元に戻した。
ノイズ無効 (DSP_NONOISE, opt = 0x400)、エコー作業メモリ書換 (DSP_ECHOFIR, opt = 0x800) オプションを追加。
内部実装の微調整。
イヤーセーフ機能の微調整。
[SPCPLAY.EXE]
Gain AUTO モード時、エンベロープの推移時間表示を追加。
ADSR パラメータ表示で AR と DR の位置を入れ替え。
[SNESAPU.DLL]
Gain DIRECT 処理の問題により、特定の曲で音抜けが発生する現象を改善。
Gain DIRECT モード時、最大指定でもエンベロープが最大にならない不具合を修正。
ADSR モードで規定より若干高くエンベロープが推移していた不具合を修正。
DSP エミュレーションを調整。
GetScript700Version 関数を廃止。
[SPCPLAY.EXE]
内部処理 (Win32 API 呼び出し等) の調整。
ごくまれにインジケータが再描画されなくなる不具合を改善。
サンプリングレートを 16 段階、左右拡散度・フィードバック反転度・演奏速度・音量をそれぞれ 13 段階に増設。
[SNESAPU.DLL]
SPC700 Opcode Fetcher を本家 v3.0a から移植。
非推奨の API をエクスポートしないようにした (パッケージ付属版のみ)。
"エンベロープ無効" 設定時、エンベロープを最大ではなく 75 %で固定するようにした。
r コマンドが正常に動作していなかった不具合を修正。
データ領域の数値が誤って認識される不具合を修正。
Script700 パーサー・エンジン、発音周波数制御部分の一部を書き直し。
Script700 で 16 進数の記述形式から &HFF, &hFF を削除。
BASS BOOST ロジックを書き直し。 一部の曲で BOOST が強くかかりすぎる不具合を修正。
[SPCPLAY.EXE]
UPX 3.02 圧縮。
演奏ロジック部分をマルチスレッド化。
[プレイリスト] - [演奏開始] に [次へ] [前へ] [シャッフル] を追加。
Windows Vista で Aero をオンにしている場合、ウィンドウ位置の自動調整機能でウィンドウ位置がずれる不具合を修正。
[SNESAPU.DLL]
UPX 3.02 圧縮。
[SNESAPU.DLL]
Script700 で 16 進数のパース処理の不具合を修正。
[SPCPLAY.EXE]
ソースコードのリファクタリングを実施。
バイナリフォーマット時、演奏時間とフェードアウト時間が 0 補間表示になる動作を改善。
ミキサー情報表示の Delay, Feedback 表示を修正。
Script700 デバッグ表示に SP (スタックポインタ) を追加。
[拡張設定] に [エンベロープ無効] を追加。
インジケータ表示部のロジックを調整。
細かな実装修正。
前バージョンからアップデート後、SPCPLAY.INI の SEEKMAX が初期値に自動修正されます ([設定] メニューから変更できる設定項目には影響ありません)。
[SNESAPU.DLL]
オペコード関係の処理をリファクタリング (SNESAPU v3.0 系に近いものにした)。
BASS BOOST のロジックを調整。
Script700 の bxx コマンドで w[WORK] をサポート (移動位置の動的変更が可能に)。
Script700 で r コマンドを追加 (最後に bxx コマンドを実行した直後の場所へ戻る)。
Script700 で q コマンドを追加 (プログラムエリア内の途中でも実行を止める)。
エンベロープ無効オプション (DSP_NOENV, opt = 0x200) を追加。
細かな実装修正。
[SPCPLAY.EXE]
タイムゲージ対応 ([演奏時間] を [有効] に設定時有効)。
サウンドインジケータのリフレッシュを改善。
サウンドインジケータの数値表示処理の処理速度を改善。
シーク関係の初期値設定の不具合を修正。
プレイリストの登録上限値を 1024 から 5000 に変更。
演奏時間が 10 分を超えた場合 [REW] ボタンを無効にするようにした (応答がしばらく返ってこなくなる現象を防止)。
シーク時、まれに次の曲が演奏されることがある不具合を修正。
ID666 の認識ロジックを修正 (認識率向上?)。
細かな実装修正。
前バージョンからアップデート後、SPCPLAY.INI の BUFNUM, BUFTIME, SEEKFAST, SEEKTIME, VOLSPEED が初期値に自動修正されます ([設定] メニューから変更できる設定項目には影響ありません)。
[SNESAPU.DLL]
マルチバイトのスタック処理の不具合を修正 (あすかさん Thanks)。
Script700 のパーサー処理の一部を改善。
[SPCPLAY.EXE]
UPX 3.01 圧縮。
演奏停止中、一時停止中でも、インジケータの表示を維持するようにした。
ID666 の認識ロジックを修正 (認識率向上?)。
スクリーンの端にウィンドウを近づけてマウスのボタンを離したとき、自動的に端に移動するようにした。
[SNESAPU.DLL]
UPX 3.01 圧縮。
BASS BOOST ロジックを微調整、計算量を削減。
[SPCPLAY.EXE]
UPX 3.0 圧縮。
"チャンネル情報 4" を追加 (波形データのオフセット、ループ、現在進行中のアドレス情報)。
[ピッチ] メニューに [音程キー] を追加。
[SNESAPU.DLL]
UPX 3.0 圧縮。
ノイズ防止ロジックを調整。
[SPCPLAY.EXE]
全体的にロジックを見直し、不要なコードを削除して安定化。
波形データ転送部分のロジックを書き直してメモリ使用効率を向上。
インジケータ表示時の計算量を削減。
各種情報表示の表示方法と、一部の配色を変更。
Script700 の "Last Ptr" (最終インデックス) を "UsedSize" (使用量) に変更。
[SNESAPU.DLL]
不要なコードを削除して安定化。
BASS BOOST ロジックを作り直し、計算量を削減。
イヤーセーフ機能解除、音量レベル値の float 出力オプションを追加。
SetScript700 関数の戻り値を変更 (正常 = 1 以上、手動で無効 = 0、解析エラー = -1)。
[SPCPLAY.EXE]
ID666 バイナリフォーマットの判定方法を微調整。
[SNESAPU.DLL]
演奏開始直後にプチノイズが発生する現象を軽減するロジックが原因で、環境によってはフェードアウトが動作しない不具合を修正 (1 ユーザーさん Thanks)。
低速モードのシーク時、まれに数秒間にわたって音割れが発生する不具合を修正。
曲によってイヤーセーフ機能が働かない不具合を修正。
32bit-float (IEEE754) 出力ロジックで波形データ出力処理の一部を調整。
音量設定の初期化を調整。
不要なコードを削除。
[SPCPLAY.EXE]
[ミキサー情報] の "EndWave" を [チャンネル情報 3] の "X" 表示に変更。
[ミキサー情報] 表示で "NoiseRt" (ノイズ周波数) を追加。
[チャンネル情報 2] の "ADSR/Gain" で Gain のパラメータ表示を 1 つ追加。
表示内容の調整。
[SNESAPU.DLL]
DSP の ENDX フラグが KON 時にリセットされていない不具合を修正 (n さん Thanks)。
演奏開始直後にプチノイズが発生する現象を軽減するロジックを調整 (あすかさん Thanks)。
イヤーセーフ機能搭載。 音割れがひどくなるような大きい音量で出力されたときに、強制的に全ミュートになります。
KON, KOF の処理に問題があるため、一部の SPC で音が鳴らないことがある不具合を修正。
PMOD の処理でレジスタの初期化漏れを修正。
不要なコードを削除。
[SPCPLAY.EXE]
UPX 2.03 圧縮。
シャッフル再生時、二週目以降は一週目と同じ順番で演奏するようにした。
キーボードショートカット (ESC : 最小化) を追加。
[SNESAPU.DLL]
UPX 2.03 圧縮。
Script700 の拡張コマンド領域で v コマンドを追加 (あすかさん Thanks)。
Script700 の拡張コマンド領域で c, d コマンドの ! 指定を追加。
Script700 のパーサー処理を改善。
エコー処理を改善して、一部の曲で演奏開始直後にプチノイズが発生する現象を軽減。
[SPCPLAY.EXE]
エラーメッセージの内容を修正。
インジケータ関係の描画処理を改善 (高速化)。
メニュー表示の一部を変更。
[SNESAPU.DLL]
サンプリングレートの設定によって BASS BOOST の強さが変わる不具合を修正。
キーオン処理のタイミングに問題があるため、一部の曲で発音時に音量が異常になることがある不具合を改善 (fastlast さん Thanks)。
IPL ROM の初期化に問題があるため、Script700 のバイナリメモリの内容が書き換わる不具合を修正。
Script700 の 16 進数表記でマイナス指定を可能にした (例 : #-0xFF)。
Script700 の 16 進数表記パターンを追加 (例 : $FF, &HFF, &hFF)。
[SPCPLAY.EXE]
UPX 2.02 圧縮。
SPC700 レジスタ値の取得処理を改善 (GetSPCRegs 関数の使用をやめた)。
Script700 デバッグ情報の取得処理を改善 (メモリコピーの回数を削減)。
インジケータ関係の描画処理を改善 (関数呼び出しの削減、メモリの再利用、高速化など)。
ドラッグアンドドロップされたファイルが破損していた場合に、エラーメッセージを表示するようにした (ドロップされたファイルが 1 つの場合のみ)。
SPC ファイルを関連付けした状態で、破損している SPC ファイルを続けてダブルクリックするとエラーメッセージが複数同時に表示される不具合を修正。
メッセージボックスを表示する際、ウィンドウがアクティブでない場合はアクティブにする (場合によってはタスクバーのボタンが点滅する) ようにした。
[ビット] メニューの Integer と Float モードを統合 (Float モード強制)。
[1 チャンネル] 選択時でも [24 ビット] [32 ビット] を選択可能にした。
[2 チャンネル] 選択時でも [8 ビット] を選択可能にした。
グラフィックインジケータのレベル表示 (青色) を調整。
[拡張設定] メニューの [アンチエイリアスフィルタ] を削除し [BASS BOOST] を追加。
[SNESAPU.DLL]
UPX 2.02 圧縮。
GetScript700Data 関数の仕様を変更。
Float モードで 8 ビット出力、モノラル出力をサポート。 Float モードですべてのチャンネルとビットの組み合わせが使用可能になった。
比較的音質が悪い Integer, MMX モードを廃止 (Float モード強制)。 Integer, MMX モード指定時でも Float モードが使用されます。 Float モードを使用していないプラグインに導入すると音質が改善されるかもしれません。
アンチエイリアスフィルタを削除し、BASS BOOST (低音強調) 機能を追加 (SetAPUOpt の opts で 0x100 を指定)。
あまり使用されない機能 (RestoreXXX, SaveXXX, GetProcInfo 関数) を削除。
一部の曲で発音時に音量が異常になることがある問題を改善 (fastlast さん Thanks)。
Script700 でパラメータに [PORT] が指定された場合、読み込み時は o[OPORT]、書き込み時は i[IPORT] とみなすようにした (silverHIRAME さん Thanks)。
Script700 で nop コマンド (何もしない命令) を追加。
Script700 関係の一部のコードを書き直し (高速化、省サイズ化)。
Script700 互換機能を設定した直後に TimerTrick 互換機能を設定すると、まれに強制終了する不具合を修正。
[SPCPLAY.EXE]
[補間処理] メニューに [ガウス関数補間] を追加。
演奏中に Windows がサスペンド・休止状態に移行したとき、自動的に演奏停止するようにした。
ソフトウェア起動中に Windows が終了・再起動したとき、現在の状態が正しく保存されないことがある不具合を修正。
グラフィックインジケータでピッチ値を 0x3FFF でマスクしていなかった不具合を修正。
グラフィックインジケータで使用するバーのグラフィックをビットマップリソースから動的生成に変更。
[SNESAPU.DLL]
あらかじめ決められたテーブルではなく、計算式でガウステーブルを作成するガウス関数補間機能をサポート (SNESAPU v2.0 系で使われていなかったものを復活。 inter = 7 で使用可能)。
[SPCPLAY.EXE]
UPX 2.01 圧縮。
サウンドバッファの数と大きさを可変にした (INI ファイル書き換えで設定)。
インターフェイス (ボタンの配置など) を変更。 [PLAY] と [PAUSE] ボタンを統合。
ウィンドウのサイズ (幅) を 24 ピクセル分小さくした。
プレイリストファイル v1.1 追加。 従来と比べてファイルサイズが減ります。 従来のバージョン (v1.0) の読み込み・書き込みも対応。
前回終了時のプレイリストの選択位置を記憶するようにした。
VCL パッケージを一切使わなくすることでファイルサイズを軽量化。
ランダム選曲時、ごくまれに次の曲が演奏されない不具合を修正。
OS による 24~32 ビットの制限を外した (DULL さん Thanks)。
常に WAVEFORMATEXTENSIBLE フォーマットを優先するようにした (DULL さん Thanks)。
Audio Compression Manager を通さない DIRECT 転送モードをサポート。
SNESAPU.DLL 初期化時のエラーチェックを強化。
細かな実装修正。
[SNESAPU.DLL]
UPX 2.01 圧縮。
シーク時にミキシングフラグの初期化が正常に行われない不具合を修正。
DSP リセット時、DSP HALT フラグが解除されない不具合を修正。
Gain の DIRECT モードで演奏時、エンベロープが正しく推移しないことがある不具合を修正。
EchoDelay レジスタ設定の処理を v3.0 系に変更。
StartSrc 関数の一部の処理を v3.0 系に変更。
SetDSPOpt 関数の一部の処理を v3.0 系に変更。
CubicX, CubicF, GaussF 関数 (補間処理) の処理を修正。
あまり使用されない機能 (PackWave, UnPackWave, VMax2dB, InPortW 関数) を削除。
細かな実装修正。
[SPCPLAY.EXE]
UPX 2.0 圧縮。
[補間処理] - [シンク関数補間] を追加。
SPC700 PSW レジスタの詳細表示を変更。
CPU 負荷を若干減らした。
細かな実装修正。
[SNESAPU.DLL]
UPX 2.0 圧縮。
Script700 で w コマンド実行時、待機時間の精度を若干向上。
本家 SNESAPU v3.0 のソースの一部を現バージョンに移植。
シンク関数補間処理をサポート (inter = 4 で使用可能)。
シンク関数補間処理サポートに伴い、VOICE 構造体を一部変更。
MMX (Integer) 版ガウス分布補間処理で 16bit clamp を追加。
MMX (Integer) 版 FIR フィルタ処理で 16bit clamp を追加 (一部の曲で歪む不具合を修正)。
DLL リセット時、IPL ROM がコピーされない不具合を修正。
DLL リセット時、SPC700 レジスタが正しく初期化されない不具合を修正。
VC++ ライブラリを使わなくすることで、ファイルサイズを軽量化 (パッケージ付属版のみ)。
細かな実装修正。
[SPCPLAY.EXE]
メニュー、情報表示、メッセージボックスのテキストを調整。
[基本優先度] で [高] 以上を設定したときに表示される警告を削除。
キーボードショートカットを追加 (Alt + ←→ で音量の調整、Ctrl + ホイールでリスト項目の移動ができます)。
[Script700 デバッグ] の Ptr が下位 16 ビット分しか表示されない不具合を修正。
[Restart] ボタンを押したときの処理を高速化。
[サンプリングレート] の初期値を [48,000 Hz] に変更。
ID666 バイナリフォーマットの判定方法を変更。
プレイリストにフォーカスを当てなくても、ホイールによるスクロールが動作するようにした。
Windows 2000 でも [24 ビット] [32 ビット] を選択可能にした (通りすがりさん Thanks)。
[SNESAPU.DLL]
バイナリメモリを 0x10000 バイト以上使用する Script700 を適用時、ResetAPU 関数を呼び出した際にポインタが初期化されない不具合を修正。
高速シークを行うと、DSP レジスタが更新されない不具合を修正 (シークを行った際にエコーが異常になったり、演奏がおかしくなる問題が改善されます) (NR-IO さん Thanks)。
メモリの確保方法を変更。
InitAPU 関数の仕様を変更。 DLL エントリーポイントを簡略化。
Script700 実行処理を変更 (CMP 命令をなるべく使わないようにした)。
[SPCPLAY.EXE]
エラー、警告メッセージを調整。
SetScript700Callback 関数のサポートを削除。
キーボードショートカットを追加。
設定メニューの一部を変更。
Script700 デバッグ表示で、使用メモリ、ポインタ表示の桁数を変更。
ウィンドウの左半分にファイルをドロップした場合は即時演奏開始、右半分にドロップした場合はリスト追加を行うように変更。
[SNESAPU.DLL]
ld コマンドのサポート、および SetScript700Callback 関数を削除。
Script700 用バイナリメモリ領域を 256KB から 1MB (1,024KB) に増設。
mix 境界設定方法、および FIR フィルタ制御を変更。
一部の曲においてエコーフィードバック処理が行われないことがある不具合を修正 (fastlast さん Thanks)。
バイナリメモリに格納できない大きな Script700 を読み込んだとき、ごくまれに音が変わることがある不具合を修正。
[SPCPLAY.EXE]
キーボード制御の不具合を修正。
プレイリストに 1 件だけ登録した状態で終了し、再度起動すると、「▼」ボタンが有効になる不具合を修正。
中クリック制御を削除。
Script700 デバッグ表示で、使用メモリ、ポインタ表示の桁数を変更。
Script700 デバッグの Used RAM 表示を変更。 Script700 が使用されていない場合は "(NULL)" と表示され、エラーがある場合は "Err" と表示されます。
チャンネル情報 2 表示で、ADSR/Gain の表示を変更。
動作モード切替を Ctrl キー押下時ではなく Shift キーが押し続けられたときに変更。
キーボードショートカットを追加。
プレイリストにフォーカスを当てていなくても、キーボードショートカット以外のキー (カーソルキーや文字キー) が動作するように変更。
UPX 圧縮オプションを変更。
[SNESAPU.DLL]
Script700 互換にデータ領域を新設。 拡張コマンド領域の次に記述。 データ領域の値を読み出す際は d[DATA],db[DATA],dw[DATA],dd[DATA] パラメータを使用します。
w コマンドのパラメータで i[IPORT],o[OPORT],r[RAM],rb[RAM],x[XRAM] に対応。
w,m,c,a,s,u,d,n コマンドのパラメータに d[DATA],db[DATA],dw[DATA],dd[DATA],#?,i?,o?,w?,r?,rb?,rw?,rd?,x?,d?,db?,dw?,dd? を追加。 ? 指定の追加により、動的ポインタに対応。
Script700 用バイナリメモリ領域を 64KB から 256KB に増設。
リプレイ時に問題があるため ld コマンドを非推奨にした (まだ使えます)。
Script700 パーサーでラベルと bxx 命令の後処理を高速化。
SetScript700 のパラメータに NULL が指定された場合の戻り値を -1 から -2 に変更 (コンパイルエラーの場合はこれまでどおり -1 が返ります)。
Script700 初期化プログラムを若干変更。
UPX 圧縮オプションを変更。
[SPCPLAY.EXE]
[ビット] メニューに [32 ビット (IEEE754)] 追加。
SNESAPU.DLL のバージョン取得方法を簡略化。
アイコンを微調整。
[SNESAPU.DLL]
32bit float (IEEE754) 使用時、異常に音割れする (大音量になる) 不具合を修正。
SPCPLAY.EXE 仕様変更に伴い、バージョン文字列を受け渡す命令を追加。
SPC ファイル名に '\' (0x5C) が含まれていると、Script700 の読み込みに失敗する不具合を修正 (for サードパーティ製) (黒羽さん Thanks)。
SNESAPUInfo 関数で取得されるバージョン番号を "2.8b" に変更 (for サードパーティ製)。
SNESAPUCallback 関数をエクスポート。 コールバックのサブクラス化を可能にした (for サードパーティ製)。
[SPCPLAY.EXE]
Delete キーでリストの項目削除、Insert キーでリストの項目追加 (挿入)、Alt + ↑ (↓) でリストの項目移動ができるように機能を追加。
マウスの第 4 ボタン (拡張ボタン) で、情報表示を切り替えられるように機能を追加 (Windows Me, 2000 以上、4 ボタン以上のマウス、および汎用 HID ドライバが必要)。
Script700 の ld コマンドの処理を高速化。
SPC を関連付けで開いた際にすでにプロセスが起動中だった場合、そのプロセスに演奏を委託する処理を若干高速化。
情報表示機能 (ミキサー情報、チャンネル情報 1~3) を更新。
情報表示機能 (SPC 情報 2、Script700 デバッグ) を更新。
[SNESAPU.DLL]
250 文字以上の長いパスに Script700 ファイルを置くと、Script700 の ld コマンド実行時にメモリリークが発生する場合がある不具合を修正 (for サードパーティ製)。
[SPCPLAY.EXE]
[Add] ボタンを [Append] に変更。
情報表示部分の Static の属性を変更。
文字列を数値に変換する処理を変更。
Script700 のコールバック関数を実装。
[設定] - [ピッチ] - [WAVE エミュレーション] を [演奏速度に連動] に変更。
[設定] - [チャンネルマスク] - [すべて反転] を追加。
[設定] - [拡張設定] - [OLD ADPCM] を演奏中でも選択できるように変更。
[設定] - [拡張設定] - [ピッチ固定] を [ピッチリード無効] に変更。
エラーメッセージを変更。
ID666 の "エミュレータの種類" に "SNESGT" を追加 (非公式)。
メニューの一部をラジオボタンのマークに変更。
アイコンを変更。
最小化状態で起動された場合、タイトル表示が更新されない不具合を修正。
起動時に、ウィンドウサイズ変更時のイベント処理が 4 回行われていた問題を修正。
不要なリソースを削除。
メッセージボックスで表示されるメッセージを修正。
[SNESAPU.DLL]
Script700 に r[RAM] パラメータを追加。 rb[RAMB] と同じ効果です。
Script700 の w コマンドに rw[RAMW], rd[RAMD] パラメータを追加。
Script700 に ld コマンドを追加。 指定された Script700 ファイルを再読み込みできるようになりました。
Script700 の処理を一部高速化。
SetScript700Callback 関数、GetScript700Version 関数を追加。
GetScript700Data 関数の仕様を変更。
try700 関数、InitWork_700 関数を追加 (for サードパーティ製のみ)。
[SPCPLAY.EXE]
UPX 1.25 による圧縮。
起動中に Windows のログオフなどが行われた際に設定が保存されない不具合を修正。
v2.7.6 以降、リストを保存する際に拡張子を入力しなかった場合、自動的に拡張子が付加されないようになっていた不具合を修正。
[SNESAPU.DLL]
UPX 1.25 による圧縮。
Script700 互換の各コマンドのパラメータに rb[RAMB], rw[RAMW], rd[RAMD], x[XRAM], o[OPORT] を追加。 SPC の RAM や出力ポートの内容を直接読み書きできるようになりました。
w コマンドでパラメータに 0 が指定された場合、"1 クロック待機" を "無視" に変更。
Script700 の処理を一部高速化。
[SPCPLAY.EXE]
24 ビット、32 ビット出力に対応 (Windows XP 以上、および WDM に対応したデバイスドライバが必要)。
ID666 の演奏時間設定を無視して、常にデフォルト値を使用する機能を追加。
[設定] - [演奏順序] メニューを追加。
EXE のアイコンにファイルをドロップした際、落ちる場合がある不具合を修正。
最小化時はインジケータの描画処理を省略するようにした。
MMX CPU 搭載の自動判別ルーチンを削除 (DLL で自動判別していました)。
インジケータのデシベル計算ルーチンを若干変更。
メモリ比較演算処理を変更。
メニューの表示ミスを修正。
[SNESAPU.DLL]
Script700 関係の処理を若干高速化。
v2.7.2 の修正で、エコーがかからない場合がある不具合を修正。
NASM 0.98.39 にバージョンアップ。
[SPCPLAY.EXE]
カレントディレクトリを取得する際、パスに 2 バイト文字が含まれていると正しく取得できないことがある不具合を修正。
Windows 9x 環境でフォントが正しく表示されない場合がある不具合を修正。
Windows 9x 環境で SNESAPU.DLL のバージョンが正しく取得できない場合がある不具合を修正。
サウンドバッファを増量。
[SNESAPU.DLL]
Script700 のタイマー処理を修正。
その他、細かな修正。
[SPCPLAY.EXE]
重複起動防止処理を変更。
コマンドラインの読み出し処理を変更。 関連付けされた SPC ファイルを開くときにエラーが発生することがある問題を改善。
エラーメッセージの表示を変更。
[リスト] - [演奏開始] - [ランダム] メニューを追加。
[設定] - [デバイス] メニューにデバイス ID の表示を追加。
最小化時、タスクバーのボタンに、現在演奏中の曲名とゲーム名が表示されるようにした。
[設定] - [演奏時間] - [有効] のデフォルト値を "オン" に変更。
前にシークすると、フェードアウトが無効になる不具合を修正。
[リスト] - [保存] メニューを [ファイル] メニューに移動。
リストからファイルを削除したときにカーソルが正しく移動しないことがある不具合を修正。
[SNESAPU.DLL]
TimerTrick, Script700 関係の処理を一部簡略化。
Script700 の数値指定で、10 進数の解析処理の不具合を修正。
Script700 の数値指定で、16 進数の指定に対応 (書き方の例 : 0x2, #0x4A8D, w0x3)。
通常コマンド領域の n コマンドで、2 番目のパラメータの解析処理の不具合を修正。
通常コマンド領域の n コマンドで、2 番目のパラメータに "\", "$", "_", "!" 命令を追加。
拡張コマンド領域の m コマンドで、"!" 命令の解析処理の不具合を修正。
拡張コマンド領域の c, d コマンドの処理中に、不要なメモリを使用していた処理を修正。
拡張コマンド領域の :: ラベルの解析処理の不具合を修正。
0 による除算が行われようとした場合の例外処理の不具合を修正。
[SPCPLAY.EXE]
SPC ファイルの関連付けに対応 (ただし関連付けは手動で行う必要があります)。
カレントディレクトリの取得方法を変更。
複数のフォルダのドロップに対応。
リストを保存する際に拡張子を入力しなかった場合、自動的に拡張子が追加されるように改良。
シャッフル再生に対応。
演奏時間の常時表示に対応。
シーク時に演奏が停止することがある不具合を修正。
エラーメッセージ、バージョン情報など一部の表示を簡易化。
SNESAPU.DLL に関するエラーチェックを強化。
[SNESAPU.DLL]
Script700 パーサーの一部の処理を高速化。
拡張コマンド領域の e コマンドが正しく認識されないことがある不具合を修正。
ラベルの初期化ミスを修正。
bxx コマンドで未使用のラベルが指定されている場合、最初にジャンプしてしまう不具合を修正。
文字列を数値に変換する処理を修正。
[SPCPLAY.EXE]
DLL の種類の判別処理を変更。
フィルタナンバーの表示が間違っていた不具合を修正。
Script700 のパーサー、およびコンパイラを削除 (DLL に移動)。
シーク処理を改良。
無音検知処理を改良。
Script700 の読み込み速度を高速化。
[SNESAPU.DLL]
v2.7.0 での修正で、エコーがかからなくなる可能性があった不具合を修正。
Script700 のパーサー、およびコンパイラを搭載。 SetScript700 関数を使用します。
GetScript700Data 関数の仕様を変更 (GetScript700Data 関数の使用は非推奨)。
Script700 のプログラムエリアを 4,096 バイトから 65,536 バイトに拡張。
Script700 のユーザワークエリアを 4 個から 8 個に拡張。
SetTimerTrick 関数で、Script700 の拡張コマンド領域を初期化していなかった不具合を修正。
Script700 拡張コマンド領域の c, d コマンドから ! 命令を廃止。
[SPCPLAY.EXE]
簡易シーク機能を追加 (デフォルトは± 5 秒)。 マウスの右ボタン、または [Ctrl] キーを押すと [Slow][Fast] ボタンが [Rew][FF] ボタンに変わります。
プレイリストの挿入機能を追加。 マウスの右ボタン、または [Ctrl] キーを押すと [Add] ボタンが [Insert] ボタンに変わります。 また、[Insert] ボタンに変わっている状態でファイルをドロップすると、リストにファイルが挿入されます。
[リスト] メニューに [挿入] を追加。
マウスの右ボタン、または中央ボタンを押しながら情報表示部分をダブルクリックすると、1 つ前の情報表示に戻るようにした。
[SPCPLAY.EXE]
正式に SNESAPU v2.x に対応。
[速度] と [音量] メニューを 11 段階に変更。
[拡張設定] - [ノイズフィルタ] を [アンチエイリアスフィルタ] に変更。
[拡張設定] - [FIR フィルタ無効] を追加。
[情報表示] - [チャンネル情報 3] に、フィルタナンバーの表示を追加。
ResetAPU, FixAPU 関数ではなく、LoadSPCFile 関数を使うようにした。
SPC ファイル名が表示されない場合がある (Unknown になる) 不具合を修正。
[補間処理] の初期値を [ガウス分布補間] に変更。
ID666, INI ファイル読み込み時のエラー処理を強化。
[SNESAPU.DLL]
本家の SNESAPU v2.0 ソースコードをベースに作り直し。
FIR フィルタを無効にできるようにした。
エコー処理を改良。 一部の環境にて、演奏中に CPU 使用率が異常に高くなる現象を軽減。
フィルタ 1 の処理を修正。
[SPCPLAY.EXE]
情報表示の部分を修正。
Script700 SE の :: ラベルに対応。
*.7SE ファイル (Script700 SE) の読み込みに対応。
インジケータのレベル表示 (青色のバー) の減衰方法を変更。
[SNESAPU.DLL]
Script700 拡張コマンド領域の d コマンドで、ピッチではなく周波数を変更するように修正。
Script700 通常コマンド領域の m, n コマンドで、ポートに数値を書き込む処理がうまく働かない場合がある不具合を修正。
DSP レジスタの初期化で、256 バイト分を初期化していた不具合を修正 (128 バイトが正常)。
DSP レジスタの変更ルーチンを修正。
[SPCPLAY.EXE]
v2.6.4 で発生した、数値の表示がずれる不具合を修正。
インジケータのレベル表示 (青色のバー) で減衰速度を遅くするようにした。 INI ファイル書き換えで減衰速度を調整できます。
Script700 拡張コマンド領域の c, d コマンドに ! 命令を追加。
Script700 拡張コマンド領域の d コマンドを 32 ビットに拡張。
[拡張設定] - [ピッチ固定] を追加。
n コマンドに独自拡張命令 (%) を追加。
[サンプリングレート] からあまり使われない項目を削除。
アイコンを変更。
[SNESAPU.DLL]
Script700 拡張コマンド領域の d コマンドがうまく働かない場合がある不具合を修正。
Script700 拡張コマンド領域の d コマンドを 32 ビットに拡張。
GetScript700Data 関数の仕様を変更。
SetDSPOpt または SetAPUOpt 関数によりピッチの固定をできるようにした。
v2.6.4 で発生した、8 ビット、または 16 ビット (整数演算) を使用したときにノイズが出ることがある不具合を修正。
n コマンドの独自拡張命令 (%) に対応。
[SPCPLAY.EXE]
内部処理の一部を修正。
[情報表示] - [Script700 デバッグ] のポート表示を変更。
Script700 拡張コマンド領域の m, c, d コマンドに対応。
ID666 にタイトルが書かれていない場合、ファイル名を表示するようにした。
Script700 が正常にロードされているか、サポートされているかどうか表示するようにした。
[SNESAPU.DLL]
内部処理の一部を修正。
Script700 拡張コマンド領域の m, c, d コマンドに対応。
GetScript700Data 関数の仕様を変更。
[SPCPLAY.EXE]
付属以外の SNESAPU.DLL を使用したときに [情報表示] - [Script700 デバッグ] を選択すると不正な値が表示される不具合を修正。
[設定] メニューの一部を変更。
[SNESAPU.DLL]
Script700 で HALT 状態になったとき Script700 実行ルーチンを呼び出さないようにした。
[SPCPLAY.EXE]
(SPC ファイル名).700 の読み込み機能を追加。 なければ 65816.700 を読みます。
w コマンドのパラメータで w[WORK]、#[DATA] に対応。
Script700 互換で e コマンドで終わっていても、その先を読み続けてしまう不具合を修正。
Script700 コマンドが大文字で書かれていても動くように修正。
デジタル表示を変更。 システムカラーと同じ色になるようにした。
Script700 互換コマンドのエラーチェックを強化。
ユーザワークエリア初期化ルーチンを削除 (DLL にまかせるようにした)。
改行しない場合でも次のコマンドを読み込めるようにした。 未対応コマンド例外処理が可能に。
独自拡張命令 s コマンド (減算) を追加。
n コマンドに独自拡張命令 (+, -, *, /, <, >) を追加。
a, s, u, d コマンドを n コマンドの独自拡張命令 (+, -, *, /) に変換するようにした。
[情報表示] 関係を変更。
blo コマンドと bcs コマンドの変換が反対だった不具合を修正。
[SNESAPU.DLL]
ResetAPU 関数、または ResetSPC 関数を呼び出したときにユーザワークエリアを 0 に初期化するようにした。
w コマンドのパラメータで w[WORK]、#[DATA] に対応。
#[DATA] に指定できる値を 8 ビットから 32 ビットに拡張。
w[WORK] に代入できる値を 8 ビットから 32 ビットに拡張。
ユーザワークエリアの数を 256 個から 4 個 (w0~w3) に変更。
内部処理を簡略化。
c コマンドの第 1 パラメータがうまく動かない不具合を修正。
n コマンド (演算) に対応。
n コマンドの独自拡張命令 (+, -, *, /, <, >) に対応。
a, s, u, d コマンドの処理ルーチンを n コマンドに統合。
w コマンドで 32 クロック分多く待っていた不具合を修正。
w コマンドで待機するクロック数が 0 の場合でも 1 回だけループを抜けるようにした。
[SPCPLAY.EXE]
内部処理を一部修正。
トラック属性表示に音符を追加。
[拡張設定] - [ピッチモジュレーション無効] を追加。
[処理優先度] メニューから [高] を選択しようとしたとき、警告を出すように改良。
ミュートにした状態であれば、[情報表示] - [無音トラック非表示] をチェックしていなくても非表示にするように変更。
[補間処理] メニュー変更。
[SNESAPU.DLL]
内部処理を一部修正。
TimerTrick 互換機能を搭載。 SetTimerTrick 関数を使用します。
SetDSPOpt または SetAPUOpt 関数によりピッチモジュレーションを無効にできるようにした。
ガウス補間処理を修正。
SNESAPUInfo 関数で取得した際のバージョン番号を 1.2 に変更 (1.0a~1.1 の改良を意識)。
Script700 互換機能がうまく動かない場合がある不具合を修正。
w コマンドの仕様を変更。 タイマーカウントを 16 ビットから 32 ビットに拡張。
w コマンドの仕様変更に伴い、GetScript700 関数、SetTimerTrick 関数を変更。
bxx コマンドの仕様を変更。
[SPCPLAY.EXE]
[演奏時間] - [有効] をチェックして演奏中に次の曲へ移動したとき、そのファイルが存在しないとハングする不具合を修正。
独自規格の P/A Hack 機能を廃止して、Script700 互換に対応。
未使用の変数が混入していたのを削除。
[演奏時間] - [有効] をチェックした際に働く次の曲へ移動する機能が、256 [ms] 早く働いていたのを修正。
演奏時間が設定されていない曲で、[演奏時間] - [有効] をチェックし、かつデフォルトの演奏時間が経過する前に全トラックの音が鳴らなくなったら、5 秒後に次の演奏処理をするように変更。
インジケータ機能を大幅更新。
[ビット] に [16 ビット (HQ)] を追加。 浮動小数点演算を使用するため、音質が向上します。
デフォルトの [ビット] を [16 ビット (HQ)] に変更。
フォルダのドラッグアンドドロップに対応 (1 階層のみ)。
ポート強制変更ルーチンを DLL に移植。
[SNESAPU.DLL]
Script700 互換機能を搭載。 GetScript700Data 関数を使用します。
ポート強制変更ルーチンを独自の Script700 互換ルーチンに変更。
[SPCPLAY.EXE]
プレイリスト非表示機能を廃止 (デフォルトでプレイリストが開きます)。
リスト順、リスト逆順、単曲リピート機能を追加。
ランダム演奏で、前回と同じ曲が演奏されてしまう場合がある仕様を改善。
SPCPLAY.EXE にファイルをドロップすると起動に失敗する不具合を修正。
テンポを再調整。 INI の SPEEDP1 の初期値を 157 から 0 に変更。
260 バイトを超えるパスのファイルが読み込まれたとき、エラーが発生する可能性がある不具合を修正。
v2.4.6 以降、インジケータのモジュレーション表示が行われていなかった不具合を修正。
[エコー左右反転度] を [エコーフィードバック] に変更。 バージョンアップを行うと、演奏時間の設定のみ初期化されます。
[SNESAPU.DLL]
ガウス補間処理で使用されるガウス分布を更新。
SPC700 エミュレータの内部処理を大幅修正。
DSP エミュレータの PckWav、UnpckWav、InitDSP、RVolLM を修正。
16 bit float で演奏させると音が変になる場合がある不具合を修正。
SPC Player v2.3~v2.4.7 バージョン情報に非対応にした (v2.4.8 以降は対応)。
(本家 SNESAPU.DLL v1.0a に v2.0 の一部ソースを組み込み)
最小化するとオブジェクトにフォーカスが戻らない不具合を修正。
[処理優先度] - [最高] を選択したあとに再び選択したときは警告を抑制するように修正。
[SPCPLAY.EXE]
Shift + Tab キーに対応。
[処理優先度] に [標準以上] [標準以下] を追加 (Windows 2000/XP のみ対応)。
SPC ファイルを複数ドロップしたときに、ファイル名でソートしてから追加するように変更。
SNES SPC700 Player がすでに起動されており、最小化されていた場合は、元のサイズに戻すように修正。
二重起動すると DLL が解放されない不具合を修正。
[処理優先度] メニューから [最高] を選択しようとしたとき、警告を出すように改良。
SECRET.TXT の付属を中止。 ホームページ上で最新の P/A Hack を確認できます。
[SNESAPU.DLL (v2.4.3)]
演奏中にエコーを無効にしたときに、エコーバッファをクリアするように修正。
演奏中にノイズフィルタを無効にしたときに、フィルタバッファをクリアするように修正。
[SPCPLAY.EXE]
P/A Hack 機能の仕様を一部変更。 以前のものと互換性はありません。 設定のしなおしが必要です。
インジケータのノイズ表示に対応。
[SNESAPU.DLL (v2.4.2)]
プログラムを一部修正。
ウィンドウのアクティブを解除してすぐにアクティブ化すると、ボタンなどにフォーカスが戻らない不具合を改善。
ウィンドウにファイルをドロップすると、アクティブでないにも関わらずフォーカスが移動したように見える不具合を修正。
子ウィンドウの ID がすべて 0 になっていた問題を修正。
インジケータの音量表示を微調整。
メニューの表示を一部修正。
ウィンドウデザインを一部修正。
インジケータの音量表示を微調整。
インジケータ処理を高速化。
一時停止したときにインジケータが残る場合がある不具合を修正。
[SPCPLAY.EXE]
Windows NT 系で [常に手前に表示] をオンにしても適用されない不具合を修正。
エラー処理を強化。
内部処理を変更。
TAB によるフォーカス移動をサポート。
[ピッチ] に [スピード同期] 機能追加。
ピッチの微調整機能を削除。
[SNESAPU.DLL]
1/8~16 倍のスピード調整機能を 1/16~16 倍に拡張。
[SPCPLAY.EXE]
[スピード] [音量] [左右拡散度] [エコー左右反転度] のメニューを 9 段階に拡張。
[サンプリングレート] メニューを拡張。
インジケータ部分の内部処理を変更。
デバイス変更機能追加。
表示を変更。
テンポを再調整。 INI の SPEEDTUN の初期値を 256 から 157 に変更。
再生処理を変更。
設定により再生直後に強制終了する場合がある不具合を修正。
インジケータ、ランダム再生を行うためのメッセージ処理を削除して軽量化。
バッファの数を 8 から 16 に変更。
インジケータの色をやや暗く修正。
[SNESAPU.DLL]
1/2~16 倍のスピード調整機能を 1/8~16 倍に拡張。
ファイルを開くダイアログの "ファイルの種類" を変更。
[ランダム再生] の時間計算ルーチンを変更。
出力ポート強制変更機能の仕様を変更 (新 P/A Hack)。 サイズを半分に減少。
内部処理の不具合を修正。
簡易ランダム再生機能追加。
リストの上下移動ルーチンを変更。
出力ポート強制変更機能の仕様を変更 (SPC ファイル書き換えで可、詳しくは付属の SECRET.TXT を参照)。
表示を変更。
音声バッファの数を 2 から 8 に変更、インジケータバッファを 1 から 8 に変更。 これにより NT 系で音飛びする不具合を改善。
バッファ変更機能の廃止。 16x8 = 128 [ms] バッファに固定。
インジケータの応答速度を 60 [FPS] に固定。 変更機能の廃止。
[インジケータ] メニューの項目を一部変更。
負荷がかかったときのインジケータの再描画処理ルーチンの不具合を修正。
[ステレオ拡散度] を [左右拡散度] に変更。
[エコーフィードバック] を [エコー左右反転度] に変更。
[左右拡散度] の項目追加。
[エコー左右反転度] の項目追加。
対応していないタグの SPC を再生すると、異常な箇所でフェードアウトがかかる不具合を修正。
出力ポート強制変更機能を追加 (SPC ファイル書き換えで可)。 表示を変更。
ID666 バイナリフォーマットの日付が壊れているときに文字化けする不具合を修正。
対応していないタグの SPC をリストに追加すると、タイトル (ファイル名) が正常に表示されないことがある不具合を修正。
負荷がかかったときのインジケータの描画処理中断ルーチンを変更。
ドキュメントの一部を更新。
本家の SNESAPU.DLL か改良版 SNESAPU.DLL かの判別ができるようにした。 この修正により v2.3.0 で本家の DLL が使えなかった問題を修正。
[SPCPLAY.EXE]
エコー遅延時間の表示調整 (最大値を 127 から 255 [ms] にした)。
無駄な処理を削除。
スピード微調整機能追加 (INI ファイル書き換えで可)。 バージョンアップを行うと、スピードの設定のみ初期化されます。
音が鳴っていないのにマスターレベルが少し増えていることがある不具合を改善。
[設定] メニューを改良。
[チャンネル] と [ステレオ拡散度] を分割。
[処理優先度] メニュー追加。
[エコーフィードバック] メニュー追加。
[音量] メニュー追加。
音量調整。 Version 2.2 以前の音量は [音量] - [2 倍] に設定。
サウンド処理高速化。
MMX プロセッサを使用しているか自動判別するようにした。
[SNESAPU.DLL]
モノラル再生したときに右側の音が入らない不具合を修正。
ステレオ再生したときに ReverseStereo の効果がない不具合を修正。
(本家 SNESAPU.DLL v1.0a をベース)
インジケータの速度向上。
サポートされていないタグの場合はその旨を表示するようにした。
エコー遅延時間の表示調整 (最大値を 2047 から 127 [ms] にした)。
エコーフィードバック強度の表示調整 (最大値を 200 %から 100 %にした)。
SNES 本来のサンプリングレートは 32,000 Hz であることが判明したため、ドキュメント更新。
トラックごとのエコー、モジュレーションに対応。
インジケータの処理を軽量化。
表示の一部を修正。
インジケータのデシベル計算ルーチンを変更。
ID666 以外のフォーマットの検出に対応。
[インジケータ] - [無音トラック非表示] メニュー追加。
[インジケータ] メニューの一部を修正。
最小化中に終了したとき、次回起動時に左上にウィンドウが移動してしまう不具合を修正。
インジケータに 2 種類追加。
インジケータを大幅更新。
INI ファイルのロードに失敗する可能性がある不具合を修正。
内部処理を修正。
一時停止したときに、インジケータが画面に描画されたままになることがある不具合を修正。
[インジケータ] メニュー追加。
内部処理を修正。
二重起動防止プログラムを追加。
古いバージョンの SPC が認識できないことがある不具合を修正。
曲名が 32 バイトの SPC をリストに追加すると、最後にごみが残る不具合を修正。
[バッファ] 削除。 INI ファイル書き換えで変更可。
[ミキサー] 削除。 INI ファイル書き換えで変更可。
1 チャンネルの演奏は不具合があるため、[チャンネル] の設定で、2 チャンネルのみサポート。 INI ファイル書き換えで 1 チャンネル使用可。
[チャンネル] [ビット] [サンプリングレート] の組み合わせによって、大量のノイズが混入する場合がある不具合を修正。
リストの項目を削除した場合、下部分に空白ができる場合がある不具合を修正。
一時停止中に [チャンネル] [ビット] [サンプリングレート] を変更しても一時停止状態のままになるように修正 (ただし少しスキップします)。
[チャンネル] に [セパレータ] (左右完全分割機能) 追加 (復活)。
[サンプリングレート] に [23,900 Hz] 追加。
[スピード] に [7/8 倍] 追加、[4 倍] [8 倍] 削除。
[スピード] 設定を実機に合わせて調整。
[サンプリングレート] の初期値を [44,100 Hz] に変更 (非対応サウンドカード対策)。
[ピッチ] の初期値を [標準] に変更。
[Slow] [Fast] ボタンを追加。
ID666 バイナリフォーマットに対応。
SPC 拡張子 (.sp0~.sp9) に対応。
表示を修正。
メニューの一部の文字を変更。
グラフィックインジケータ機能追加。 INI ファイル書き換えで無効可。
タイトルを SNES SPC700 Player に変更。
ボタンにフォーカスが移ったまま無効になった場合、スペースキーを押すと無効にもかかわらず押されたことになる不具合を修正。
表示を修正。
再生時間が 0 秒に設定されている曲では、フェードアウト処理を無効にするようにした。
[エコー有効] を [エコー無効] に変更。
[フェードアウト] を [設定時間有効] に変更。
[設定時間有効] を変更した際に、再生時間、フェードアウト時間が設定されていない SPC を再生中のときは最初から再生しないようにした。
表示を修正。
メニューを修正。
[常に手前に表示] 機能を追加。
ウィンドウのアイコンを設定。
画面の設定によりウィンドウの中身の位置がずれる不具合を修正。
SPC の情報に "&" が含まれていると正しく表示できない不具合を修正。
再生中に [フェードアウト] の設定を変更すると、デフォルトの設定で演奏される不具合を修正。
[フェードアウト] を [ON] に設定し、かつ再生時間、フェードアウト時間の情報にエラーがあると、強制終了する不具合を修正 (エラーがある場合は強制無限ループ設定)。
連続して操作し続けていると強制終了する不具合を修正 (beta3 から一部修正)。
メモリの状況によりタイトルに予期しない文字が入る不具合を修正 (初期化プログラム追加)。
リストファイルを開いたら、自動的にプレイリストが表示されるようにした。
リストファイルのドラッグアンドドロップに対応。
ファイルが複数ドロップされた場合の対処 (リストを表示しているときは複数ドロップ可能)。
表示を修正。
メニューを修正。
開く、再生、最初から再生、一時停止、停止ボタンを追加。
再生トラックのチェックボックスを追加。
情報表示のテキストボックスをスタティックに変更。
更新時の無駄な処理を削除。
システムメニュー (アイコンをクリック) に [ファイル] と [設定] を追加。
表示の修正。
リスト機能を追加。
正式版公開に向けて、アイコンとバージョン情報を作成。
連続して操作し続けていると強制終了する不具合を改善 (修正ではないです)。
最小化中に終了した場合、次回起動時にウィンドウが表示されない不具合を修正。
トラックごとのミュート機能を追加。
設定 ([フェードアウト] 以外) を変更しても、曲が最初から始まらないようにした。
[左右完全分割] 機能削除。
[最初から再生] 機能追加。
表示の修正。
再生中にファイルが開かれた場合の処理を若干変更。
SPCPLAY.INI が、最後に SPC を開いた場所に作成される不具合を修正。
試作。