Skip to content

MsxSoundSuiteExtension v0.5.2

Latest

Choose a tag to compare

@madscient madscient released this 27 Oct 03:39
· 13 commits to master since this release

利用条件

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

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

v0.5.1 からの変更点

Y8960 カートリッジ v0.9.4 に対応しました。v0.9.4 で読めるようになった I/O Enabler 2(7FFFH)を使い、カートリッジの OPL2EX を電源投入時から MSX-AUDIO のポートに出します。この版の y8960bas.rom を実行するには Y8960 カートリッジ v0.9.4 以上が必要です。

変わったのは y8960bas.rom だけです。mmbe.rom・mabel.rom・sfg.rom は ROM に記録された版の日付だけが変わりました。midi.rom と makoto.rom は v0.5.1 とバイト単位で同じです。

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

Y8960 カートリッジ(y8960bas.rom)

  • OPL2EX が、電源投入時から MSX-AUDIO のポート(C0H/C1H)に応答するようになりました。 カートリッジの起動時(リセットを伴わない再起動を含む)に、そのポートに応答する音源がほかに無ければ OPL2EX を出し、以後はどの拡張BASIC が表に出ていても出したままにします。以前は、MSX-AUDIO BASIC Extension Lite か、CALL MINIT の後の Y8960 BASIC Extension が使っている間だけ応答していました。MSX-AUDIO のポートを直接使うプログラムは、拡張BASIC を通さずに OPL2EX を MSX-AUDIO として鳴らせます。
  • MSX-AUDIO のカートリッジとは併用できません。 起動時に MSX-AUDIO のポートに応答する音源があると、OPL2EX はポートに出ません。そのときカートリッジ版の CALL AUDIO と、Y8960 BASIC Extension のデバイス 2(OPL2EX)が書いたものは、その音源に届きます。

拡張BASICやアプリケーションを作る方へ

  • MSX Sound Suite の取り決めで、I/O Enabler 2 の bit0(OPL2EX)の扱いが変わりました(msse-abi.md)。開けるかどうかを決めるのは ID 0(MSX-MUSIC BASIC Extension V2)のカートリッジ INIT だけです。ほかの ROM は 7FFFH を書く前に読み、bit0 を読んだまま書き戻します。表に出るときも、明け渡すときも、bit0 は変えません。
  • Y8960 Sequencer BIOS の SQINIT と SQEXIT は、OPL2EX のポートに触らなくなりました(sequencer-bios.md)。
  • 7FFFH が読めるようになりました(hardware.md)。読めるのは 7FFFH だけで、ほかの Memory Mapped I/O は書き込み専用のままです。使っていないビット(bit3〜6)が何で読めるかは未確定です。

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

収録物

ファイル サイズ 用途
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)・Misato(YMF288)単体カートリッジ用。y8960bas.rom には含まれない

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

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

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


Terms of use

These ROM images are licensed for personal use only.

Redistribution requires separate permission from MSX Licensing Corporation.
See the included NOTICE.md (in Japanese) for details.

Changes since v0.5.1

Supports Y8960 cartridge v0.9.4. Using I/O Enabler 2 (7FFFH), which became readable in v0.9.4, the cartridge's OPL2EX is exposed on the MSX-AUDIO ports from power-on. The y8960bas.rom of this release requires Y8960 cartridge v0.9.4 or later.

Only y8960bas.rom has changed. In mmbe.rom, mabel.rom and sfg.rom, only the version date recorded in the ROM has changed. midi.rom and makoto.rom are byte-for-byte identical to v0.5.1.

Changes that may affect existing programs

Y8960 cartridge (y8960bas.rom)

  • OPL2EX now responds on the MSX-AUDIO ports (C0H/C1H) from power-on. When the cartridge starts up (including a restart without reset), if no other sound chip responds on those ports, OPL2EX is exposed there and stays exposed regardless of which BASIC extension is active. Previously it responded only while MSX-AUDIO BASIC Extension Lite was in use, or while Y8960 BASIC Extension was in use after CALL MINIT. Programs that access the MSX-AUDIO ports directly can now play OPL2EX as an MSX-AUDIO without going through a BASIC extension.
  • It cannot be used together with an MSX-AUDIO cartridge. If a sound chip responds on the MSX-AUDIO ports at startup, OPL2EX is not exposed on them. In that case, the cartridge's CALL AUDIO and whatever Y8960 BASIC Extension writes to device 2 (OPL2EX) go to that sound chip.

For authors of BASIC extensions and applications

  • The MSX Sound Suite convention for bit0 (OPL2EX) of I/O Enabler 2 has changed (msse-abi.md, in Japanese). Only the cartridge INIT of ID 0 (MSX-MUSIC BASIC Extension V2) decides whether to open it. Other ROMs read 7FFFH before writing it and write bit0 back as read. They do not change bit0 when becoming active or when handing over.
  • SQINIT and SQEXIT of Y8960 Sequencer BIOS no longer touch the OPL2EX ports (sequencer-bios.md, in Japanese).
  • 7FFFH is now readable (hardware.md, in Japanese). Only 7FFFH is readable; the other memory-mapped I/O remains write-only. What the unused bits (bit3 to bit6) read as is not yet defined.

See each reference (Y8960, MSX-MUSIC, in Japanese) for the detailed specifications.

Contents

File Size Purpose
y8960bas.rom 128KB For the Y8960 cartridge. Contains all five BASIC extensions
mmbe.rom 16KB Standalone MSX-MUSIC. Replaces the built-in MSX-MUSIC of a computer, or runs as a ROM cartridge
mabel.rom 16KB Standalone cartridge for MSX-AUDIO (Y8950)
sfg.rom 16KB Standalone cartridge used together with an SFG-01/05
midi.rom 16KB Standalone cartridge that drives a MIDI interface
makoto.rom 16KB Standalone cartridge for Makoto (YM2608) and Misato (YMF288). Not included in y8960bas.rom

The "Source code (zip / tar.gz)" files below are added automatically by GitHub and
contain only the documentation and build scripts. They do not contain the source
code of the BASIC extensions (only distribution of the binaries is permitted).

The zip contains the documentation and MANIFEST.txt, which records the commit
each ROM was built from and its SHA256.

See docs/ (in Japanese)
for the specifications of the statements and MML.