Gigamix Online

懐かしの8bitおもちゃPC「MSX」を骨までしゃぶり尽くそう。MSXの最新ニュース、ブログ、自作ソフトの配布など。

BGMドライバ・MGSDRV MSXで楽しむチップチューン

MGSDRV画面

更新情報

現在の最新バージョンは、ver.3.20 です。

MGSDRV とは

 MGSDRVは、8bitパソコン「MSX」の主要な音源であるPSG、FM音源、SCCを用いて最大17音まで演奏出来る、Musicドライバ(音楽演奏ソフト)です。

  • MSX(初代、MSX1)、MSX2MSX2+MSX turboRの4規格で動作します。
  • MMLと呼ばれるプログラミング言語を用いて、演奏データを作成します。
  • 1980年代の“パソコン通信”主流の頃から広く普及しており、数多くの楽曲(=音楽データ, 拡張子 *.MGS)が発表されています。
  • MGSDRVはフリーソフトウェアです。どなたでも無償で自由にMGSDRVを楽しむことができます。
  • MGSDRVはAin.氏が開発しました。現在では当チーム(ギガミックス)がメンテナンスを行っております。1

 1983年に登場したMSXパソコンは、古くからプログラミングによる音楽演奏の文化がありました。コンピュータ雑誌へのBASICプログラムの投稿に始まり、1990年頃に普及した“パソコン通信”の場においてMSXの音楽データ流通はピークを迎えました。

 最近、巷ではチップチューン(ChipTune)なるジャンルの愛好家が増えています。昔の音源ICの生音を使用したポップ感溢れるこの独特なサウンドは、コンピュータゲームのゲームミュージックが起源となっています。

 ルールや制約が多いほど面白いこの世界に、MSXパソコンとMGSDRVで足を踏み入れてみませんか。

特徴

  • 対応する音源ICは、①PSG(AY-3-8910, 相当品含む)、②FM音源(MSX-MUSIC, YM2413/OPLL)、③SCC(相当品含む)2の3種類で、最大17音を同時出力できます。
  • MSXの1/60秒のタイマー割り込み機能を用い、音楽を演奏しながら他の処理と並列動作させるBGM機能を搭載しています。
  • MGSDRVは MSX-DOS および MSX BASIC の環境下で楽曲データを作成・再生するソフトウェアとして誕生しましたが、近年はWindows PC向けの各種アプリや各種プラットフォームのWebブラウザ上でも作成・再生できるようになりました。
  • ゲーム音楽の自動演奏、効果音素材の作成、チップチューンの楽曲作成の用途などで、特に便利にお使いいただけます。

動作環境

 当チームで動作確認を行った実行環境は以下のものです。これ以外でも動作する可能性はあります。

実機用プログラムの注意事項

  • MGSDRV自体(MGSDRV.COM)は、基本的にMSX-DOS2環境で常駐させ、他のソフトから常駐したMGSDRVを呼び出して使用します
  • ver.2.xx までとは違い、ver.3 はドライバ本体だけで楽曲データを作成したり演奏を聞くことはできません。ドライバに加え何らかの各種再生アプリもご用意ください。
  • MGSDRV形式の楽曲データファイルを演奏する「プレイヤー(再生アプリ)」は MSX-DOS(1)用、MSX-DOS2用、MSX BASIC用、Windows用等、いろいろあります。当サイトで配布する「MGSEL」はMSX2以上の機種+MSX-DOS(1)以上のOSで動作します。「MSP」は、MSX2以上+MSX-DOS2で動作します。
  • MGS形式の音楽データファイルを生成するコンパイラ「MGSC」は、MSX1以上+MSX-DOS(1)で動作します。
  • MSX-DOS2の上位互換OS「Nextor」でも常駐可能ですが、Nextorを利用する初代MSX(MSX1)および海外製MSX2では動作しない場合があります。

常駐できない?

MGSDRVの動作条件です。まずは以下の条件を満たしているか確認をお願いします。・常駐して利用する場合のOSはMSX-DOS2またはNextorに限られます。・MSX-DOS2の動作条件として本体RAM容量が128KB以上必要です。・Nextorの動作条件として本体RAM容量が256KB以上必要です。・エミュレータであればメモリ確保は容易と思われますので、とりあえずturboR環境にメモリ1MBもあれば十分と思われます。 — Takashi Kobayashi (@nf_ban) 2021年08月03日

【訂正】Nextorの動作条件として必要な本体RAMの容量は、正しくは128KB以上です。

NextorでMGSDRVをインストール
↑ NextorならMSX1でも常駐可能です。 ↑

MGS形式のデータを聴きたい

MSX実機、MSXエミュレータで聴く

  1. MSX-DOS2のシステムファイル(MSXDOS2.SYS と COMMAND2.COM の2つ)またはNextorのシステムファイル(NEXTOR.SYS と COMMAND2.COM の2つ)を用意する。
  2. MGSDRV本体(MGSDRV.COM)をダウンロードする。
  3. MGSDRVのアーカイブに梱包されている取扱説明書 (MGSDR320.TXT)をよく読む。
  4. MSP、MGSEL等、MGS形式データファイルに対応した各種プレイヤー(再生アプリ)をダウンロードする。
  5. DOSを起動し、各種プレイヤー(再生アプリ)で音楽を聴く。

 純正ソフト(MGSDRVとMGSELの併用)でMGS形式の音楽データファイルを再生するには、以下の方法で行います。

  1. MSX-DOS2/Nextorを起動する。
  2. コマンドラインより mgsdrv /z を入力する。→MGSDRVがDOSに常駐します。Installed.と表示されたら成功です
    MGSDRVをインストールする画面
  3. コマンドラインより mgsel を入力する。→MGSELが起動します
    MGSEL選択画面
  4. MGSELを終了するには、ESCキーを押して下さい。→DOS画面へ戻ります

ヒント: 他にも以下のような方法でMGS形式の音楽データファイルを再生することができます。

初代MSX(MSX1)の場合

 各種再生アプリ(プレイヤー)の実行環境である「MSX-DOS(ver.1)」や「MSX Disk BASIC(ver.1)」の動作条件として、本体に64KB以上のRAMが必要です。

 MSX1ではMSX-DOS2の上位互換OS「Nextor」と128KB以上の増設RAM(マッパーRAM仕様)の導入を強くオススメします。2020年頃から発売されている各種「多機能カートリッジ」を導入するとこの条件を満たすことが多いです。ただしマッパーRAM条件を満たしていても一部機種では動作しない場合があります。

 詳しくは MGSDRVの音楽データをMSX1で聴きたい! - Gigamix Online をご確認ください。

MSX2以降でMSX-DOS2が用意できない場合

 MSX-DOS(1)のシステムファイル(MSXDOS.SYS と COMMAND.COM の2つ)、および「MultiPlay-X(通称:MPX, たっく氏作)」などMSX-DOS(1)で起動するMGS対応のプレイヤー(演奏ソフト)を用意する。→ FSW倉庫

 MSX-DOSも用意できない場合は、互換DOSである「似非DOS for MSX」をダウンロードする。詳しくは 似非DOS for MSX 互換性チェックリスト - Gigamix Online をご確認ください。

MSX2以降でMSX BASICを使用する場合

 当クラブ制作の「DMシステム2」等、MGS形式データに対応する「拡張BASIC(BASICの機能を増強するパッケージシステム)」や各種ミドルウェアを用意する。→ DMシステム2 BGMプレイヤーのダウンロード

令和の今、MSX実機用の再生環境をイチから用意したい(導入事例)

 過去に発売されたものばかりを改めて入手することになるので手数は多いですが、やれなくはないレベルで可能です。ぎゃぶねこさんの解説記事が役立ちますので、ぜひお読みください。 gyabuneko.hatenablog.com

PC・スマートフォン(Webブラウザ)で聴く

MSXplay

 MSXplayは、MGSDRVやMuSICAなど各種MSX向け音楽データをWebブラウザ上で再生できるWebサービスです。

  1. Webブラウザにて https://msxplay.com/ へアクセスする。
  2. 【Drag and Drop your file here.】の枠に、拡張子.MGSの音楽データファイルをドロップする。

M3disp

#m3disp デスクトップ版でピアノロールのβ版を使えるようにしました。https://m3.ym2413.com/ MGS以外の形式(BGM,OPX,MPK,KSS)でもピアノロール表示可能です。 pic.twitter.com/CdIYvgK94u — DSA (@ym2413) 2023年5月13日

 M3dispは、再生中の発音をキーボードに重ねたり、ピアノロールを表示しながら音楽データをWebブラウザ上で再生できる、Webサービスです。

  1. Webブラウザにて https://m3.ym2413.com/ へアクセスする。
  2. 【Drag and Drop your MGS files here】の枠に、拡張子.MGSの音楽データファイルをドロップする。

Raspberry Pi Picoで聴く(MGSPICO)

先日RasPiPicでMGSDRV動かすことに成功したので基板化しました SDカードにMGSDRV本体、MGS曲ファイルを入れ、カートリッジにガッチャンコして使用します 曲送りできるようにスイッチもつけてみました#MSX #MGSDRV pic.twitter.com/1psVo56qZn — ハルマッキン (@Harumakkin) 2024年1月30日

bsky.app

  Raspberry Pi PicoとMSX実機向けハードウェアを用いた再生環境の登場です!SCC音源やFM音源カートリッジを装着することで、MSXの本体が無くてもMGSDRVやMuSICAなど各種MSX向け音楽データを再生することができます。

↓ MGSPICOのGitHubはこちら ↓ github.com

MGS形式のデータを作りたい

MSX実機、MSXエミュレータで作る

  1. MMLコンパイラ“MGSC(MGSC.COM)”をダウンロードする。
  2. MGSCのアーカイブに梱包されているMMLの仕様書 (MGSC111.TXT)をよく読む。
  3. テキストエディタMMLを入力し、テキスト形式で保存する。その際、拡張子は“MUS”にしておく。
  4. MGSCでMML(.MUS)をコンパイルし、MGS形式データファイル(.MGS)を生成する。
  5. MGS形式に対応したプレイヤー(演奏ソフト)で、音楽を聴く。

PC・スマートフォン(Webブラウザ)で作る

https://t.co/8Dw5t60X7Z https://t.co/eaY7EIk6sT のMGSDRVオンラインMMLエディタ(コンパイラ・MP3出力・シェア機能付き)の快適っぷりに、感動などという軽い感情を通り越して、頬に涙が溢れる状況。本当にありがとうございます…🤗 @ym2413 pic.twitter.com/QmLFYSm6df — Takashi Kobayashi (@nf_ban) November 2, 2019

  1. PC・スマホWebブラウザmsxplay.com へアクセスする。
  2. msxplay.com にて【MML EDITOR】をクリックする。
  3. MGS形式のMMLを入力フォームに記述し、【Compile】ボタンを押す。MMLの記述に間違いがない場合は楽曲が再生される。

MMLを書いてみる(作成事例)

 とりあえず、簡単な曲がどのように書かれているかを見てみましょう。以下のリンクをクリックすると表示されたMMLで演奏を行います。

ダウンロード

 MGSDRVに関連するフリーソフトウェアを紹介します。当チームの管理外のソフトについては、それぞれの作者のサイトで入手してください。  ソフト開発者の名称は敬称略させていただきました。

MGSDRV本体 (必須)

MGSDRV

 ミュージックドライバ本体です。MSX実機及びMSXエミュレータでMGS形式の音楽データを再生するときに必要です。

ソフト名MGSDRV ver.3.20
対応OSMSX-DOS2、Nextor
作者Ain./Gigamix
リソース 原版 MGSDR320.LZH 2020.11.23, 10991 Bytes
再圧縮版 MGSDR320.ZIP 2020.11.23, 11094 Bytes

ご注意: ver.3未満は当チームもコンテンツを確保していないためメンテナンスを行っておりません。

MGSC(楽曲データの作成)

 MGSDRV用のMML(.MUS)からMGSDRV形式データファイル(.MGS)を生成するコンパイラ。MGS形式データファイルの作成時に必要なソフトです。

ソフト名MGSC ver.1.11
対応OSMSX-DOS(1) 以降
作者Ain.
リソース 原版 MGSC111.LZH 1994.02.21, 17523 Bytes
再圧縮版 MGSC111.ZIP 2019.11.04, 17317 Bytes

MGSEL(楽曲データの再生、ファイラー)

MGSEL

 MGSELは、複数のMGSDRV形式楽曲データを簡単操作で再生できる、ミュージックプレイヤー(オーディオビジュアライザー)兼ファイラーです。

ソフト名MGSEL version 3.01v
ハードMSX2MSX2+MSX turbo R
対応OSMSX-DOS(1) 以降 ※MSX-DOS2、Nextorを推奨
作者Ain.
リソース 原版 MGSEL01V.LZH 1994.04.04, 27396 Bytes
再圧縮版 MGSEL01V.ZIP 2019.11.04, 27559 Bytes

ご注意:MGSELはMSX-DOS1の環境下でも起動はしますが、曲名一覧のインデックスファイル「MGSEL.DIR」を作成ツール「MGSF(後述)」で予め作成しておく必要があります。MGSEL.DIRが存在しない場合は楽曲データの再生ができません。MSX-DOS2以降ではMGSEL.DIRが存在しない場合はディスク内の楽曲データファイルを自動で検索し、一覧表示および再生が可能です。

MSP(楽曲データの再生)

MSP

 MSPは、MGSDRV形式楽曲データを再生するプレイヤー(オーディオビジュアライザー)です。上記MGSELはストレージ内の複数のデータファイルをファイラー形式で選択可能ですが、MSPはDOSコマンドラインで指定したデータのみを再生するという違いがあります。

ソフト名MSP version 1.01+(Plus)
ハードMSX2MSX2+MSX turbo R
対応OSMSX-DOS2、Nextor
作者Ain.
リソース 原版 MSP101P.PMA 1999.09.15, 3584 Bytes
再圧縮版 MSP101P.LZH 2019.11.04, 3684 Bytes
再圧縮版 MSP101P.ZIP 2019.11.04, 3783 Bytes

MGSF(MGSELの曲名一覧を作成)

ソフト名MGSF
対応OSMSX-DOS(1) 以降
作者サイバラ
リソース 原版 MGSF00G.PMA 1999.09.15, 5632 Bytes
再圧縮版 MGSF00G.LZH 2019.11.04, 5854 Bytes
再圧縮版 MGSF00G.ZIP 2019.11.04, 5964 Bytes

ご注意:MSX-DOS1の環境下でMGSELを使用する場合は、曲名一覧のインデックスファイル「MGSEL.DIR」を当アプリ「MGSF」で予め作成しておく必要があります。MGSEL.DIRが存在しない場合は楽曲データの再生ができません。

DMシステム2(BASIC環境で楽曲データの再生)

BASIC MGSDRV プレイヤー

 DMシステム2は、MSX BASICに強力な開発ライブラリを追加する「拡張BASICシステム(ミドルウェア)」で、MGS形式データファイルのBGM演奏機能を標準搭載しています。

 自作のBASICゲームプログラム等にDMシステム2を組み込むことで、例えばゲームBGMの演奏にMGS形式データが利用可能です。その際、MGSDRV本体やMSX-DOSを組み込む必要はありません

ソフト名DMシステム2 簡易BGMプレイヤー ver.2
ハードMSX(1)、MSX2MSX2+MSX turbo R
対応OSMSX BASIC ver.1.0以降 ※ver.2.0以降を推奨
※初代MSX(ver.1.0)では64KB以上の増設RAMが必要。詳しくは MGSDRVの音楽データをMSX1で聴きたい! - Gigamix Online をご確認ください
概要 MSXplayでコンパイルしたMGSデータをMSX実機のBASIC環境で演奏できる「MGSDRV BGMプレイヤー」をWebMSXに置きました。https://t.co/mGlKsd4dnO MSX2以上で動作。DOS・DOS2不要。サンプル(MGS・MML)付き。ファイラーではないのでドライブ・ディレクトリ移動は自力でお願いします。🤗 — Takashi Kobayashi (@nf_ban) November 2, 2019
BGMプレイヤーのBASICプログラムは DS2BGMON.BAS です。
DMシステム2の組み込みに必要なファイルは AUTOEXEC.BAS、DISKINST.BIN、DS2INST.DAT の3点です。組み込み時は3点以外のファイルは消去していただいて構いません。また、AUTOEXEC.BAS は自身のプログラムへRUNするために書き換えて使用してください。
作者Gigamix
リソース https://www.gigamix.jp/ds2/ds2bgm.html

 DMシステム2を用いたプログラミング方法や開発向けパッケージディスクのダウンロード等、詳しくはDMシステム2 ホームページをご覧ください。→ https://www.gigamix.jp/ds2/

その他の演奏ソフト (プレイヤー)

 公式アプリのMGSEL以外にもMGSDRVに対応した演奏ソフトは数多く存在しています。お好みでどうぞ。

MGSP(ver.2, オーディオビジュアライザー版)

ソフト名MGSP ver.2
ハードMSX(1)、MSX2MSX2+MSX turbo R
対応OSMSX-DOS2、Nextor
作者HRA!(twitter@thara1129)
概要 12/18 夜の作業 MGSP更新https://t.co/P2PpwxWX35 (1) MGSP.INI に PRELOAD_TRY_CNT を追加 (2) 再生開始時に PRELOAD_TRY_CNT の数だけプリロード試行する機能を追加 (省略時は 5) (3) 進捗表示バーの輝点が微妙にずれていたバグを修正#MSX #MGSP pic.twitter.com/R1lC3cUCxJ — HRA! (@thara1129) 2020年12月18日
リソース https://hra1129.github.io/software/mgsp_body.html

MGSP(ver.1, コマンドライン版)

MGSP ver.1

ソフト名MGSP ver.1.0
用途DOSコマンドライン上でMGSDRV形式楽曲データを再生・停止する
ハードMSX(1)、MSX2MSX2+MSX turbo R
対応OSMSX-DOS2、Nextor
作者HRA!(twitter@thara1129)
リソース https://hra1129.github.io/software/mgsp1_body.html

MGSQC

MGSQC

ソフト名MGSQC version 1.11
用途DOSコマンドライン上でMGSDRV形式楽曲データを再生・停止、及び各種コントロールを行う
※MGSQCはver.1.12へアップグレードするパッチがかつて存在していました https://twitter.com/koike_manu/status/1716604005500190765 が、現在では入手不可能です。
ハードMSX(1)、MSX2MSX2+MSX turbo R
対応OSMSX-DOS2、Nextor
作者いーた
リソース 原版 MGSQC111.LZH 1994.01.28, 3072 Bytes
再圧縮版 MGSQC111.ZIP 2023.10.24, 3003 Bytes

MultiPlay-X(MPX)

MPX

ソフト名MultiPlay-X (MPX) ver.1.13
用途MGS, MPK, MuSICA, OPXの4形式に対応したオーディオビジュアライザー
※ver.1.12では、MGSDRV ver.3.19以降を認識しない現象が報告されています。1.12のご利用には、この下にある非公式修正パッチをお試しください。
ハードMSX2MSX2+MSX turbo R
対応OSMSX-DOS(1) 以降
作者たっく!
リソースMPX113.LZHMSX Resource Center
ソフト名MPXPATCH
用途MPX ver.1.12用・MGSDRV ver.3.19以降を認識しなくなる現象の非公式修正パッチ
対応OSMSX-DOS+MPX ver.1.12
作者ごりぽん
リソース MPXPATCH.LZH 2020.01.22, 3132 Bytes
MPXPATCH.ZIP 2020.01.22, 3294 Bytes

MuPLAY

MuPLAY

ソフト名MuPLAY ver.2.61
用途MGS・MIO・MPK・勤労5号(MuSICA)の4形式に対応したオーディオビジュアライザー
ハードMSX turbo R
対応OSMSX-DOS2、Nextor
作者SAKA
リソースhttps://github.com/K-Sakanoshita/MuPlay

MsPLAY(MASARU-N MuSIC PLAYER)

MsPLAY

ソフト名MsPLAY ver.0.07
用途MGS・MIO・MPK・勤労5号(MuSICA)の4形式に対応したオーディオビジュアライザー
ハードMSX2MSX2+・MSX turbo R
対応OSMSX-DOS2
作者まさるん
リソースMSPLY007.LZHFSW倉庫

EDCOM

ソフト名EDCOM3 3.24
用途FM-BIOS, MGS, MIDI, 勤労5号(MuSICA)の4形式に対応した拡張BASIC
ハードMSX2MSX2+MSX turbo R
対応OSMSX BASIC ver.2.0以降
作者杉山 夏樹
リソースhttps://www.vector.co.jp/vpack/filearea/other/msx/edcom/

XMGS

ソフト名XMGS ver.0.7
用途MGSDRVをBGM演奏に使える拡張BASIC
ハードMSX2MSX2+MSX turbo R
対応OSMSX BASIC ver 2.0以降
作者たろさん
リソースXMGS07.LZHFSW倉庫

MDPlayer

ソフト名MDPlayer
用途#MDPlayer STBL137 2021/02/20 Core:MGSDRV:MGSDRV暫定対応 別途https://t.co/uV7dM6pkdQをフォルダーに入れておく必要があります。https://t.co/xWAqrUyB5p — kumatan kumakumakuma (@kumakumakumaT_T) 2021年2月20日
対応OSWindows
作者Kumata
リソースhttps://kuma4649.github.io/
補足MGSDRV.COM が実行ファイル(MDPlayer.exe)と同じフォルダに入っていることを確認してください。入っていない場合はMGSDRV.COMを追加してください。

KbMedia Player

ソフト名KbMedia Player
用途MGSデータ形式を含む各種音楽データに対応したプレイヤー
対応OSWindows
作者Kobarin
リソースhttps://kobarin.sakura.ne.jp/

MSXplug

ソフト名MSXplug(in_msx.dll)
用途MGS, MPK, MuSICA, OPLLDriver, MoonBlaster, kssなど各種MSXプラットフォームの音楽データに対応したWinamp向けプラグイン
対応OSWindows
作者DSA
リソースhttps://github.com/digital-sound-antiques/in_msx

Winamp

ソフト名Winamp
用途各種データ形式の音楽データに対応したプレイヤー(これにMSXplugをインポートします)
対応OSWindows
作者Winamp SA
リソースhttp://www.winamp.com/

仕様書・ドキュメント

MGSDRV プログラムインターフェイス仕様書

ソフト名MGSDRV プログラムインターフェイス仕様書(ver3.15用)
用途外部からMGSDRVを使用するためのマニュアル
作者Ain.
リソース Web版 https://gigamix.hatenablog.com/entry/mgsdrv/api-specifications
原版 MGSDRSPC.LZH 1994.01.25, 11969 Bytes
再圧縮版 MGSDRSPC.ZIP 2019.11.04, 11550 Bytes
Documents translated to English and French https://www.msx.org/downloads/msxdrv-v320 (MSX Resource Center)

MGSDRV v3.xx データ構造 解析資料

ソフト名MGSDRV v3.xx データ構造 解析資料
概要https://t.co/NBQURLqzyx こちらですね。MGSDRVを解析したわけではなく、MGSCから出力されるバイナリを調べました。圧縮アルゴリズムのみZ80コードを読みました。 — DSA (@ym2413) 2023年1月31日
作者DSA
リソース https://github.com/digital-sound-antiques/mgsc/blob/master/mgs-format.md

その他資料

 その他、識者の方々による技術資料もご覧ください。

gigamix.hatenablog.com

開発支援・その他

 MGS形式データファイルの作成時に便利なソフト、および関連のソフトです。

MGSCNV(v2.xx→v3.xx データコンバータ)

ソフト名MGSCNV version 2.02
用途MGS v2.xx形式のデータファイルをv3.00形式へ変換する
対応OSMSX-DOS
作者Ain.
リソース 原版 MGSCV202.PMA 1992.10.21, 2688 Bytes
再圧縮版 MGSCV202.LZH 2019.11.04, 2759 Bytes
再圧縮版 MGSCV202.ZIP 2019.11.04, 2864 Bytes

MGSARC(データの圧縮・展開)

ソフト名MGSARC version 1.01
用途拡張子MGSの音楽データを圧縮/展開するユーティリティー
対応OSMSX-DOS
作者Ain.
リソース 原版 MGSARC01.PMA 1993.01.17, 7168 Bytes
再圧縮版 MGSARC01.LZH 2019.11.04, 7107 Bytes
再圧縮版 MGSARC01.ZIP 2019.11.04, 7171 Bytes
ソフト名MGSRC version 1.11
用途MGS形式データをMMLへ逆コンパイルをする
対応OSMSX-DOS
作者MOGU & Ain.
リソースMGSRC111.PMA @FSW倉庫

MGSMIS(データの逆コンパイル不可フラグ付与)

ソフト名MGSMIS ver.1.03_c
用途マシーンID、逆コンパイル不可フラグを付与する
対応OSMSX-DOS
作者MOGU & Ain.
リソースMGSMIS03.PMA @FSW倉庫

MGSBENCH(データの負荷テスト)

ソフト名MGSBENCH Ver.1.00
用途MGSDRVの楽曲データを用いた負荷テスト(ベンチマーク)ゲーム組み込みの事前確認に
対応OSMSX-DOS2
作者Mattya
リソース 原版 MGSBENCH.LZH 1996.07.31, 3249 Bytes
再圧縮版 MGSBENCH.ZIP 2020.11.27, 3414 Bytes

ANIMECHA(MGSDRV対応 グラフィックエディタ)

ソフト名ANIMECHA
用途MGSDRVをBGM演奏に使えるSCREEN5専用グラフィックエディタ
対応OSMSX-DOS
作者TEMPEST
リソースAM200.ZIP @MSX Resource Center

現在は入手不可能

ソフト名MMDMGS.COM / MMDMGSP.COM
用途MMDのメモリブロックを使って常駐, MMDMGSで常駐させたMGSDRVを使ってMGSファイルを演奏
対応OSMSX-DOS2
作者にゃんTAC
リソースMMDMGS01.LZH ※2020年現在は不明
ソフト名MGSQCV for MSXView
用途常駐したMGSDRVをMSXView上からコントロールするDA(デスクアクセサリ)
対応OSMSX turbo R および MSXView
作者いーた
リソースMGSSQV.LZHRUIJI-NET

その他ツール

 識者の方々による各種ツールもご覧ください。

gigamix.hatenablog.com

アーカイブファイルの展開方法

 パソコン通信時代に流通していたMSX関連のアーカイブファイルは古くから PMArc形式(拡張子 .PMA) または LZH形式(拡張子 .LZH) が多く採用されていました。それぞれの圧縮ファイルを展開するには、展開(解凍)ソフトが必要です。これらの圧縮ファイルを展開するソフトはいくつか存在しますので、インターネットで探してみてください。

MGSDRVの転載、配布について

 当クラブで配布する各種アーカイブの転載、配布は自由に行なって構いませんが、アーカイブの内容は変更しないでください。

 不明な点があれば、下記WEBページ、またはメールアドレスまでお問い合わせください。

 過去に流通したMGSDRVのLZHアーカイブに旧ドメイン(gigamixonline.com)のメールアドレスや住所などの個人情報を記載したドキュメントファイルが含まれていますが、2020年12月現在これらはアクセス不能(メールアドレスは存在しませんし、転居しました)となっておりますので、必ず最新版のアーカイブを当クラブから入手したうえで転載してください。よろしくお願いします。

MGSDRV へのリンクのお願い

 MGSDRVへのリンク先は https://www.gigamix.jp/mgsdrv/ でお願いします。
※現在のドメイン gigamix.hatenablog.com が将来的に変更される可能性があるため。

Please link to MGSDRV at the following URL: https://www.gigamix.jp/mgsdrv/
* The current domain gigamix.hatenablog.com may change in the future.

MGSDRVの組み込みライセンス

 MGSDRVを組み込んでMSX向けデジタルコンテンツを開発・配布することができます。販売価格の有料・無料を問わず、ライセンス料は無料です。MGSDRVを自ソフトへ組み込んで配布したい方は、以下の組み込みライセンスの条件に準じてください。よろしくお願いします。

1. プログラムは改変しないこと

  • オリジナル版MGSDRVの配布条件に「改変しないこと」が含まれます。よって、当サイトで配布するアーカイブに含まれるプログラムファイルをそのまま改変せずに利用してください。プログラムを改造した形で組み込むことは禁じます。
  • ROMカートリッジ化のような「DOS用のファイルから何からのバイナリデータへの変換作業」についてはプログラムの改造行為に含みません。
  • 配布するアーカイブにテキストデータ(ドキュメントファイル・ヘッダファイル)が含まれますが、可能であればそのまま改変せずに含めてください。なお、テキストに関しては次項に緩い条件を付けましたので、そちらの条件に合致していれば問題ありません。

2. ライセンスの表記をすること

  • アーカイブに含まれるテキストファイル(ドキュメントファイル・ヘッダファイル)の同梱をもってライセンス表記に代えさせていただきます。LZH形式のアーカイブファイルそのものを同梱していただくのがベストな手段です。
  • 容量不足や技術的な理由でデジタルコンテンツ内にファイルを含められない場合は、デジタルコンテンツ内のクレジット表記やオンラインヘルプ、Webサイト、マニュアル、パッケージ等に以下のテキストを1ヵ所以上明示してください。
      MGSDRV Ⓒ Ain./Gigamix または MGSDRV (C) Ain./Gigamix
  • なお、当クラブへ事前にご連絡いただけるのであれば、技術情報の提供やプロモーション等に協力させていただきますので、ぜひお待ちしております。:-)

3. ライセンスの料金はありません

  • ライセンス料金は無料です。当クラブは料金を設定していません。
  • なお、万がいち当クラブが何らかの代金がいただけるのであれば、サーバ維持費用等に有り難く利用させていただきますので、ぜひお待ちしております。:-)

BASIC版(DMシステム2)の組み込みについて

 DMシステム2はMGSDRV(機能限定版)がデフォルトのBGMドライバとして実装されています。MGSDRVの組み込み条件に加え、DMシステム2の組み込み条件にも準じてください。

キャラバンブーマー。曲は90年代にパソ通で主流を占めたMGSDriverである。だもんで、プレイヤーがあると好きに鳴らせる。タイトルと作曲者も分かるぞ。ヨナオケイシさんの曲が再びMSXで聞けるという感動の前に視界が涙で滲むぜ! — MSX研究所長 (@yoshimatsuTUQ) September 2, 2020
 2020年発売のMSX2対応シューティングゲーム「キャラバンブーマー」では、BGMドライバにMGSDRV(+ミドルウェアにDMシステム2)が採用されています。

akiba-pc.watch.impress.co.jp

過去にMGSDRVを組み込んで流通していたデジタルコンテンツの再配布・再販売について

 過去にMGSDRVを含んだソフトウェアが公開または販売されておりましたが、改めて再配布・再販売を行う場合はこの条件に揃えていただきたく存じます。

ROMカートリッジ化の組み込みについて

 ROMカートリッジ化における組み込み条件のお問い合わせも多数頂戴しております。当クラブではROMカートリッジ化についてもライセンスを承認しています。

 しかしながらMGSDRVはプログラムが自己書き換えを行ったり(=ROMでは書き換えができないため誤動作します)、RAMの7000h以降にワークエリアを設定するなど、現状RAM 64KB以上を必要とする環境下での動作を前提としていますので、特に初代MSX(MSX1でRAM64KB未満の機種)向けのROMソフト化は困難と考えられます

mgsdrv.com を丸ごとROMにおいて、+0010h~(だったかな?)を RAMのpage1の 6000h~ にコピーして使えばよいと思います。そこにおかれる前提でアドレスが設定されてるので。 — HRA! (@thara1129) 2020年12月7日
元々がPage1(確か6000h~)で動作しているのでリロケートしないと他には置けないですね。ドライバのサイズは8KB上限と定められていたかと思いますが…ワークRAM込みだったかな?やっぱりROM組み込める版が必要か…。 — ごりぽん (@goripon_tw) 2020年12月7日
ちょっと実験してるんだけど、 MGSDRVの演奏データはRAM上に無いと正しく演奏されないみたいですね。 — MSX研鑚推進委員会 (@mdpc___) 2023年1月24日
MGSDRVのソース見ていて気付いたんだけど、ループカウンタが曲データ内に保持されていますね。 MGSデータ解析資料によると… 59 00 ll hh : ] command ~ …となっていますが、この00の部分にループカウンタの現在値を書き込んでいるので、少なくともループ使ってるデータはROMに置けません。 https://t.co/NOHzW2PdLL — ごりぽん (@goripon_tw) 2023年1月31日
今、ざっとMGSデータ解析資料見てみましたが、ループコマンド以外にそれっぽい値を持っているコマンドはありませんでした。よって「回数指定のループコマンド」を使っていないMGSデータはROM上に置いても再生出来るのではないかと。 — ごりぽん (@goripon_tw) 2023年1月31日
「ROM対応」と一口に言っても ①曲データを置くことが出来る ②ドライバ本体を置くことが出来る があってMGSDRVの場合は ①回数指定ループコマンドが自己書き換えしているのでROMに置けない(使わなければ置ける) ②プログラムとワークは分離されているがワークが非リロケータブルなのでROMに置けない — ごりぽん (@goripon_tw) 2023年2月2日
ループコマンドについてはユーザーからは「ネスト回数無制限」というメリットと、ドライバ開発者側からは「ループカウント変数の管理の簡略化(=軽量化)」というメリットと、それぞれトレードオフなので、販売規模でのROMカートリッジの自作が非現実的だった時代の選択としては妥当なのかなと。 — ごりぽん (@goripon_tw) 2023年2月2日
②に至っては、そもそも「フロッピーディスクからRAMにロードして実行する」のが前提のDOS2常駐プログラムなので、ワークがプログラムの隙間に点在してないだけで僥倖と言えるかと。当然ワークのリロケータブル化は実行時負荷が増えるので、意味がなければやる理由もなし。 — ごりぽん (@goripon_tw) 2023年2月2日

ROM化は困難ではあるが、事例はある

 MGSDRVをROM化して実行する事例は、無いわけではない、です。

需要があるかどうかわかりませんが MSX版 ”超時空要塞マクロス” のタイトル曲差し替え(IPSパッチファイル) を作りました。 FM音源必須でRAM64Kバイト以上のMSXで動きます。 MGSDRVを使用しました。 ※曲はaro氏による作成です (実は これがやりたかったんです)https://t.co/JvlQHfeoaM pic.twitter.com/7Ap8XzYZLs — MSX研鑚推進委員会 (@mdpc___) 2023年1月24日
MSX用 と MSX2用 ”ハイドライド3” のFM音源化パッチを公開します。 ある程度の確認はしましたが検証不足なのでバグが出る可能性があります。私のHP https://t.co/vdqvObDX9N DSA氏 https://t.co/OFKGB8cZJ0 MSX用はメモリが64Kバイト必要です。 ※要FM音源(FMPAC) 曲はDSA氏による作成です。 — MSX研鑚推進委員会 (@mdpc___) 2023年1月29日
パッチ公開のご許可をいただいたので、こちらに掲載させていただきます。@mdpc___ さま、ありがとうございます。解析本当にお疲れさまでした!! https://t.co/nYubutmYFx pic.twitter.com/QTeBsTmX9D — DSA (@ym2413) 2023年1月29日

 MGSPのROMイメージ化や、既存のROMカートリッジ用ゲームソフトのROMイメージにMGSDRVのドライバ本体とデータを含めたパッチ(ipsパッチ)を適用したうえで実行できるということは「ROM化ができないことは、ない」という感じです。

現状だとMGSDRVの実行ファイル丸ごとROMに組み込んだうえでRAM上にMGSDRVのドライバ部分を転送しないと使えませんね(苦笑)。やっぱりROMに組み込めるドライバは必要だろうか…。 https://t.co/zVwoYSnx7t — ごりぽん (@goripon_tw) 2020年12月7日
 IPSパッチを作ってて分かった事。 MGSDRVは初期化時にSCC搭載ROMのバンクを変更してしまうので SCC搭載のメガROM(8Kバンク方式)から呼び出す場合は注意が必要。 (メモリ上にプログラムを置いて対処するのが良いかも) — MSX研鑚推進委員会 (@mdpc___) 2023年1月25日

 また、1Mbit(128KB)以上の容量を持つ「メガROM形式」であれば、MSX-DOSの互換OSでありオープンソースライセンスフリーな「LSX-Dodgers」を用いることでMSX-DOS1と同一の環境においてディスクイメージをメガROMイメージへ変換し、ROMカートリッジ化することは可能です。なお、MSX-DOS(LSX-Dodgers)の起動条件として本体RAM容量が64KB以上必要です。

↓ LSX-DodgersのGitHubはこちら ↓ github.com

 本来ならMSX1対応やROM用途向けドライバの新規開発を行うべきなのでしょうが、現状はそうなっていません。予めご了承ください。

ソースコードは配布しておりません

MGSDRVそのものの開発に関するライセンスとしては、開発当事者以外にソースコードの配布が禁止されている(その条件でソースコードを提供していただいた)のでソースを公開できないのは心苦しいのですが、現状できることとしては当クラブで開発したものを配布するのは可能、ということかと。— Takashi Kobayashi (@nf_ban) November 23, 2020

 MGSDRVのソースコードは現状の配布ライセンスに基づき、当クラブから配布することはありません。予めご了承ください。

MGSDRVへの機能追加は現状行えません

 MGSDRVはオリジナルの開発者のAin.氏がMGSDRV関連のソースリストをすべて紛失してしまったことで開発が終了しました。当チームはパソコン通信時代にたまたまMGSDRV(MGSDRV.COM)のソースコードを分けていただいていた為、そのソースコードを利用してver.3.18以降をリリースしています。

お察しの通りMGSDRVのソースコードはあるのですがMGSCのソースコードは消失しているので機能拡張するのは困難です。昨今の多彩な音源カートリッジへも対応するような新たな設計のドライバと制作環境が生まれたほうが未来があると思うんですが、どなたか〜(他力本願 — Takashi Kobayashi (@nf_ban) 2023年11月30日

 再生プログラム(MGSDRV.COM)以外の全てはソースコード・関連データの消失につき仕様不明という状態です。ドライバに対する機能追加や仕様刷新、不具合の修正にはMMLコンパイラ(MGSC.COM)の設計も考慮しなければなりませんが当クラブではMMLコンパイラ(MGSC.COM)のソースコードを確保していませんのでドライバに対する大きな改修は現状困難です

 MGSDRV形式の仕様を把握する作業やMMLコンパイラの制作作業等、当プロジェクトを継続するにはリソースが足りません。ご協力いただける方がいらっしゃいましたらぜひ情報提供をお待ちしています。

既知のバグ情報、未確認情報

 別ページにてご紹介します。ご迷惑をおかけします。バグ情報・不具合情報をお待ちしております。当チーム @nf_ban(主宰) または @goripon_tw(プログラム担当) までお寄せください。要望等も、現状ドライバを機能追加出来ない状態ですがいったんお預かりさせていただきます。

gigamix.hatenablog.com

愛好家のデータ作成例・データ置き場

 別ページでまとめました。 gigamix.hatenablog.com

愛好家のテクニック・技術資料

 別ページでまとめました。 gigamix.hatenablog.com

バージョンアップ履歴

3.19→3.20 (2001.10.12)

  • Z80/5.37MHzモードへの対応が不完全だったので修正した

3.18A→3.19 (2001.9.12)

  • パナソニックFS-A1FX/WX/WSXZ80/5.37MHzモードに対応した (清野まさきさん、ありがとうございます)

3.18→3.18A

  • バージョン番号が3.17のままだったので修正

3.17→3.18

  • スロット構成によってはSCCが鳴らなくなってしまうバグを修正した
  • /Sxオプションによるスロット設定値のミスを修正した
  • メンテナンスをGIGAMIXに委託

ToDo

  • バグ修正
  • 初代MSX(MSX1)の実機+Nextorの実行環境において常駐インストールでフリーズする問題の解消
  • 各種MSXエミュレータ、各種MSX互換機での動作検証
  • MGSDRVプログラムインターフェイス仕様書(ver3.15用)の見直し・最新の内容へ更新
  • MGSDRVをWindows PC上で使用できるようにする→ MSXplug のリリースにより達成。thanks to @Digital Sound Antiques
  • MGSCを復刻し、MGSDRVに新機能を搭載する
  • MGS形式MML(Music Macro Language)のレクチャー

連絡先

MSX Club Gigamix
Website https://www.gigamix.jp/
Twitter @nf_ban (Takashi Kobayashi)
E-mail nf_ban@gigamix.jp (Takashi Kobayashi)


  1. Ain.氏は現在MSXフリーソフトウェアのサポートを一切行っておりませんので、MGSDRVに関するご質問は当チーム @nf_ban(主宰) または @goripon_tw(プログラム担当) までお寄せください。
  2. SCCはコナミ株式会社のウェーブ音源ICです。
  3. Windows 10をお使いの方は「MSXマガジン 永久保存版3」同梱版をおすすめします。MSXマガジン永久保存版1のMSXPLAYerMSX-DOS2が起動しないため、MGSDRVは常駐できません。また、他の演奏ソフトを用いてもSCC音源は発声しません。永久保存版2、同3をご利用下さい。
  4. その他のエミュレータでも動作するかもしれませんが非推奨です。