Repository navigation
MsxSoundSuiteExtension v0.4.1
利用条件
この ROM イメージは個人利用に限り許諾されています。
再配布には MSX ライセンシングコーポレーションの許諾が別途必要です。
詳細は同梱の NOTICE.md を参照してください。
v0.4.0 からの変更点
midi.rom 以外の ROM はすべて中身が変わっています。midi.rom は v0.4.0 とバイト単位で同じです。
既存のプログラムの鳴り方が変わるもの
Makoto BASIC Extension(makoto.rom):PLAY#2 の PSG 用の文字列がYM2608 の SSG を鳴らすようになりました。
YM2608 の SSG(PSG 互換部)を PLAY 文から鳴らせるようにしたことに伴い、PLAY のモードの意味が次のようになりました。
| モード | v0.4.0 | v0.4.1 |
|---|---|---|
#0 / 省略 |
本体の PSG | 同じ |
#1 |
Illegal function call |
SSG と本体の PSG |
#2 |
FM・PCM・リズム・本体の PSG | FM・PCM・リズム・SSG |
#3 |
#2 と同じ |
FM・PCM・リズム・SSG・本体の PSG |
SSG と本体の PSG は同じ MML で同じ高さに鳴ります。違うのは Y が書き込むチップと、M(エンベロープ周期)・Y6(ノイズ周期)の速さです(SSG のほうが約 1.12 倍速い)。PLAY#3 では SSG 用の3本が本体の PSG 用の3本の前に入るので、CALL PLAY のストリング番号も本体の PSG のぶんが3つ後ろへずれます。
CALL MAKOTO が確保するメモリは 1191 バイトから 1399 バイトになりました。
Y8960 BASIC Extension:C- と B+ がその1音だけ隣のオクターブで鳴るようになりました。
O4C- は O3B、O4B+ は O5C と同じ高さです。
以前は同じオクターブの中で折り返していました(O4C- が O4B)。
新しい機能
y8960bas.rom の MSX-MUSIC V2・MSX-AUDIO Lite・SFG で、SSGS の第2セットを鳴らせるようになりました。
Y8960 の SSGS は PSG と同じ形の音源を2セット持っています。これまで PLAY 文から鳴らせたのは第1セット(本体 PSG と同じチャンネル)だけでしたが、PLAY#1 と PLAY#3 で第2セットの3チャンネルが加わります。#0 と #2 の鳴り方は変わりません。単体 ROM(mmbe.rom・mabel.rom・sfg.rom)にはこの機能はありません。
| モード | 文字列の並び |
|---|---|
#1 |
PSG 3 本、第2セット 3 本 |
#3 |
#2 の並びの後ろに第2セット 3 本 |
これに伴い、カートリッジ版の初期化が確保するメモリが増えました
(CALL MUSIC は 1112 バイト、CALL AUDIO は 1281 バイト)。
Makoto BASIC Extension:YM2608 の SSG 3声を PLAY 文から鳴らせるようになりました(上記)。
不具合の修正
- Y8960 BASIC Extension:
Qが 8 未満でも&で前の音符をつなぐようになりました。&の前の音符はQに関係なく音長いっぱい鳴り、Qは最後の音符にだけ効きます。数値を書かない~の前の音符も同じです。以前はQで先に音が切れ、次の音符が鳴り直していました。 PLAY文の文字列が多い構成で、PSG チャンネルのピッチベンド(P・@P)がPLAY文を実行するたびに消えていた問題を修正しました。
MSX-MUSIC V2・MSX-AUDIO Lite では文字列が 9 本以上、SFG では FM が 8 本の構成で起きていました。 MSX-AUDIO Lite ではこのとき、PSG の1本目にベンドがあるとIllegal function callになることもありました。この修正でmmbe.romのCALL MUSICが確保するメモリは 825 バイトから 837 バイトになりました- Makoto BASIC Extension で、PSG チャンネルの音長 0 の音符のあとに、長さを書かない
Rが全休符になることがあった問題を修正しました - Y8960 BASIC Extension の
CALL MINITが、OPL2EX の波形選択を有効にするようになりました。 波形選択のレジスタ(E0h〜F5h)は、有効にしないと書いても効きません
仕様の詳細は各リファレンスにあります。
- MSX-MUSIC V2・
MSX-AUDIO Lite・
SFG のPLAYの節 - Makoto の
PLAYの節 - Y8960 の MML の節
収録物
| ファイル | サイズ | 用途 |
|---|---|---|
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/ を参照して
ください。