PC-9801シリーズ で S98 を鳴らすやーつ
【使い方】
S98Play S98-File [/Paddr,data] [/Wtime] [/S] [/A]
オプション:
/P I/O ポートを指定します
addr: アドレス ポート(16進数)
data: データ ポート(16進数)
/P018c,018e で サウンド オーケストラ系のOPLが鳴るはず
/W I/O アクセスのウェイト値を指定します
time: ウエイト値(10進数)
単位は 0.6us です。
未指定時は /W35 (21us)になります(OPNA時は /W17)。
/S ハードウェアタイマーを利用しません
/A OPNA の ADPCM を使用しません (S98Play Plus で追加)
ADPCM 関係のレジスタ (拡張側の $00~$0D) への書き込みを
捨てます。演奏のタイミングは変わりません。
PC-88 のサウンドボードII 向けなど ADPCM メモリへのアクセスを
含む S98 を、ADPCM メモリを持たない PC-9801-86 などで鳴らすと
ノイズが出るため、そのような場合に指定してください。
ADPCM メモリ付きのボードや、メモリを増設したボードでは
指定しないでください (ADPCM が鳴らなくなります)。
【仕様】
・OPNA系/OPL系データの場合、1番目のチップを自動判定します
/P オプションが指定されている場合は、そちらを利用します
自動判定できるボード
・PC-9801-86
・PC-9801-118 (OPL3モード)
・スピークボード (OPNA系)
・SoundBlaster16 (OPL系)
・OPNA系/OPL系以外の音源ではポートチェックをしないため、
必ず /P オプションでポートを指定してください
例:
・OPMなど
/P888,88a
・OPN2など
/P188,18a,18c,18e
・NBV4 などの複合型
/P888,88a,,,1888,188a,,,2888,288a
・S98のデバイス(チップ)は4つまで対応しています
Pオプションの最大指定は以下のとおりです
/Paddr1l,data1l,addr1h,data1h,addr2l,data2l,addr2h,data2h,addr3l,data3l,addr3h,data3h,addr4l,data4l,addr4h,data4h
【S98Play Plus での拡張】
オリジナルの S98Play に、XMS メモリ(プロテクトメモリ)を使った
再生機能を追加したものです。
オリジナルの S98Play の入手先:
https://amethyst.yui.ne.jp/svn/nekobus/s98play/
・メインメモリに収まらない大きな S98 ファイルを再生できます
HIMEM.SYS などの XMS ドライバが組み込まれている場合、S98 データを
XMS メモリに置いて再生します。再生できるファイルサイズの上限は
XMS メモリの空き容量で決まります。
・XMS ドライバがない環境でも従来どおり動作します
この場合はメインメモリに読み込んで再生するため、空きメモリに
収まらないファイルは従来どおり "File too large." になります。
・EMM386 などのメモリマネージャの常駐下でも動作します
・/A オプションで ADPCM 関係の書き込みを捨てて再生できます
ADPCM メモリを持たないボードで PC-88 向けの S98 を鳴らす用です
【動作条件の追加】
・従来の動作条件に加えて、メインメモリに 80KB 程度の空きが必要です
足りない場合は "Not enough memory." と表示して終了します
【従来版からの変更点】
・大きなファイルではロードに少し時間がかかることがあります
・ループしない曲は、最後まで演奏すると音を止めて自動終了します
・曲データの終端とタグの間に余分なデータがあるファイルでも
正しくループ・終了するようになりました
・圧縮された S98 (V1) はエラーになります ("Invalid S98 file.")
・/A オプション以外のオプション、対応ボード、チップの自動判定は
オリジナルと同じです
【補足】
・ロード中、ロード完了時 (XMS かメインメモリか)、演奏開始時に
メッセージを表示します
・演奏中に何かキーを押すと停止して終了します