Skip to content

MsxSoundSuiteExtension v0.4.2

Choose a tag to compare

@madscient madscient released this 28 Sep 01:18
· 33 commits to master since this release

利用条件

この ROM イメージは個人利用に限り許諾されています。

再配布には MSX ライセンシングコーポレーションの許諾が別途必要です。
詳細は同梱の NOTICE.md を参照してください。

v0.4.1 からの変更点

変わったのは y8960bas.rom だけです。単体 ROM 5本(mmbe.rom・mabel.rom・sfg.rom・midi.rom・makoto.rom)は v0.4.1 とバイト単位で同じです。以下はすべて Y8960 BASIC Extension の変更です。

既存のプログラムの鳴り方が変わるもの

N が MSX-MUSIC BASIC Extension V2 と同じく N0 = O1C から数えるようになりました。 以前の N は1オクターブ低く鳴っていました(N36 が O3C)。いまは N36 が O4C です。範囲は 0-96 から 0-127 に広がりました。CALL MSAVE で保存したシーケンスデータは、読み戻すと保存したときと同じ高さで鳴ります。

オクターブが 0-9 になりました。 以前は 1-8 で、< は O1、> は O8 で止まっていました。いまは O0・O9 まで動きます。音源が出せる範囲の外でどう鳴るかは保証しません。

新しい機能

  • SSGS・SCC・DCSG のソフトウェアエンベロープ。 MuSICA と同じエンベロープを、MML の @En で選び、CALL ENV COPY で定義します。定義はシーケンスと一緒に CALL MSAVE で保存されます。
  • CALL MSAVE / CALL MLOAD がディスクのファイルと直接やり取りできるようになりました(保存先 2)。
  • CALL SAVE PCM / CALL LOAD PCM。 ボイスファイル1つを、MSX-AUDIO 拡張BASIC の CALL SAVE PCM と同じ形のファイルで読み書きします。MSX-AUDIO 側で保存したファイル(ADPCM)も読めます。
  • CALL MINIT 済みの状態でもう一度 CALL MINIT を実行できるようになりました。 以前は Illegal function call でした。演奏を止め、初期状態に戻してから新しい引数で初期化します。

不具合の修正

  • CALL MLOAD で読み戻したシーケンスを CALL MSAVE で保存し直すと、音色と波形の区別がファイル上で変わっていた問題を修正しました。 鳴り方には影響していませんでした。

仕様の詳細は Y8960 のリファレンスにあります。ファイルの形は pcmfile.md・bytecode.md です。

収録物

ファイル サイズ 用途
y8960bas.rom 128KB Y8960 カートリッジ用。5つの拡張BASICをすべて収めたイメージ
mmbe.rom 16KB MSX-MUSIC 単体用。本体内蔵 MSX-MUSIC の差し替え、または ROM カートリッジ
mabel.rom 16KB MSX-AUDIO(Y8950)単体カートリッジ用
sfg.rom 16KB SFG-01/05 と併用する単体カートリッジ用
midi.rom 16KB MIDI インターフェースを鳴らす単体カートリッジ用
makoto.rom 16KB Makoto(YM2608)単体カートリッジ用。y8960bas.rom には含まれない

下の「Source code (zip / tar.gz)」は GitHub が自動で付けるもので、中身はドキュメントとビルド用スクリプトだけです。拡張BASIC 本体のソースコードは含まれません(バイナリの配布のみが許諾されているため)。

zip にはドキュメントと、各 ROM のビルド元コミットおよび SHA256 を記録したMANIFEST.txt が入っています。

ステートメントと MML の仕様は docs/ を参照してください。