Gigamix DM-SYSTEM2

概要 DMシステム2とは

2020年12月24日現在

DMシステム2とは

DMシステム2とは、MSX「超」活用法だ!

 MSX2マシンでマルチメディア(もどき)ソフトをMSX-BASICで製作できる、BASIC支援ツール。それがDMシステム2です。

 DMシステム2は「拡張BASIC」の形でそのパワフルな機能を提供します。DMシステム2の機能をMSXで利用するには、行番号をふってプログラムを書いたり、“LIST”でプログラムリストを表示したり、“RUN”でプログラムを実行したり…など、MSX-BASICの機能をそのまま利用してBASICプログラムを組みます。ですから、これまで培ったMSX-BASICのノウハウを、そのままお使いいただけます。

 MSX-BASICでは技術的に難しく、かつ魅力的な機能をDMシステム2は数多く用意しています。DMシステム2を利用することで、BASIC上でありながらインディーズソフトらしからぬクオリティをもったプログラムを開発できることをお約束します。


強力な日本語表示

 日本人なら日本語くらいはまともに使いたいものです。ところが「日本語を表示したい」という単純な希望を、MSX2ではとても苦手にしていました。BASICの“PUT KANJI”ではたった1文字しか表示できませんし、FS-A1やHB-F1に見る廉価版のMSX2では、なんと漢字ROMすら搭載されなかったからです。

 「漢字BASIC」という便利なものもありますが、これを使うと事実上「MSX2+専用ソフト」になってしまい、これではMSX2の立場がありません。縮小しつつある現在のMSXシーンにおいて、より多くのMSXユーザーへソフトをサポートすることは極めて重要であると我々は考えます。

 そこでMSX2の粗悪な日本語環境を大幅にパワーアップさせる「日本語表示機能」をDMシステム2で提供します。文字列を“CALL KPRINT”という拡張命令で簡単に表示できることはもちろん、最大64ドットまでの拡大縮小、影・縁取り・斜体など豊富な装飾機能を搭載。今までのMSXではなかなか目にすることのできなかった高度な日本語表示が可能となります。

 また、数多くの周辺機器に対応した「フォントドライバ」を用意しました。たとえ漢字ROMが搭載されていないMSX2でも、ドライバを利用することによってゴーインに日本語表示を可能にします。これは、漢字ROMを利用するだけの今までの手法では到底実現しなかった画期的なものです。


音声効果

 マルチメディアもどきのソフトを作るからには、見た目だけはなく音楽や効果音など「音の表現」にもこだわりたいですよね。ところがMSX-BASICではそれにも限界があります。音楽を演奏しようにも、BASICの“PLAY”による演奏では、演奏処理中はそれより先に他の処理が進めない致命的な欠陥があります。

 そこでDMシステム2は「BGM演奏機能」を搭載。自動的に音楽を演奏させる一方、BASICのプログラムを同時に動作させることができます。DMシステム2では日本のMSX系パソコン通信ネットにおいてメジャーな音源ドライバである、“MGSDRV”を標準でサポートしました。MGSDRVはFM音源(OPLL)・PSG音源・SCC音源の3音源に対応し、最大17音を同時発声することができます。

※ SCCはコナミ株式会社のウェーヴ音源LSIです。

 MGSDRV以外のBGM規格で演奏したいなら「BGMドライバ」を変更するだけで対応できますし、しかもドライバに関係なく共通したプログラム環境をユーザーへ提供します。

 その他、MSX2でもMSX2+でもほとんどturbo RのようにPCMで喋らせることができる「PCM再生機能」や、ゲームにかかせない「効果音(SE)機能」もあります。これらを駆使して楽しいソフトを作りましょう。


映像効果

 当時は画期的だったものの、今となってはかなりヤバくなってきたMSX2のグラフィック能力。これを最大限に引き出す為の足がかりをDMシステム2がお手伝いします。パレットアニメーションさせながらBASICプログラムを同時に動かしたりできるのはもちろん、CGの拡大縮小回転、半透明、そして圧縮したCGデータを高速に展開等々…。思わず使ってみたい特殊効果をMSX2で実現しました。あとはグラフィッカー・CGデザイナーのセンスで、驚くほど素晴らしいビジュアルが作れることでしょう。


地味だけど助かる諸機能

 BASICのプログラムは簡易であるがゆえにかえって面倒くさいなと思う処理は結構あるものです。2バイトの読み書き、文字列をメモリと読み書き、ファイルのロード…。BASICプログラムを組んだことがあるなら誰でも欲しがるような拡張命令をDMシステム2では数多く用意しています。

 また、MSXでゲームソフトを遊ぶには欠かせなかったSRAMカートリッジ「PAC (Pana Amusement Cartridge)」にも対応しました。自作ゲームのセーブ情報をPACに書き出すなんてこともできます。


ハードウェアの差異を吸収

 DMシステム2は、MSX2・MSX2+・MSX turbo R・MSXエミュレータの計4つの規格に共通したソフトウェア環境を提供します。DMシステム2の機能を優先的に利用してプログラムしてゆけば、4つの規格やMSXマシンの微妙な個体差をDMシステム2が吸収し、多くの機種でほぼ同様に動作させることができます。これにより、MSXシーンではかねてから問題視されていながらも有効な対策がなかった「いろんな機種での動作チェック」の手間が大幅に削減できます。

 これを具体的に説明すると、MSX2規格ではオプション扱いだったものの、MSX2+規格では標準装備された「漢字ROM」や「漢字BASIC」の機能を使用しているがために「MSX2+以降専用ソフト」となっていたソフトが、DMシステム2の漢字表示機能を利用すればMSX2でも動作させることができますし、PCM音源の使用を理由に「MSX turbo R専用ソフト」としなくても済むのです。

 MSX2+の自然画表示やturbo Rの高速な計算能力など、ハードウェア自体の性能を強力に依存するような内容は、たとえDMシステム2を用いても、MSX2との差を埋めることはできません。しかし、MSX2でも実現できそうなことは積極的にMSX2へ対応し、できるだけ多くのMSXユーザーに対応するようなソフトウェア作りに励みたいところです。これは、縮小化しつつある現在のMSXシーンにおいて、もはや共通の使命だと思います。

 ゲーム、ディスクマガジン、CG集、音楽集…。MSX2で動くソフトとはとても思えないようなマルチメディアまがいのソフトウェアをBASICで作って、世間をアッと言わせましょう。

DMシステム2の導入事例について 採用実績とリンク もぜひご覧ください。

対応アーキテクチャ

※DMシステム2は本来MSX2システム以降での動作を前提としています。MSX1の場合、MSX2のVDPを用いる機能は利用できません。


対応OS

※Nextor環境下の場合、マッパーRAMおよび多機能カートリッジとの相性で一部の機種では利用できない場合があります。


動作確認に用いるMSXエミュレータ

  • MSXPLAYer 
  • WebMSX
  • blueMSX

※Windows 10をお使いの方は「MSXマガジン 永久保存版3」同梱版をおすすめします。


過去に動作確認していたエミュレータ

  • RuMSX (Microsoft Windows 95/95/2000対応 MSX turbo R エミュレータ)
  • freeMSX (Apple Power Macintosh対応 MSX2エミュレータ)
  • fMSX98/AT (NEC PC-98x1シリーズ又はPC-AT互換機対応 MSX2エミュレータ)

※fMSX for Windows、fMSX-DOS、fMSX for Macintoshなど、fMSXの原本であるfMSX-UNIXの古いソースリストを流用した各種エミュレータではそれ自体のバグにより一部の機能が動作しません。

対応機器

標準で対応する機器

  • MSX標準 漢字ROM
  • MSX-MUSIC(OPLLのFM音源、FM PAC)
  • コナミのSCC音源カートリッジ(「スナッチャー」、「SDスナッチャー」等)
  • MSX View仕様12ドット漢字(FS-A1GT、MSXView漢字カートリッジ)
  • 日本語MSX-DOS2
  • ジョイパッド
  • マウス
  • “Pana Amusement Cartridge”のバッテリーバックアップSRAM
  • 拡張RAM(メモリマッパー仕様)

オプションで対応する機器

  • HALNOTE(HAL研究所)
  • 松下仕様12ドット漢字フォント(FS-A1FM、FS-4600F、通信カートリッジ FS-CM1等)
  • かんたん手帳リフィルくん(アスキー)
  • 各種MIDIインターフェイス
  • と~くまん(エミールソフト)
  • PCCM忍者タップ(PCCM)

とりあえず使ってみる

難しい話はあとにして、とりあえずDMシステム2を起動してみましょう。

インストール

 ダウンロード ページにある「DMシステム2・ミニマムインストーラ」から以下の3ファイルを抜き出してください。

AUTOEXEC.BAS  インストーラ(BASIC)
DISKINST.BIN  インストーラ(マシン語:BF00h~)
DS2INST .DAT  DMシステム2 本体

MSX-BASIC上にてインストールプログラムを実行します。

RUN "autoexec.bas"

インストールが正常に行われると、DMシステム2の拡張命令が一覧表示できます。

CALL HELP

DMシステム2をインストールした状態で何度もインストールしようとするとエラーになります。

File already exists
Ok

「ユーティリティディスク」から抜き出す場合、インストールプログラムは DISKINST.BAS となります。DISKINST.BASの内容は以下の通りです。

10 CLEAR 200,&H8800
20 BLOAD "diskinst.bin",R → DMシステム2をインストール
30 CALL SYSON → DMシステム2を初期化

DISKINST.BASを用いる場合はBASICフリーエリアが狭くなっていますので、DMシステム2のインストール終了後にフリーエリアを広げてプログラミングを開始してください。

CLEAR 200,&HD800

アンインストール

DMシステム2の起動中、MSX-DOSで作業したくなったり、他の拡張BASICを利用したい場合は、MSX-BASICからDMシステム2を切り離す必要があります(アンインストール )。

DMシステム2をアンインストールする場合は以下の命令を実行してください。

CALL SYSOFF

アンインストールが正常に行われると、Okプロンプトを表示してDMシステム2が終了します。

MSX-DOSへ復帰する際に“CALL SYSOFF”を実行しないままMSX-DOSへ復帰すると、一見異常が無いように見えますが、そのまま作業を続けるとマシンが暴走したり、最悪の場合ディスクを壊す危険性がありますので、必ずアンインストールを実行してください。


再インストール

アンインストールしたDMシステム2をもう一度インストールしたい場合(再インストール)は、インストール時と同じ要領で、MSX-BASICからインストールプログラムを実行してください。

RUN "autoexec.bas" ← ミニマムインストーラの場合
RUN "diskinst.bas" ← ユーティリティディスクの場合
[Back]トップページへ