Copyright (C) 2003-2011 デグレファクトリー
この資料は SNES SPC700 Player v2.0.0 以降に準拠しています。
[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]
・ マルチモニタ環境での動作を改善。
・ [プレイリスト] - [演奏開始] の項目に [最初から] [最後から] を追加。
・ タスクバーのボタンを右クリックした際のメニューに、ウィンドウと同じメニュー項目を追加。
・ Ctrl キーを押したままの状態でプレイリスト上に SPC ファイル、またはフォルダをドロップした場合、プレイリストをクリアしてからファイルを登録するようにした。
[SNESAPU.DLL]
・ 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 API を追加 (他プレイヤー用 SNESAPU.DLL のみ)。
[SPCPLAY.EXE]
・ UPX 3.04 による圧縮。
・ [ミキサー情報] の SrcAddr の終了アドレスが誤っていた不具合を修正 (開始アドレスは正常)。
・ 演奏開始時にサウンド インジケータを 2 回描画していた不具合を修正。
・ 起動中に画面デザインが変更された場合、メニューバーが新しい色で再描画されない不具合を修正。
・ タイムゲージの表示・ID666 の表示・シーク動作の調整。
・ アプリケーション起動時に SPCPLAY.EXE, SNESAPU.DLL の簡易破損チェックを行うようにした。
・ WAVE ファイル出力機能 (おまけ) で、最初の無音時間を変更 (WAVBLANK 参照) できるようにした。
・ プレイリストからドラッグ&ドロップ操作で他のアプリケーション (ID666 エディタ、バイナリ エディタ等) にファイルを受け渡せるようにした。
・ ハイコントラスト モード (背景色:黒) で起動時のグラフィック インジケータの色を調整。
[SNESAPU.DLL]
・ UPX 3.04 による圧縮。
・ v2.12.2 の修正で、タイマー レジスタの更新が正しく行われない場合がある不具合を修正。
・ DSP KON 処理の調整。
[SPCPLAY.EXE]
・ DSP レジスタや 64KB APU RAM など SPC の演奏で使用するメモリの内容を読み取り・書き込みできる外部拡張ツール (SPCCMD.EXE) を標準で同梱。
・ 一度にたくさんのファイルをドロップしようとするとオーバーフローが発生する可能性のある不具合を修正。
・ WAVE ファイル出力機能 (おまけ) で、最初に 0.5 秒、最後に 1 秒間の無音を入れるようにした。
・ [設定] - [チャンネル マスク] を [チャンネル ミュート] に変更。 フラグのオン・オフが従来と反対になります。
・ [設定] - [チャンネル ノイズ] を追加。
[SNESAPU.DLL]
・ Script700 で w コマンド実行時、待機時間が 32 の倍数でなかった場合の精度を向上。
・ 各チャンネルの強制ノイズ機能を追加。
[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)。
[SNESAPU.DLL]
・ 開発環境のアップデートによるリビルド。
・ 内部処理を調整。
前バージョンからアップデート後、 [設定] - [フィードバック反転度] の設定が初期値 (0 %) に戻ります。 設定を変更していた場合は再設定をお願いいたします。
[SPCPLAY.EXE]
・ 内部動作の調整。 Wine (Linux) 上での動作を改善。
・ [拡張設定] - [サラウンド無効] オプションを追加。
[SNESAPU.DLL]
・ 特定の曲で音色切替時にノイズが入る不具合を修正。
・ サラウンド無効化 (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 が同時に指定された場合、音が鳴らないのが正常動作のようなので修正を元に戻した。
・ ノイズ無効 (opt = 0x400)、エコー作業メモリ書換 (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 パーサー・エンジン、発音周波数制御部分の一部を書き直し。
・ 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 (スタック ポインタ) を追加。
・ [拡張設定] に [エンベロープ無効] を追加。
・ インジケータ表示部のロジックを調整。
・ 細かな実装修正。
[SNESAPU.DLL]
・ オペコード関係の処理をリファクタリング (SNESAPU v3.0 系に近いものにした)。
・ BASS BOOST のロジックを調整。
・ bxx コマンドで w[WORK] をサポート (移動位置の動的変更が可能に)。
・ r コマンドを追加 (最後に bxx コマンドを実行した直後の場所へ戻る)。
・ q コマンドを追加 (プログラム エリア内の途中でも実行を止める)。
・ エンベロープ無効オプション (opt = 0x200) を追加。
・ 細かな実装修正。
前バージョンからアップデート後、 SPCPLAY.INI の SEEKMAX が初期値に自動修正されます (ソフトウェアの [設定] メニューから変更できる設定項目には影響ありません。)
[SPCPLAY.EXE]
・ タイム ゲージ対応 ([演奏時間] を [有効] に設定時有効)。
・ サウンド インジケータのリフレッシュを改善。
・ サウンド インジケータの数値表示処理の処理速度を改善。
・ シーク関係の初期値設定の不具合を修正。
・ プレイリストの登録上限値を 1024 から 5000 に変更。
・ 演奏時間が 10 分を超えた場合 [REW] ボタンを無効にするようにした (応答がしばらく返ってこなくなる現象を防止)。
・ シーク時、まれに次の曲が演奏されることがある不具合を修正。
・ ID666 の認識ロジックを修正 (認識率向上?)。
・ 細かな実装修正。
[SNESAPU.DLL]
・ マルチバイトのスタック処理の不具合を修正 (あすかさん Thanks)。
・ Script700 のパーサー処理の一部を改善。
前バージョンからアップデート後、 SPCPLAY.INI の BUFNUM, BUFTIME, SEEKFAST, SEEKTIME, VOLSPEED が初期値に自動修正されます (ソフトウェアの [設定] メニューから変更できる設定項目には影響ありません。)
[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 のソースの一部を現バージョンに移植。
・ --- 以下、本家 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 の一部ソースを組み込み)
・ 最小化するとオブジェクトにフォーカスが戻らない不具合を修正。
・ [処理優先度] - [最高] を選択したあとに再び選択したときは警告を抑制するように修正。
・ 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 を開いた場所に作成される不具合を修正。
・ 試作。