countersince January 6, 2001X68000 LIBRARYEnglish
更新日: 2011 年 11 月 15 日
X68000 LIBRARY > ソフトウェアライブラリ > サウンド > ステレオ PCM 再生 > S44PLAY.X / FMPPLAY.X > S44PLAY.X / FMPPLAY.X の説明

S44PLAY.X / FMPPLAY.X の説明

説明

S44PLAY.X / FMPPLAY.X の添付ドキュメントです。

S44PLAY.DOC
────────────────────────────────────
                  Stereo PCM player with built-in OPM
                         S44PLAY.X version 1.03
                         FMPPLAY.X version 1.03
                               2005/12/15
                                M.Kamada
────────────────────────────────────

━< 概要 >━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

 S44PLAY.X,FMPPLAY.X は、X680x0 の内蔵音源だけでステレオの PCM データを
ステレオで再生するプログラムです。ADPCM 音源は一切使っておらず、FM 音源
だけで 2 チャンネル(ステレオ)の PCM 音源をエミュレートしています。


● PCM データの供給方法

 S44PLAY.X が再生できる PCM データの供給方法は、大きく分けて 3 種類あり
ます。

   (1) PCM データが入っているファイル(.s44/.pcm/.aif/.wav/.fmp など)
   (2) CD の音声トラック(CDDA)
   (3) PlayStation の CDXA 形式の音声データ(.STR/.XA/.X16/.X32 など)

(1) PCM データが入っているファイル
 拡張子が .s44 などの、PCM データが入っているファイルを再生できます。ス
テレオのデータはステレオまたはモノラルで再生できます。

(2) CD の音声トラック(CDDA)
 CD-ROM ドライブがあれば、音楽 CD を再生することができます。X680x0 が
CD プレイヤーになるわけです。

(3) PlayStation の CDXA 形式の音声データ(.STR/.XA/.X16/.X32 など)
 PlayStation のソフトの CD-ROM に含まれている CDXA 方式の圧縮音声データ
を再生することができます。

 FMPPLAY.X は拡張子が .fmp のファイルのみを再生できます。他の種類のデー
タを一切扱わないようにすることで、プログラムを小さくしてあります。


●必要なマシンパワーの目安

 X68030 以上推奨ですが、X68000 でもまったく使えないというわけではありま
せん。10MHz の X68000 で PCM データをディスクから読み込みながら再生する
には、データをあらかじめ専用フォーマット(FMP ファイル)に変換しておくこ
とと、サンプリング周波数をモノラルで 25kHz 前後、ステレオでは 12.5kHz 前
後に抑える必要があります。

 X68030 以上の機種では、CD の音声トラックを読み込みながら再生するという
芸当が可能になります。さらに 040turbo や 060turbo を装着していれば、サン
プリング周波数の変換方法を高品質なものにできるので、音質がよくなります。

 CDXA の音声データをリアルタイムで再生するには、060turbo のパワーが必要
です。他の機種で CDXA の音声データを再生するには、データをあらかじめ FMP
ファイルに変換しておく必要があります。

 リアルタイム再生でフィルタを使用するには、040turbo または 060turbo の
パワーが必要です。


●音質について

 内蔵音源で再生していることを考えればこれでもかなり良い音が出ていると言
えると思いますが、CD プレイヤーの音質に慣れている我々が音楽を観賞できる
音質とまでは言えないかも知れません(そもそも CD を再生するのにわざわざ
X680x0 を使う必要はありませんが)。しかし、“音のデータを確認する”程度
の目的であれば、十分役に立つのではないかと思います。

 FM 音源レジスタの応答が遅いために出力側のサンプリング周波数を十分に上
げられないことと、FM 音源の 1 チャンネルで出せる変位の幅が狭いので、特に
変位の大きい高周波成分を含んでいる音は再現性が悪くなります。そのため、例
えばボーカルが入っている曲では、高音が伸びが悪くなったり、摩擦音(特にサ
行の音)がノイジーになることがあります。

 FM 音源レジスタの応答が遅いので、FM 音源を使って PCM 音源をエミュレー
トする場合に再生できるサンプリング周波数は、最大でもモノラルで 50kHz 前
後、ステレオだと 25kHz 前後です。

 S44PLAY.X はサンプリング周波数の変換ルーチンを内蔵しており、与えられた
PCM データを FM 音源で再生できるサンプリング周波数に変換しながら再生する
ことになっています。また、マシンパワーに応じてサンプリング周波数の変換ア
ルゴリズムを選べるようになっています。


●音量について

 S44PLAY.X は、デフォルトで音量が小さめに設定されています。これは FM 音
源の 1 チャンネルで出せる変位の幅が狭いためです。他の各種音源ドライバを
使用して音楽を再生する場合と比べて、ボリュームのツマミを音量を大きくする
ほう(ツマミの印が 10 時〜 1 時くらい…ヘッドフォンのインピーダンスにも
よります)に回さないとよく聞こえないかも知れません。-v<n> スイッチを指定
すればある程度は音量を大きくすることができますが、十分大きくなる前に音が
割れてしまうので、-v<n> スイッチで音量を大きくしたのでは綺麗に聞こえない
場合が多いと思います。



━< 動作環境 >━━━━━━━━━━━━━━━━━━━━━━━━━━━━

 S44PLAY.X,FMPPLAY.X は以下の環境で動作します。

        X680x0 全機種(X68030 以上推奨)
        Human68k v3.0x
        FLOATn.X
        (大きなデータを変換する場合はハードディスクなどのストレージ)
        (CD から読み込む場合は CD-ROM ドライブ)

 以下のような常駐ソフトウェアはなるべく外しておいて下さい。

        各種音源ドライバ類
        Timer-A または Timer-D 割り込みを使用する常駐ソフトウェア
        Timer-C 割り込みに寄生する常駐ソフトウェア
        水平帰線または垂直帰線割り込みを使用する常駐ソフトウェア
        特殊なマウスドライバ
        その他、常時割り込みや DMA 転送を使用する常駐ソフトウェア類


 S44PLAY.X,FMPPLAY.X は Timer-C カウンタと Timer-D 割り込みを使用します
(拡張操作モードの場合は Timer-A 割り込みも使用します)。なお、
CONFIG.SYS に PROCESS= の指定があると Human が Timer-D 割り込みを使用し
ますが、この場合は S44PLAY.X,FMPPLAY.X は Timer-D 割り込みを Human から
奪って使います。



━< 使い方 >━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

 S44PLAY.X はコマンドラインで指定された PCM データをその場で再生または
専用フォーマットに変換します。各種の音源ドライバのように常駐することはあ
りません。

        > s44play [スイッチ] {ファイル名|トラック番号} …

 コマンドラインの前に環境変数 S44PLAY の内容が解釈されます。

 FMPPLAY.X は拡張子が .fmp のファイルの再生専用です。データ変換モードは
ありません。

        > fmpplay [スイッチ] {ファイル名} …

 コマンドラインの前に環境変数 FMPPLAY の内容が解釈されます。


●チャンネル数の指定(S44PLAY.X のみ)

 モノラル再生するかステレオ再生するかを選べるようになっています。

        -mono
                 モノラル再生モードにします。
                 モノラル再生モードでは、ステレオのデータもモノラルに変
                換して再生します。
                 ステレオ→モノラル変換は、同じタイミングの left のデー
                タと right のデータを足して 2 で割ることで行います。

        -left
                 モノラル再生モードにします。
                 ステレオのデータは、左側の音を再生します。

        -right
                 モノラル再生モードにします。
                 ステレオのデータは、右側の音を再生します。

        -diff
                 モノラル再生モードにします。
                 ステレオのデータは、同じタイミングの left のデータから
                right のデータを引くことでモノラルに変換して再生します。
                 ステレオのデータで、中央で鳴っている音だけを消す効果が
                あります。データによっては綺麗に聞こえない場合があります。

        -stereo
                 ステレオ再生モードにします。
                 デフォルトでステレオ再生モードになっています。
                 モノラルのデータは常にモノラルで再生されます。

 -left と -right と -diff は、CDXA/WAVE(Unsigned-8bit) のデータに対して
は -mono と同じ結果になります。

 なお、FMP フォーマットのデータはモノラル/ステレオを変換できません。


●ボリュームの指定(S44PLAY.X のみ)

 再生ボリュームを指定できます。

        -v<n>
                 ボリュームを n で指定します。n の範囲は 1〜1024 で、数
                値が大きいほどボリュームが大きくなります。デフォルトは
                n=16 です。素材の音量が大きいときは n を小さくしないと音
                が割れてしまいます。また、素材の音量が小さくても n をあ
                まり大きくすると音が割れてしまうので、そのような場合はヘ
                ッドフォン端子の音量のツマミを回して下さい。

 FMP フォーマットのデータはボリュームを変更できません。FMP ファイルに変
換するときに -v<n> を指定してボリュームを決定しておく必要があります。


●サンプリング周波数の変換方式の指定(S44PLAY.X のみ)

 S44PLAY.X では、PCM データの再生時のサンプリング間隔をμ秒単位でしか制
御することができません。そのため、通常は、素材のサンプリング間隔と異なる
間隔で再生するために、PCM→OPM 変換の際にサンプリング周波数も変換します。
そのアルゴリズムをスイッチで選択できるようになっています。

        -lq
                 Low Quality モードにします。
                 Low Quality モードでは、サンプリング周波数の変換を間引
                き・重複で行います。サンプリング周波数が下がる(サンプリ
                ング間隔が長くなる)ときは入力データを間引き、サンプリン
                グ周波数が上がる(サンプリング間隔が短くなる)ときは入力
                データを重複させて長さを合わせます。
                 68000 のときデフォルトです。

        -hq
                 High Quality モードにします。
                 High Quality モードでは、サンプリング周波数の変換を直
                線補間で行います。入力データを直線で補間した上で、出力側
                のサンプリング間隔で再サンプリングします。
                 68030 のときデフォルトです。

        -sq
                 Super Quality モードにします。
                 Super Quality モードでは、サンプリング周波数の変換を面
                積補間で行います。入力データを直線で補間した上で、出力側
                のサンプリング間隔で刻み、各断片の平均の変位(断片の面積
                に比例する)を出力データとします。
                 68040/68060 のときデフォルトです。

 サンプリング周波数の変換アルゴリズムが複雑になるほど、演算に時間がかか
ります。高品位な変換アルゴリズムを使用する場合、リアルタイムに変換できな
くても、あらかじめ FMP ファイルに変換しておけば再生できる場合があります。


●入力側(データ)のサンプリング周波数の強制指定(S44PLAY.X のみ)

        -freq[=]<n>
                 入力データのサンプリング周波数を n Hz とみなします
                (n=1000〜100000)。

 FMP フォーマットのデータに対しては、サンプリング周波数の強制指定は無効
です。


●出力側(再生)のサンプリング周波数の指定(S44PLAY.X のみ)

        -int[=]<n>
                 出力側のサンプリング周波数を割り込み間隔(μs 単位)で
                指定します(n=16〜80)。

 割り込み間隔と出力側のサンプリング周波数の対応は、以下の通りです。

            割り込み  出力側のサンプリ           備考
            間隔(μs)  ング周波数(Hz)
                      モノラル/ステレオ
                16      62500   31250
                17      58824   29412
                18      55556   27778
                19      52632   26316   (68060のときデフォルト)
                20      50000   25000
                21      47619   23809
                22      45455   22727   (68030のときデフォルト)
                23      43478   21739   (68040のときデフォルト)
                24      41667   20833
                25      40000   20000
                26      38462   19231
                27      37037   18518
                28      35714   17857
                29      34483   17241
                30      33333   16666
                31      32258   16129
                32      31250   15625
                33      30303   15151
                34      29412   14706
                35      28571   14285
                36      27778   13889
                37      27027   13513
                38      26316   13158
                39      25641   12820
                40      25000   12500   (68000のときデフォルト)
                41      24390   12195
                42      23810   11905
                43      23256   11628
                44      22727   11363
                45      22222   11111
                46      21739   10869
                47      21277   10638
                48      20833   10416
                49      20408   10204
                50      20000   10000
                51      19608    9804
                52      19231    9615
                53      18868    9434
                54      18519    9259
                55      18182    9091
                56      17857    8928
                57      17544    8772
                58      17241    8620
                59      16949    8474
                60      16667    8333
                61      16393    8196
                62      16129    8064
                63      15873    7936
                64      15625    7812
                65      15385    7692
                66      15152    7576
                67      14925    7462
                68      14706    7353
                69      14493    7246
                70      14286    7143
                71      14085    7042
                72      13889    6944
                73      13699    6849
                74      13514    6757
                75      13333    6666
                76      13158    6579
                77      12987    6493
                78      12821    6410
                79      12658    6329
                80      12500    6250

 出力側のサンプリング周波数が高い場合、リアルタイムには変換できなくても、
あらかじめ FMP ファイルに変換しておけば再生できる場合があります。

 FMP フォーマットのデータはサンプリング周波数を変更できません。FMP ファ
イルを再生する場合は -int の指定は無効です。PCM データを FMP ファイルに
変換するときは -int[=]<n> を指定して再生時のサンプリング周波数を決めてお
く必要があります。


●フェードイン・フェードアウトの指定(S44PLAY.X,FMPPLAY.X)

 S44PLAY.X,FMPPLAY.X では PCM データの再生に FM 音源を使用しており、再
生中はキーオンしたままなので、FM 音源のエンベロープに関するレジスタを操
作することで簡単にフェードイン、フェードアウトができます。そこで、フェー
ドイン、フェードアウトの速度を指定するスイッチを用意しました。

        -fi[[=]<n>]
                 -fi はフェードインの速度の指定です。n の範囲は 1〜31
                で、n=1 のとき最も遅くフェードインします。n=31 で普通に
                再生を開始します。デフォルトでは、再生開始時のノイズを軽
                減するために、n=12 になっています。-fi だけ指定して n を
                省略すると、n=3 が指定されたものとみなされます。

        -fo[=]<n>
                 -fo はフェードアウトの速度の指定です。n の範囲は 1〜31
                で、n=1 のとき最も遅くフェードアウトします。デフォルトで
                は n=8 になっており、[F] キー(拡張操作モードのときは対
                応しているボタン)を押すとフェードアウトが開始されます。
                フェードアウトによって完全に無音になると、自動的に再生が
                終了します。


●フィルタの指定(S44PLAY.X のみ)

 現在、S44PLAY.X には、低音部を強調するバスブースター(のようなもの)と、
高周波成分を減らすハイカットフィルタ(のようなもの)が仮実装されています。
いずれのフィルタも簡単なアルゴリズムを使用しており、仮実装なので最適化や
十分な調整は行われていません。

        -bass
                 バスブースターを使用します。
                 バスブースターは、サンプリング周波数の変換前に、各サン
                プリング位置の PCM データに、その前後合わせて 95 サンプ
                ルの PCM データの平均の 1.5 倍を加えます。

        -hicut
                 ハイカットフィルタを使用します。
                 ハイカットフィルタは、サンプリング周波数の変換前に、各
                サンプリング位置の PCM データを、その前後合わせて 4 サン
                プルの PCM データの平均で置き換えます。

 -bass と -hicut は同時に掛けられません。

 -bass と -hicut は ADPCM/FMP/CDXA/WAVE(Unsigned-8bit) のデータには無効
です。

 低音部の大きいデータにバスブースターを使用すると音が割れてしまうので注
意して下さい。

 ハイカットフィルタを使用すると、高周波成分を多く含む摩擦音(特にサ行の
音)のノイズが軽減されるので、ボーカルの入っている曲やドラマ CD などが聴
きやすくなる場合があります。それ以外のデータでは、ハイカットフィルタの効
果はほとんどありません。


●データ変換モードの指定(S44PLAY.X のみ)

 サンプリング周波数の変換方法や出力側のサンプリング周波数によっては通常
の PCM データをリアルタイムで再生することができませんが、あらかじめ PCM
データを FMP ファイルに変換しておくことで、高音質再生が可能になる場合が
あります。

        -c <filename>[.fmp]
                 データ変換モード(後述)にします。


●その他(S44PLAY.X,FMPPLAY.X)

        -loop
                 ループモードにします。
                 ループモードでは、パラメータで指定されたファイルや CD
                のトラックを繰り返し再生します。

        -b<n>
                 PCM バッファのサイズを約 n/6 MB にします。デフォルトは
                n=14(2411KB)です。バッファのサイズが小さすぎると滑らか
                に再生できないことがあります。また、最初にバッファを充填
                してから再生を開始するので、バッファのサイズを大きくしす
                ぎると再生開始までに時間がかかります。
                 -onmem を指定した場合、-b<n> を指定しなければ、バッフ
                ァのサイズは確保できる最大のサイズになります。
                 なお、PCM データを 1 度に読み込むサイズは、通常はバッ
                ファサイズの 1/4 です。
                 CDXA の音声データを再生する場合は、バッファを大きめに
                確保するようにして下さい。

        -himem
                 ハイメモリが使えればバッファをハイメモリに確保します。
                デフォルトで有効なので指定する必要はありません。

        -onmem
                 オンメモリモードにします。
                 通常、PCMデータが大きいときはディスクからPCMデータを読
                み込みながら再生しますが、オンメモリモードではデータの読
                み込みと再生を別々に行います。
                 -b<n> を指定せずに -onmem を指定すると、PCM バッファの
                サイズが確保できる最大のサイズになります。バッファが大き
                いとバッファの充填に時間がかかるので、再生が始まるまでに
                時間がかかる場合があります。

        -tdpause
                 Timer-D 割り込みを Human から奪って使います。Timer-D
                割り込みが使用中でも、そのベクタが Human の内部を指して
                いる場合は強制的に奪って使います。デフォルトで有効なので
                指定する必要はありません。

        -silent
                 サイレントモードにします。
                 サイレントモードでは、エラー以外のメッセージが一切表示
                されません。

        -extra
                 拡張操作モード(後述)にします。

        -?
        -h
        -help
                 使用法を表示します。



━< ファイルを再生する >━━━━━━━━━━━━━━━━━━━━━━━

 S44PLAY.X は幾つかの種類の PCM ファイルを再生することができます。

        > s44play [スイッチ] ファイル名[/再生範囲] …

 FMPPLAY.X は拡張子が .fmp のファイルに限って再生することができます。

        > fmpplay [スイッチ] ファイル名[/再生範囲] …

 指定されたファイルの指定された範囲を再生します。/再生範囲 を省略すると、
ファイルの先頭から末尾まで再生します。

 不正なオフセットを指定しないように注意して下さい。例えば、拡張子が
.s44 のファイルならば、4 の倍数を指定しないと正しく再生できません。また、
ステレオの FMP ファイルを再生するときは偶数を指定する必要があります。

 ファイル名の代わりに "-" を指定すると、標準入力から入力したデータを再
生します。この場合はフォーマットの強制指定(後述)が必要です。

 ファイル名にはワイルドカードが使えます。

 ファイル名と /再生範囲 は詰めて指定して下さい。


●再生範囲の指定(S44PLAY.X,FMPPLAY.X)

        /-:N
                 ファイルの先頭からオフセット N まで再生します。

        /:N-
                 オフセット N からファイルの末尾まで再生します。

        /:N1-:N2
                 オフセット N1 からオフセット N2 まで再生します。


●拡張子による自動判別(S44PLAY.X のみ)

 次のフォーマットのファイルは拡張子で自動判別されます。

        拡張子  チャンネル数   ビット数と  エンディアン サンプリング
                               符号の有無                周波数(Hz)
         .m16     モノラル    Signed-16bit   Big-endian    16000
         .m19     モノラル    Signed-16bit   Big-endian    18900
         .m22     モノラル    Signed-16bit   Big-endian    22050
         .m24     モノラル    Signed-16bit   Big-endian    24000
         .m32     モノラル    Signed-16bit   Big-endian    32000
         .m38     モノラル    Signed-16bit   Big-endian    37800
         .m44     モノラル    Signed-16bit   Big-endian    44100
         .m48     モノラル    Signed-16bit   Big-endian    48000
         .s16     ステレオ    Signed-16bit   Big-endian    16000
         .s19     ステレオ    Signed-16bit   Big-endian    18900
         .s22     ステレオ    Signed-16bit   Big-endian    22050
         .s24     ステレオ    Signed-16bit   Big-endian    24000
         .s32     ステレオ    Signed-16bit   Big-endian    32000
         .s38     ステレオ    Signed-16bit   Big-endian    37800
         .s44     ステレオ    Signed-16bit   Big-endian    44100
         .s48     ステレオ    Signed-16bit   Big-endian    48000
         .pcm     モノラル       4bit-ADPCM(MSM6258V)      15625
         .p16     モノラル    Signed-16bit   Big-endian    15625


●ヘッダによる自動判別(S44PLAY.X のみ)

 次のフォーマットのファイルは、ヘッダ(ファイルの先頭に記録されている情
報)で自動判別されます。

   フォーマット チャンネル数   ビット数と  エンディアン サンプリング
                               符号の有無                周波数(Hz)
         WAVE     モノラル    Signed-16bit  Little-endian   任意
         WAVE     ステレオ    Signed-16bit  Little-endian   任意
         WAVE     モノラル    Unsigned-8bit      -          任意
         WAVE     ステレオ    Unsigned-8bit      -          任意
         AIFF     モノラル    Signed-16bit   Big-endian     任意
         AIFF     ステレオ    Signed-16bit   Big-endian     任意
         FMP      モノラル          -            -            -
         FMP      ステレオ          -            -            -


●フォーマットの強制指定(S44PLAY.X のみ)

 拡張子が .s44 のファイルのようなヘッダのないファイルは、そのフォーマッ
トをスイッチで強制的に指定することができます。特に、標準入力からヘッダの
ないファイルを入力する場合は、拡張子が得られないので、フォーマットの指定
が必要です。

       スイッチ チャンネル数   ビット数と  エンディアン  サンプリング
                               符号の有無                周波数(Hz)
         -m16     モノラル    Signed-16bit  Big-endian     16000
         -m19     モノラル    Signed-16bit  Big-endian     18900
         -m22     モノラル    Signed-16bit  Big-endian     22050
         -m24     モノラル    Signed-16bit  Big-endian     24000
         -m32     モノラル    Signed-16bit  Big-endian     32000
         -m38     モノラル    Signed-16bit  Big-endian     37800
         -m44     モノラル    Signed-16bit  Big-endian     44100
         -m48     モノラル    Signed-16bit  Big-endian     48000
         -s16     ステレオ    Signed-16bit  Big-endian     16000
         -s19     ステレオ    Signed-16bit  Big-endian     18900
         -s22     ステレオ    Signed-16bit  Big-endian     22050
         -s24     ステレオ    Signed-16bit  Big-endian     24000
         -s32     ステレオ    Signed-16bit  Big-endian     32000
         -s38     ステレオ    Signed-16bit  Big-endian     37800
         -s44     ステレオ    Signed-16bit  Big-endian     44100
         -s48     ステレオ    Signed-16bit  Big-endian     48000
         -pcm     モノラル       4bit-ADPCM(MSM6258V)      15625
         -p16     モノラル    Signed-16bit  Big-endian     15625

         -xx    フォーマットの強制指定を解除する

 フォーマットの強制指定はそれ以降に指定されたファイルに対して有効なので、
ファイル名の手前に記述する必要があります。


●再生環境の制限(S44PLAY.X,FMPPLAY.X)

 S44PLAY.X は、ゲームのオープニングなどでバッチ処理で使用されることが考
えられます。しかも、動作環境(ハードウェア)によって再生できる PCM のサ
ンプリング周波数が異なるので、機種毎に FMP ファイルを用意したい場合があ
ります。機種の厳密な分類は他のプログラムに任せるとして、S44PLAY.X 自身も
簡単な機種判別再生機能(再生環境を制限する)を持っています。

        -mac<n,…>
                 本体を制限します。n=0 のときは本体が X68000 のときだけ
                再生、n=3 のときは本体が X68030 のときだけ再生します。

        -mpu<n,…>
                 MPU を制限します。

 再生環境の制限はそれ以降に指定されたファイルに対して有効なので、ファイ
ル名の手前に記述する必要があります。また、再生環境の制限はファイル名以外
の指定(CD の音声トラック番号の指定や出力側のサンプリング周波数の指定)
には無効です。



━< CD の音声トラックを再生する >━━━━━━━━━━━━━━━━━━

 S44PLAY.X は CD-ROM ドライブを使って CD の音声トラックを内蔵音源で再生
することができます。ただし、CD-ROM ドライブの種類やマシンスペックによっ
ては正常に再生できない場合があります。

        > s44play [スイッチ] トラック番号 …

 FMPPLAY.X には CD の音声トラックを再生する機能はありません。


●トラック番号の指定(S44PLAY.X のみ)

        N,…
                 トラック N,… を再生します。

        -N
                 最初のトラックからトラック N まで再生します。

        N-
                 トラック N から最後のトラックまで再生します。

        N1-N2
                 トラック N1 からトラック N2 まで再生します。

        all
                 すべてのトラックを再生します。

 例:
        > s44play 11
                 CD の音声トラック 11 を再生します。


● CD-ROM ドライブの指定(S44PLAY.X のみ)

        -id[=]<n>[,<m>]
                 SCSI-ID=<n>[,LUN=<m>] の CD-ROM ドライブを使います。
                 -id の指定がないときは、環境変数 CDROM を参照します。
                 いずれの指定もなければエラーです。

        -sony
                 SONY 系の CDDA 転送コマンドを使います。

        -toshiba
                 TOSHIBA 系の CDDA 転送コマンドを使います。

 -sony または -toshiba の指定がないときは自動判別を試みます。自動判別で
きなかった場合はデフォルトで SONY 系の CDDA 転送コマンドが使用されます。
エラーが出て再生できないときは、-sony または -toshiba を指定してみて下さ
い。


●転送速度(S44PLAY.X のみ)

        -normal
                 CDDA を標準速で読み出します。CDU-561/CDU-55S で有効で
                す。
                 リアルタイム再生のときは標準速では転送が間に合わないの
                で指定しないで下さい。

        -fast
                 CDDA を倍速で読み出します。CDU-561/CDU-55S で有効です。

        -ultra
                 CDDA を最高速で読み出します。CDU-561/CDU-55S のときデ
                フォルトです。

 CDU-561/CDU-55S 以外ではデフォルトで転送速度の設定を行いませんが、
-normal、-fast、-ultra のいずれかが指定された場合は CDU-561/CDU-55S と同
じコマンドで転送速度の設定を試みます。


●その他(S44PLAY.X のみ)

        -l
                 CD のトラックの一覧を表示します。CDC.x が常駐していて
                セットされている CD が CDCLIST にあるときは、CD 名と曲名
                も表示されます。

        -force
                 メディア不良などによる回避できないエラーが発生しても再
                生を続けます。リトライを繰り返しても特定のセクタが読み出
                せないとき、通常は再生を中止しますが、-force を指定する
                とそのセクタの再生だけ諦めて直後のセクタに進みます。音は
                途切れますが、最後まで再生することができます。



━< CDXA の圧縮音声データを再生する >━━━━━━━━━━━━━━━━

 S44PLAY.X は SONY の PlayStation のゲームソフトの音声データのなかで
CDXA 方式で記録されたもの(.STR/.XA/.X16/.X32 など)を再生することができ
ます。

        ファイル名[/トラック番号]

                 CDXA ファイルの指定された番号のトラックを再生します。
                /トラック番号 を省略した場合は、すべてのトラックを再生し
                ます。

 CDXA 方式の圧縮音声データには、多くの場合は .STR、.XA、.X16、.X32 など
の拡張子がついています。.STR のファイルには動画(ムービー)が含まれてい
るものもありますが、S44PLAY.X は音声トラックだけを再生します。

 CDXA の音声データを再生する場合は、バッファを大きめに確保するようにし
て下さい。

 ファイル名にはワイルドカードが使えます。

 例:
        > s44play foo.str
                 foo.str の音声トラックを再生します。

 FMPPLAY.X には CDXA 方式の圧縮音声データを再生する機能はありません。


●トラック番号の指定(S44PLAY.X のみ)

        N
                 トラック N を再生します。

        -N
                 最初のトラックからトラック N まで再生します。

        N-
                 トラック N から最後のトラックまで再生します。

        N1-N2
                 トラック N1 からトラック N2 まで再生します。

 トラック番号は 0〜31 です。PlayStation のムービーデータの音声トラック
は、トラック 1 に割り当てられている場合が多いようです。

 例:
        > s44play *.xa/10-
                 *.xa に該当するファイルのトラック 10 以降を再生します。



━< CD-ROM ドライブの種類 >━━━━━━━━━━━━━━━━━━━━━

 CDDA の転送コマンドには主に SONY 系と TOSHIBA 系と呼ばれる 2 種類があ
ります。現在、S44PLAY.X がどちらの転送コマンドを使えばよいかを自動判別で
きる CD-ROM ドライブは、Inquiry で以下のような識別子を返すものです('?'
の部分は不定)。

        SONY 系の CDDA 転送コマンドを使用するもの
                [SONY ???????????????????]
                [MATSHITAPD-1 LF?????????]
                [NAKAMICHMJ-5.16S????????]
                [NRC     MBR-7???????????]
                [PIONEER CD-ROM DR-124X??]
                [PIONEER CD-ROM DR-U06S??]
                [TEAC    CD-ROM CD-516S??]

        TOSHIBA 系の CDDA 転送コマンドを使用するもの
                [TOSHIBA ????????????????]

 上記以外の Inquiry を返す CD-ROM ドライブの場合は、デフォルトで SONY
系の CDDA 転送コマンドを使用します。お手持ちのドライブで -sony または
-toshiba を指定しないと再生できなかった場合は、-sony/-toshiba のどちらを
指定したかと Inquiry の表示を併せて教えて下さい。S44PLAY.X の次のバージ
ョンから自動判別できるようにします。また、-sony/-toshiba のどちらを指定
しても再生できないドライブがあれば、その Inquiry も教えて下さい。



━< 再生中のキー操作 >━━━━━━━━━━━━━━━━━━━━━━━━

 拡張操作モードでない場合、再生中は以下のキー操作が有効です(拡張操作モ
ードのときのキー操作については後述します)。

        [ESC]
        [Q]
                 再生を終了します。[ESC]/[Q] はきりのよいところで終了す
                るようになっているので、SCSI 機器のアクセス中などに止ま
                ることはありません。そのため、プログラムが終了するまでに
                やや時間がかかることがあります。

        [CTRL+C]
        [BREAK]
        [INTERRUPT]
                 再生を強制終了します。SCSI アクセスがどのような状態に
                なっていても再生を中止することができますが、その後の操作
                に支障をきたす可能性があります。なお、SCSI アクセス中に
                強制終了してしまったときは、SCSI バスリセットを行うかど
                うか問い合わせます。
                 SCSI バスリセットを行ったときは、CD-ROM ドライブを含め
                て接続されているすべての SCSI 機器のアクセスランプがすべ
                て消えるまで何も操作しないようにして下さい(環境によりま
                すが、数秒〜数十秒かかります)。

        POWER OFF
                 POWER OFF(本体前面の POWER スイッチを OFF にする)で
                も再生を止められます。POWER OFF で再生を終了した場合は、
                その後 20 秒待ってから電源が切れるようになっています。20
                秒以内に POWER スイッチを ON に戻せば電源は切れません。

        [TAB]
                 現在再生中のデータをスキップして、次のデータの再生を開
                始します。

        [F]
                 フェードアウトを開始します。-fo[=]<n> でフェードアウト
                の速さを指定できます。フェードアウトによって完全に無音に
                なると、自動的に再生が終了します。

 なお、キー入力割り込みの発生によって再生に必要な割り込みを取りこぼすこ
とがないように、S44PLAY.X は再生中はキー入力割り込みもベクタごと乗っ取っ
ています。キー入力の判定が IOCS コールを通っていないので、再生中はキー入
力まわりの常駐ソフトウェアは無効になります。SCTKEY.x などによる遠隔操作
もできません。

 データ変換モードでは通常のキー操作が使えます。データ変換モードを
[CTRL+C] などでアボートすると、未完成の出力ファイルは自動的に消去されま
す。



━< 拡張操作モード >━━━━━━━━━━━━━━━━━━━━━━━━━

 -extra を指定すると拡張操作モードになります。拡張操作モードでは、キー
だけでなく、パッドやマウスのボタン操作にも反応します。

        [ESC]
                 再生を終了します。[ESC] はきりのよいところで終了するよ
                うになっているので、SCSI 機器のアクセス中などに止まるこ
                とはありません。そのため、プログラムが終了するまでにやや
                時間がかかることがあります。

        [BREAK]
                 再生を強制終了します。SCSI アクセスがどのような状態に
                なっていても再生を中止することができますが、その後の操作
                に支障をきたす可能性があります。なお、SCSI アクセス中に
                強制終了してしまったときは、SCSI バスリセットを行うかど
                うか問い合わせます。
                 SCSI バスリセットを行ったときは、CD-ROM ドライブを含め
                て接続されているすべての SCSI 機器のアクセスランプがすべ
                て消えるまで何も操作しないようにして下さい(環境によりま
                すが、数秒〜数十秒かかります)。

        [リターン]
        [スペース]
        [ENTER]
        [XF1]
        [OPT.1]
        パッドのAボタン
        マウスの左ボタン
                 これらのキーやボタンが押されると、フェードアウトを開始
                します。-fo[=]<n> でフェードアウトの速さを指定できます。
                フェードアウトによって完全に無音になると、自動的に再生が
                終了します。

 マウスデータの取得は IOCS コールを経由せずに行っているので、特殊なマウ
スドライバは原則として使用できません。ただし、再生中にも 51.2ms 間隔でマ
ウスデータの要求(([$09B6].l) をコール)を行っており、結果を IOCS のワー
クで取得しているので、マウスドライバの種類によっては使える場合があるかも
知れません。

 -extra と -silent を併用することで、ゲームのオープニングで主題歌を再生
するといった処理に S44PLAY.X,FMPPLAY.X を使用することができると思います。

 例:
        > s44play -extra -silent -mac0 x0.fmp -mac3 x3.fmp
                 X68000 のときは x0.fmp を、X68030 のときは x3.fmp を再
                生します。ボタンが押されたらフェードアウトしてから終了し
                ます。

 S44PLAY.X,FMPPLAY.X は Timer-D 割り込みと Timer-C カウンタを使用します
が、拡張操作モードでは Timer-A 割り込みも使用します。なお、IOCS の
_VDISPST は Timer-A をイベントカウントモードで使うので _VDISPST を使う常
駐ソフトウェアと S44PLAY.X,FMPPLAY.X の拡張操作モードは共存できません。
V-DISP 単体の割り込みは残っていので、V-DISP 単体の割り込みを使用する常駐
ソフトウェアとならば共存することができます。



━< データ変換モード >━━━━━━━━━━━━━━━━━━━━━━━━

 S44PLAY.X では -c <filename>[.fmp] を指定するとデータ変換モードになり
ます。データ変換モードでは再生は行わず、入力された PCM データをすべて
FMP フォーマットに変換して指定されたファイルに出力します。

 データ変換モードでも、サンプリング周波数の変換方式の指定(-lq/-hq/-sq)
や、ボリュームの指定(-v<n>)、出力側のサンプリング周波数の指定(-int<n>)
などが有効です。FMP フォーマットのデータはボリュームやサンプリング周波数
を変更できないので、必要ならばデータを変換する際に指定しておく必要があり
ます。

 例:
        > s44play 46 -c track46.fmp -int25 -sq
                 CD のトラック 46 を Super Quality モードで 20kHz の
                FMP フォーマットに変換してファイル track46.fmp に出力しま
                す。

 データ変換モードはリアルタイム再生を伴わないので、サンプリング周波数の
変換アルゴリズムを高品質なものにしたり、再生時のサンプリング周波数を高く
設定することができます。データ変換モードで時間をかけて生成した FMP ファ
イルを再び S44PLAY.X のパラメータに指定することで、リアルタイム変換では
処理が間に合わないような高い品質で再生できる場合があります。

 FMP ファイルの中にモノラルのデータとステレオのデータを混在させることは
できません。データ変換モードで先頭のデータがモノラルのときは、-mono を指
定していなくても自動的に -mono が指定されたものとみなして変換を開始しま
す。最初に指定されたデータがステレオのデータで、-mono を指定しなかったと
き、2 番目以降にモノラルのデータが指定されているとエラーになります。

 FMPPLAY.X にはデータ変換モードはありません。



━< CDC.x への対応 >━━━━━━━━━━━━━━━━━━━━━━━━━

 S44PLAY.X は CDC.x(TNB 製作所作)の CD 名と曲名を検索する機能に対応し
ています。

 S44PLAY.X で CD の音声トラック(CDDA)の再生や CD のトラック一覧表示を
行うとき、CDC.x が常駐していて、セットされていた CD が CDCLIST に含まれ
ていると、CD 名と曲名が表示されます。



━< 終了コード >━━━━━━━━━━━━━━━━━━━━━━━━━━━

 S44PLAY.X,FMPPLAY.X は、様々なエラーに対して、エラーメッセージを表示す
るとともに終了コードでエラーの種類を返すようになっています。バッチ処理な
どで役に立つかも知れません。


●終了コード一覧

        0       正常終了
        1       ESC による中断
        2       BREAK による中止
        3       NMI による中止
        4       SCSI-ID の指定がない
        5       環境変数 CDROM の内容がおかしい
        6       再生やリスト表示などの処理すべき引数がない
        7       -id の指定がおかしい
        10      -v の指定がおかしい
        11      -v の指定が範囲外
        12      -b の指定がおかしい
        13      -b の指定が範囲外
        14      未対応のスイッチ
        15      トラックの情報が取得できない
        17      Timer-A が VDISP カウンタとして使用中
        18      Timer-A 割り込みが使用中
        19      Timer-D 割り込みが使用中
        20      メモリが確保できない
        21      ファイルが見つからない
        22      ファイル読み込みエラー
        23      指定された SCSI-ID の装置が見つからない
        24      INQUIRY の取得に失敗した
        25      指定された SCSI-ID の装置は CD-ROM ドライブではない
        26      未対応のドライブ
        27      ブロックサイズの変更に失敗した
        28      メディアの情報の取得に失敗した
        29      メディアの準備ができていない
        30      トラック番号の指定がおかしい
        31      トラック番号の指定が範囲外
        32      トラックの情報の取得に失敗した
        33      CDDA の読み出しに失敗した
        35      ファイルのフォーマットが不明
        36      未対応の WAVE データ
        37      システムエラー(TRAP#14)が発生した
        38      引数が矛盾している(-l や -c が他の指定と重複している)
        39      -c の指定がおかしい
        40      未対応の FMP データ
        41      .fmp ファイルの書き込みオープンに失敗した
        42      .fmp ファイルの書き込みエラー
        43      ディスクフル
        44      -mono 指定なしでモノラルデータを変換しようとした
        47      CTRL+C による中止
        48      POWER OFF による中止
        49      -fi の指定がおかしい
        50      -fi の指定が範囲外
        51      -fo の指定がおかしい
        52      -fo の指定が範囲外
        53      引数が多すぎる
        61      未対応の AIFF データ
        62      -mac の指定がおかしい
        63      -mpu の指定がおかしい
        64      -int の指定がおかしい
        65      -int の指定が範囲外
        70      FMP ファイルのモノラル/ステレオを変換しようとした
        82      再生範囲の指定が間違っている
        83      再生範囲の指定が範囲外
        84      -freq の指定がおかしい
        85      -freq の指定が範囲外



━< 注意事項 >━━━━━━━━━━━━━━━━━━━━━━━━━━━━

 Mach-2 または mach2p を使用されている場合は、同期転送を禁止して下さい。
S44PLAY.X,FMPPLAY.X は再生中だけ一時的に SCSI をソフト転送に切り替えるの
で、同期転送モードになっていると正常に動作しません(ソフト転送に切り替え
る理由は、バスマスタ転送中は割り込みを取りこぼして正常に再生できなくなる
からです)。

 データを変換しながらの再生には、68030 以上の MPU が必要です。68000 で
PCM データを再生する場合は、あらかじめ FMP ファイルに変換してから再生し
て下さい。FMP ファイルに変換してあれば、-int40 でディスクから読み込みな
がらの再生が可能です。

 CD の音声トラックを読み込みながらの再生には、音声トラックを 2 倍速以上
で取り込める CD-ROM ドライブが必要です。

 再生中に PCM データが入っているメディアを抜かないように注意して下さい。
使用中のメディアを抜いてしまうと、その後の操作に支障をきたす可能性があり
ます。

 原則として、音源ドライバ類をすべて解除してから使用して下さい。

 水平同期割り込みを使用する常駐ソフトウェアをすべて解除してから使用して
下さい。

 垂直同期割り込みを使用する常駐ソフトウェアも、なるべく解除して下さい。

 テキスト画面のスクロール(ラスタコピーを使用)もノイズの原因になります。

 Timer-D 割り込みと Timer-C カウンタを使います。拡張操作モードでは
Timer-A 割り込みも使います。



━< FMP フォーマット >━━━━━━━━━━━━━━━━━━━━━━━━

 FMP(FM-PCM)フォーマットは PCM データを FM 音源の TL レジスタに垂れ流
せる状態に変換したものです。

 通常の PCM データ(拡張子が .s44 のファイルなど)を再生する場合はサン
プリング周波数や PCM→OPM の変換を行わなければならないので再生の負荷が大
きくなりますが、FMP フォーマットのデータは変換を伴わないので遅い機種でも
再生できる場合があります。


● FMP フォーマットの概要

 FMP フォーマットのデータは、FM 音源 LSI(YM2151)の TL レジスタに直接
書き込む数値を時間の順序で並べたものです。ステレオの場合は left0→right0
→left1→right1→…の順序になります。ここで、leftN と rightN を再生する
タイミングがサンプリング間隔の半分だけずれていることに注意して下さい(拡
張子が .s44 のファイルでは leftN と rightN が同時に再生されますが、FMP
フォーマットの leftN と rightN は同時に再生されません)。

 FM 音源 LSI(YM2151)の TL レジスタは 7 ビットで、$7F が最小、$00 が最
大の変位を表します。FMP フォーマット(v0.80)では、+ 側の変位と - 側の変
位を共に $7F〜$01 で表現し、$FF が出てきたときに符号を反転することになっ
ています。なお、$00 は再生エンジンが内部で制御コードとして使用するので、
FMP フォーマットのデータとしては使えません。



━< FMP ファイル >━━━━━━━━━━━━━━━━━━━━━━━━━━

 FMP フォーマットのデータにヘッダを付けてファイルとして出力したものが、
FMP ファイルです。FMP ファイルの拡張子は .fmp を推奨しています。


● FMP ファイルの構造

 FMP ファイルは次のような構造になっています。

        第 1 識別子(ファイルの種類を表す)
                .dc.l   'FMP '
         以降はセパレータ($1A)まで任意の文字列
          S44PLAY.X でセーブした場合は次のようになる
           1 行目はプログラムの識別文字列(タイトル)
                .dc.b   'S44PLAY.X 〜',13,10
           2 行目は環境変数 S44PLAY の内容
                .dc.b   'set S44PLAY=〜',13,10
           3 行目は環境変数 CDROM の内容
                .dc.b   'set CDROM=〜',13,10
           4 行目はフルパスの実行ファイル名とコマンドライン
                .dc.b   'A:\BIN\S44PLAY.X 〜',13,10
         セパレータ
                .dc.b   $1A
        第 2 識別子(以下の構造を表す)
                .dc.l   'S44P'
         FMP フォーマットのバージョン(現在は 0.80 のみ存在する)
                .dc.l   '0.80'
         ヘッダのサイズ
                .dc.l   4+4             ;データ本体のサイズ以降を含まない
         ヘッダ
          チャンネル数
                .dc.l   ?               ;1=モノラル,2=ステレオ
          サンプリング周波数(Hz)
                .dc.l   ?               ;44100など
          (バージョンが上がったときは、新しい項目をここに挿入する)
        データ本体のサイズ
                .dc.l   ?
        データ本体
                .dc.b   〜              ;FMPフォーマットのデータ

 補足: ロングワードのフィールドはすべて Big-endian(Motorola 並び)です。

 注意: 第 2 識別子以降に .dc.l で表記した項目がありますが、ファイルの先
        頭からのオフセットが偶数になっているとは限りません。



━< 技術的なことは… >━━━━━━━━━━━━━━━━━━━━━━━━

 S44PLAY.X,FMPPLAY.X の技術的なことに関しては、激光電脳倶楽部 Vol.6 お
よび Vol.7(満開製作所)または Oh!X 1999 年夏号(ソフトバンク)の関連記
事で解説しています。興味のある方はそちらを参照して下さい。



━< お願い >━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

 MPU の種類に応じてサンプリング周波数の変換方式や出力側のサンプリング周
波数のデフォルトが設定されていますが、調整が十分ではないので、デフォルト
のままでは正常に再生できない場合があると思われます。また、逆にデフォルト
の設定よりも高音質で再生できる場合があるかも知れません。

 そこで、S44PLAY.X,FMPPLAY.X でうまく再生できなかった設定(コマンドライ
ンスイッチの指定)と再生できた設定を、ハードウェアの環境と共に教えて下さ
い。

 動作状況の報告には以下の項目を含めて、なるべく詳しくお願いします。

        綺麗に再生できたかどうか
        ファイルの再生か、CD の音声トラックの再生か、CDXA の再生か
        ファイルならばどの種類のファイルか
        まったく鳴らないか、途切れ途切れに鳴るか
        鳴ってもノイズしか聞こえない状態かどうか
        ESC で復帰できるかどうか
        BREAK で復帰できるかどうか
        -mono/-stereo の指定
        -lq/-hq/-sq の指定
        -int の指定
        -b の指定
        -extra の指定の有無
        -onmem の指定の有無
        CD の音声トラックまたは CDXA の再生ならば、-sony/-toshiba の設定
        CD の音声トラックの再生ならば、-force を指定するとどうなるか
        再生はできなくても -c を指定すれば変換できるかどうか
        -c で変換できた場合は、その FMP ファイルを再生できるかどうか
        S44PLAY.X,FMPPLAY.X の表示内容(すべて)
        デバイスドライバと常駐プログラムの種類と設定(わかる範囲で)

 ハードウェアの環境の報告には、少なくとも以下の項目を含めて下さい。

        本体の種類
                例: X68000PRO[HD]
        バスクロック
                例: 10MHz
                例: 15MHz
        MPU アクセラレータの種類
                例: 060turbo
                例: Xellent30PRO
        MPU の種類
                例: 68000
                例: 68060
        MPU の動作周波数
                例: 16MHz
                例: 33MHz
        SCSI インタフェイスの種類
                例: 本体内蔵
                例: CZ-6BS1
                例: Mach-2(6415)
        CD-ROM ドライブの種類(機種名と Inquiry による識別子)
                例: CDS-E [SONY    CD-ROM CDU-55S \x00]

 S44PLAY.X は、CD-ROM ドライブの種類の自動判別に失敗した場合などに
Inquiry を表示するようになっています。-sony/-toshiba を指定しないと CD
の音声トラックを再生できなかったときは、再生できたときの -sony/-toshiba
の指定と再生できなかったときの Inquiry の表示を報告していただければ、次
のバージョンから自動判別できるようにします。



━< 今後の構想 >━━━━━━━━━━━━━━━━━━━━━━━━━━━

 データの再生範囲を細かく指定できるようにする。

 フィルタの種類やパラメータを増やす。

 -sq のときの再生開始時のノイズを軽減する。現在はデフォルトで -fi12 に
することで軽減しています。

 その他。



━< お約束 >━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

 S44PLAY.X は、マシンのパワー不足を補うために、FMP フォーマット(特殊な
フォーマットでしかも変換前のデータよりもかなり劣化しているので S44PLAY.X
以外では利用価値がほとんどない状態)でのみ、音のデータをファイルに出力す
ることができる仕様になっています。短絡的に言うと CDDA や PlayStation の
ソフトの CDXA データを FMP フォーマットに変換してファイルに出力すること
ができるということになりますが、生成された FMP ファイルの利用は個人的な
範囲に限られます。市販の音楽 CD やゲームソフトのデータを FMP ファイルに
変換して他の人に渡したりインターネットなどで公開することは違法行為であっ
て、著作権保持者だけでなく行為者の身内も含む多くの人に多大な迷惑をかける
ことになるので、絶対にやってはいけません。そのような違法行為をされて結果
的にどのような事態になろうとも、私は一切責任を負いません。

 S44PLAY.X,FMPPLAY.X は X680x0 のパワーを最大限に引き出して音のデータを
再生するためのプログラムです。正しく利用して下さい。

 S44PLAY.X,FMPPLAY.X は正しく動作することを期待して作成しましたが、無保
証です。万が一、S44PLAY.X,FMPPLAY.X を使用することで結果的に損害を被った
としても、S44PLAY.X,FMPPLAY.X を使用した人の責任になります。



━< 配布規定 >━━━━━━━━━━━━━━━━━━━━━━━━━━━━

 S44PLAY.X,FMPPLAY.X はフリーウェアです。配布に関しては、合法的かつ常識
的な範囲内であれば、特に制限は設けません。



━< 謝辞 >━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

 FM 音源で PCM データを再生する方法は、伊倉"DigitalJunkie"晴読氏が“志
村けんX”(月刊電脳倶楽部 VOL.78(1994 年 11 月号)掲載)や STPLAY.X
(月刊電脳倶楽部 VOL.100(1996 年 9 月号)掲載)で使用された方法を元にし
ています。同氏に感謝します。

 CD の音声トラックを読み出す方法については、激光電脳倶楽部 VOL.2 に収録
されていた CD2PCMT.X v0.96A を参考にさせていただきました。作者の WATA 氏
および TNB 製作所さんに感謝します。

 ADPCM→PCM 変換については、Oh!X 1992 年 6 月号「PCM8」(江藤啓氏著)、
ZVT.x v2.00(Z.NISHIKAWA 氏作)、PCM8A.x v1.01(philly 氏作)、PCM3PCM.x
v2.15(NOZ 氏作)を参考にさせていただきました。各氏に感謝します。

 S44PLAY.X,FMPPLAY.X の開発には以下のツールを使用しました。作者の方々に
感謝致します(敬称略)。

        HAS060.X v3.09+87 Y.Nakamura/M.Kamada
        しゃれまっくす rel5c6 lika/homy/salt/peace/shuna/rima/sharl
        CDC.X v1.10H TNB製作所

 動作報告を寄せて下さった皆さんにも感謝致します。



━< 連絡先 >━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

 S44PLAY.X,FMPPLAY.X に関する不具合の報告、感想、要望などは、下記までお
願いします。

                                              E-mail: m_kamada@nifty.com
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

(EOF)