Skip to content

MsxSoundSuiteExtension v0.4.3

Choose a tag to compare

@madscient madscient released this 28 Sep 18:59
· 23 commits to master since this release

利用条件

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

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

v0.4.2 からの変更点

ユーザ音色を増やした回です。変わったのは MSX-MUSIC BASIC Extension V2(mmbe.rom)、MSX-AUDIO BASIC Extension Lite(mabel.rom)、SFG BASIC Extension(sfg.rom)と、これらを収めた y8960bas.rom です。midi.rom・makoto.rom は ROM に書かれた日付だけが変わり、中身は v0.4.2 と同じです。

既存のプログラムに影響しうるもの

単体版 mabel.rom の CALL AUDIO が使うメモリが 1024 バイト増えました(1027 → 2051 バイト)。ユーザ音色 64〜95 を本体の RAM に置くためです。空きメモリがぎりぎりのプログラムは Out of memory になることがあります。Y8960 カートリッジ版はユーザ音色をカートリッジの RAM に置くので、増えたのは 32 バイトです(1281 → 1313 バイト)。

CALL MUSIC が使うメモリが 128 バイト増えました(837 → 965 バイト、Y8960 カートリッジ版は 1112 → 1240 バイト)。

新しい機能

MSX-MUSIC BASIC Extension V2(単体版・カートリッジ版とも)

  • ユーザ音色 @64・@80・@96・@112。 @63 と合わせて5つの音色を CALL VOICE COPY で書き込んでおき、MML の @n や CALL VOICE で切り替えられます。以前は Illegal function call になっていた番号です。同時に鳴らせるユーザ音色は従来どおり1つです。
  • CALL VOICE MODE。 * 印の15音色を OPLL の内蔵音色で鳴らすか(モード 0、従来どおり)、ライブラリに登録された音色パラメータで鳴らすか(モード 1)を切り替えます。モード 1 では * 印の音色も CALL VOICE COPY で取り出せます。

MSX-AUDIO BASIC Extension Lite(単体版・カートリッジ版とも)

  • ユーザ音色 64〜95。 FM の音色番号が 0〜95 になり、CALL VOICE COPY の転送先に 63〜95 を指定できます。64〜95 は CALL AUDIO のたびに Silence に戻ります。当時の MSX-AUDIO でユーザ音色 32〜62 を使っていたプログラムは、番号を 64〜94 へずらせば同じように使えます。

SFG BASIC Extension(Y8960 カートリッジ版のみ)

  • ユーザー音色が @48〜@79 の32個になりました。 カートリッジの RAM に置くので、CALL SFG が使うメモリは 640 バイト少ない 1426 バイトになりました。単体版 sfg.rom のユーザー音色は従来どおり @48〜@63 の16個です。

拡張BASICを作る方へ

Y8960 カートリッジのバンク RAM の使い方を msse-abi.md に定めました。バンク RAM はそのとき表に出ている拡張BASICが占有し、切り替えをまたいで中身を残すことは前提にできません。

仕様の詳細は各リファレンス(MSX-MUSIC・MSX-AUDIO・SFG)にあります。

収録物

ファイル サイズ 用途
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/ を参照してください。