【2024.07.07更新】いろいろ追加
【2024.06.17公開】初版公開。ただいま記事作成中
【おさらい】MGSDRVとは
MGSDRVは、8bitパソコン「MSX」の主要な音源であるPSG音源(AY-3-8910)、FM音源(YM2413, いわゆるOPLL)、SCC音源を用いて最大17音まで演奏出来る、Musicドライバ(音楽演奏ソフト)です。
↓ MGSDRVの解説ページはこちら ↓ gigamix.jp
ベンチマーク元のデータ
2024年6月17日現在、現在最強のMGSDRV形式データ(いわゆるMGSデータ)は、これだ!!
すべての始祖。MSXの音源(PSG・OPLL・SCC)は安価だし貧相だし…と揶揄されながらも、とにかく楽曲のクオリティがMSX史上かつてなく圧倒的に凄すぎる。このデータが存在しなければ、以降のベンチマークテストが行われることは無かった…
YouTubeの再生動画も、ぜひ視聴してみてください。高評価とチャンネル登録も忘れずに!
なぜこの楽曲データがベンチマークなのか?
この楽曲データはMGSDRVで利用可能なMSXの3音源(PSG・OPLL・SCC)全17音を同時に利用するだけでなく、特にストリングスを発声するにあたりSCCの波形データの入れ替え処理を2/60秒単位で行うなど、MSXにとって過去例になく負荷処理が極めて高い部類の楽曲データだからです。MGSDRV自体はMSX turbo Rの世代にリリースされたDOSアプリですが楽曲データの再生はなんと1983年製造のMSX1から実行可能で、広範囲に動作テストが可能です。
コンピュータは負荷処理が高くなればなるほど誤動作する可能性が高まります。過去に発売された実機だけでなく近年リリースされているMSXのエミュレータや互換品の品質(互換性や完成度)を、このデータの再生で見極めることができます。
ベンチマーク結果
ソニー HB-F1XV(MSX2+)
MSX2+の場合、基本的にFM音源は本体に内蔵されていますので、SCC音源となる「スナッチャー」サウンドカートリッジ(いわゆるSCCカートリッジ)をスロットへ挿入すると、音源的にフルスペックの環境となります。
MSXの各種本体はカートリッジスロットで拡張した外部音源の音量ならびに音質は本体の設計によってまちまちで、この内容に揃えようというような明確な業界基準がありません。その中でもソニーの各機種は各音源間の音量バランスが良く、MGSデータの楽曲を再生するには好環境と思います。
ちなみに 各音源の音量バランス調整用MGSデータが存在します ので、これを用いて各々が音量バランスを基準に揃えてゆくことをオススメします。
パナソニック FS-A1F(MSX2)
MSX2の場合、「FM Pana Amusement Cartridge(いわゆるFMPAC)」と「スナッチャー」サウンドカートリッジの両方をスロットへ挿入すると、音源的にフルスペックの環境となります。
MGSDRVの動作環境としてMSX2以上・MSX-DOS2が必須とされていますが、MGSデータを再生するだけなら再生アプリ(MGSEL)自体はMSX-DOS1で起動できます。
ヤマハ CX5(MSX1)
MGSDRVの動作環境としてMSX2以上・MSX-DOS2が必須とされていますが、MGSデータを再生するだけなら実はMSX1でも再生可能です(RAMは64kB以上必要)。
MSX1の場合、音源はPSG音源しか本体に内蔵されていません。しかしこちらの環境では「MegaFlashROM SCC+SD」という多機能カートリッジを利用することでMSX1においても512kBのRAM増設とSCC互換機能を備えたうえでMSX-DOS2の上位互換DOS「Nextor」が起動可能となっていて、さらにFMPACをカートリッジスロットに差してFM音源を利用可能にし、再生アプリ(MGSP)で楽曲を聴けるようになっています。
「MegaFlashROM SCC+SD」はMSXのファイルストレージにSDカードを利用できたり前述の機能も追加できたり…と、令和のMSXシーンにとってぜひ一つは持っておきたい便利アイテムです。
↓ MegaFlashROM SCC+SD の通販サイトはこちら ↓ www.msxcartridgeshop.com
松下電器 FS-4000(MSX1)
熱転写プリンタとワープロソフトが内蔵されている、特殊なMSX。ハードウェアスペックが不足がちなMSX1ですが、音源の増設に「SoundCoreSLOT EX」というこだわりの拡張スロットを採用。
SoundCoreSLOT EXはカートリッジ部にMSXと互換性のあるFM音源とPSG音源が内蔵されており、カートリッジの音声出力端子から低ノイズで高音質な音声を取り出せるうえ2スロットの拡張も可能、という痒いところに手が届くアイテムです。これにSCCカートリッジを挿入すればPSG・OPLL・SCCの3音源が揃いますし、各音源の音量バランスはカートリッジのつまみ(可変抵抗)で音源ごとに簡単に調節できます。
↓ SoundCoreSLOT EX の詳細ページはこちら ↓ niga2.sytes.net
Mu-PLAYER(MSX turbo R)
Mu-PLAYERはMSX turbo R向けの音楽制作環境で、PCM 8音の音声合成およびSCC音源のエミュレートが可能です(ソフトウェア音源)。本体にSCCカートリッジを挿入しなくても本体内蔵PSG・OPLLと合わせてフルスペックの楽曲が楽しめます。
MSX turbo Rの2機種(FS-A1ST・FS-A1GT)はカートリッジスロットで拡張した外部音源の音量が大きめに再生される特性がありますが、SCC音源が本体のみで利用できるのであればそのような特性をソフトウェアで吸収することもできます。
↓ Mu-PLAYER の解説ページはこちら ↓ mdpc.dousetsu.com
MSX BASIC(MSX turbo R)
MSXにとって極めて処理負荷が高いこの楽曲データを、よりによってMSX BASIC上でBGMとしてバックグラウンド再生したうえでBASICプログラムを動作させるとどうなるのか?という興味深い実験。R800(Z80 28MHz相当)だからBASICでも意外と速く動いている印象!
当クラブで配付中のミドルウェア「DMシステム2」はMGSDRV形式の楽曲データをMSX BASIC上でバックグラウンド再生する機能があり、各種MSX向け同人ソフトの開発・リリースで採用されています。
↓ DMシステム2のWebサイトはこちら ↓ www.gigamix.jp
SX|2(MSX互換機)
SX|2はFPGAで記述されたMSXのハードウェア互換機です。2006年にリリースされた「1chipMSX」の後継プロジェクトであり、ハードウェアスペックはMSX2+相当となります。実はSX|2にはOPLL音源もSCC音源もFPGAで実装されていますが、ここはあえての実物(SCCカートリッジ)で。
↓ SX|2 の通販サイトはこちら ↓ https://www.8bits4ever.net/product-page/sx2-msx-fpgawww.8bits4ever.net
週刊MSXを作る(手作りMSX)
MSXにまつわるICを自作の基板に自分でハンダ付けし、カートリッジスロットにSCCカートリッジを接続。ハードウェアスペックはMSX1相当となります。自作の本体でも動くの素晴らしい!
↓ 週刊MSXを作る の解説ページはこちら ↓ chikuwa-empire.com
似非SCCディスク(MEGA-SCC RAM)
これは何?を書くにあたり、時系列で解説する必要がありそうなので、文章が少し長くなります。
「似非SCCディスク」とは、1990年代に草の根パソコン通信ネット界隈で発表された、コナミのSCC搭載メガROMゲームカートリッジを改造して「電源を切っても内容が消えないSRAMストレージカートリッジ」として再利用する技術です。これを自作すると、カートリッジ内のSRAMに好きなデータを書き込んでMSXで起動することができます。ハードディスクが普及しなかった当時のMSXシーンにおいて現代で言うSSDのようなデバイスとなり、たいへん便利でした。
似非SCCディスクに似た技術に「似非RAMディスク」があります(元々似非SCCより似非RAMのほうが先に発表されました)。似非RAMはコナミ以外のMSX用メガROMカートリッジを用いて改造するもので、似非SCCよりも似非RAMのほうが製作の難易度は低い(電子工作ビギナー向け合同工作会が開催できるレベルの難易度)とされていて、当時のパソ通界隈では似非RAMのほうに人気が高かった印象でした。
が、似非SCCは似非RAMでは実現できない貴重なメリットがありました。似非SCCはSRAMストレージに加えてSCCカートリッジとしても併用可能、なのです。似非SCCのほうが改造の難易度は高いのですがこれはこれで人気なのでした。
その後2020年代になり似非RAM・似非SCCの互換品が登場します。今回のベンチマークで用いる「MEGA-SCC RAM」は、コナミのいずれかのゲームカートリッジ(スナッチャー・SDスナッチャー以外)からSCC音源のICを引っ剥がしてMEGA-SCC RAMの基板に取り付けると似非SCCの互換品として利用できるアイテムです。'90年代の改造よりも工数が少なく、基板自体にノイズ対策が施されたことでオリジナルの似非SCCよりも高音質が楽しめます。
↓ MEGA-SCC RAM のGitHubはこちら ↓ github.com
MGSPICO(Raspberry Pi 再生環境)
MSXのカートリッジスロットとRaspberry Pi Picoを装着できる基板を自作し、Raspberry Pi PicoにはMSXの仮想環境を構築。前述の拡張スロット「SoundCoreSLOT EX」を装着し、拡張スロットに「スナッチャー」サウンドカートリッジを挿入することで、MSXの実機向け3音源をRaspberry Pi Picoで間接的に利用可能にしています。
このデータをテンポずれを起こさず再生するためにCPUのクロックアップも実施。
↓ MGSPICO のGitHubはこちら ↓ github.com
MSXplay(オンライン MGSDRV MML制作環境)
MSXplayはまさにたかをさんの作業場であったWebサービスですが、他機種や他の再生環境で利用可能なVGM(Video Game Music)形式データをエクスポートする機能があります。しかしたかをさんのMGSデータはエクスポートが機能しないほどに重たいデータだった…!!
↓ MSXplay のWebサイトはこちら ↓ msxplay.com
OPNAL2 ProMax(携帯型FM音源モジュール)
各種FM音源チップを装着できる基板を自作。今回OPL2チップを採用するにあたり、VGMデータのOPLL再生部分をOPL2へコンバート。コンバートでもかなりいい感じに聴こえる!!
OPLLのデータをOPL2などの上位互換チップで遜色なく再生できるようになると、MSXの楽曲なのにMSXのシーンを超えて広がりそうですね。
↓ OPNAL2 ProMax の通販サイトはこちら ↓ fmsoundmodule.booth.pm
バーチャルMIDI音源(MAmidiMEmo)
MMLに含まれるSCCの波形定義を抽出して音色化。音を鳴らしてみると波形のノイズがわかりやすい。
↓ MAmidiMEmo のGitHubはこちら ↓ github.com
【参考】あなたもレッツベンチマーク!必要なもの一覧
基本構成
- MSXの実機(MSX1からOK)
- RAM 64kB以上(RAM増設OK)
- FM Pana Amusement Cartridge(FMPAC) ※MSX MUSIC非搭載機種のみ
- 「スナッチャー」または「SDスナッチャー」付属サウンドカートリッジ
- ストレージドライブ(フロッピーディスクドライブ等DOSを起動するためのデバイス)
- MSX-DOS(MSX-DOS2、Nextor、互換DOSもOK)
- MGSDRV.COM(Musicドライバ本体)
- 各種楽曲再生アプリ(MGSC、MGSEL、MGSP、MPX、MsPLAY、MuPLAY等)
- MAINROMP.COM ※MSX1利用時のみ
- たかをさんのMGSデータ
【参考】各音源の音量確認用MGSデータ
たかをさんが作成した、音量確認用のMGSデータです。
前述しましたが、MSXの各種本体はカートリッジスロットで拡張した外部音源の音量ならびに音質は本体の設計によってまちまちで、この内容に揃えようというような明確な業界基準がありません。令和の時代になりMSXplay(Webブラウザ)でMMLが作成できるようになったため、2024年現在は各音源の音量バランスをMSXplayを基準として、各種再生環境は各音源の音量バランスをMSXplay側へ似せるようにしておくことをオススメします。
音量確認用のデータは、1フレーズごとに各音源を順番に再生していきます。それを聴きながら音源ごとに音量を調節して「どれも似たような音量」に揃えることが目標です。
- 1.(音量大) OPLL → PSG → SCC → ミックス
- 2.(音量小) OPLL → PSG → SCC → ミックス
- 3.(おまけ音量大) OPLL → PSG → SCC → ミックス
- 4.(おまけ音量小) OPLL → PSG → SCC → ミックス
なお、MSXの実機では特別なハードウェアを用意しない限り音源ごとに音量調節することは殆どできません。やれるとしてもFMPACの大・中・小の3段階くらいです。ですが、自分のマシンはどの音源が大きい音・小さい音なのかの特性を予め知ったうえでデータ制作に臨むことは、多くのリスナーの再生環境に広く配慮できるという意味で有意義です。