【特別企画】

早速「ザナック」をプレイ! 「MSX0 Stack」ファーストインプレッション

MSXエミュレータはやや荒削りながら、今後に期待が持てる仕上がり

 2023年3月12日、東京秋葉原のUDXで、次世代MSXプロジェクトの開発者向けカンファレンス「DEVCON 3」が開催された。DEVCON 3では、現在クラウドファンディングが行われているMSX0や、今後登場予定のMSX3、MSXturboについの最新情報が公開された。

 今回のDEVCON 3は、昨年行われた「DEVCON 1」とは異なり、参加にNDAを結ぶ必要はなく、Zoomでの生中継も行われた。DEVCON 3については、また別途レポートする予定だが、今回は、会場で開発者などに抽選で先行貸与された「MSX0 Stackプロトタイプ」を試用することができたので、ファーストインプレッションをお届けする。

クラウドファンディングのPLAN Aと同じくGroveセンサーキットも付属

 「MSX0 Stackプロトタイプ」(以下MSX0プロト)は、クラウドファンディングで選べるプランのうち、基本のプランであるPLAN Aのリターン品とほぼ同等のものである。ハードウェアについては、ほぼクラウドファンディングのリターン品と同じだと思われるが、搭載されているMSXエミュレータなどのソフトウェアについては、あくまでもプロトタイプであり、機能的に不十分なところもある。2023年7月にはより改良されたものがプリインストールされたものがリターン品として送付されるものと思われる。以下のレビューは、あくまで3月時点で貸与されたMSXプロトに関するものだということを、理解していただきたい。

 今回、限定貸与されたMSX0プロトは、バッテリーボトム、MSX0 Stack本体とFacesII一式、Groveセンサーキット(10個入り)、M5Stack Faces用QWERTYパネルから構成されている。本来は、M5Stack Faces用QWERTYパネルも、MSXブルーのスケルトン仕様のものが付属するはずなのだが、MSX0プロトでは通常のグレーカラーのM5Stack Faces用QWERTYパネルが付属している。クラウドファンディングのリターン品には、MSXブルーのものが付くと思われる。

 また、貸与されたMSX0プロトには、10個のGroveセンサーが入ったセンサーキットが含まれていたが、DEVCON 3で西氏が公開した情報によると、リターン品に付属するセンサーキットは中央の基板がArudino互換のものではなく、MSX0専用Groveポートモジュールになった、特別仕様のものになるとのことだ。なお、センサーキットのGroveセンサーをMSX0 Stackで利用する際には、基板から切り離してバラバラにする必要がある。

【限定貸与されたMSX0 Stackプロトタイプ一式】
限定貸与されたMSX0 Stackプロトタイプ一式。左下がバッテリーボトム、中央下がMSX0 Stack本体とFacesII一式。右下がM5Stack Faces用QWERTYパネル。上がGroveセンサーキット(10個入り)
FacesIIのプラスチック箱の中味。MSXブルーのスケルトン仕様のM5 StackとゲームパッドパネルがFacesボトムベースに合体した状態になっている
グレーのM5Stack Faces用QWERTYパネル
右が本来付属するMSXブルーのM5Stack Faces用QWERTYパネル
MSXブルーのゲームパッドパネル
FacesII充電ベース。充電ベースもMSXブルーだ。この上にFacesIIボトムベースに装着したMSX0 Stackを載せることで、バッテリーが充電される
ゲームパッドパネルを装着した状態のMSX0プロト。スケルトンブルーがかっこいい
FacesIIに装着したMSX0プロトの底面
QWERTYパネルを装着した状態のMSX0プロト。正式版ではQWERTYパネルもMSXブルーになる
ボトムベースも付属する。FacesIIのベースの代わりにボトムベースを装着した状態でも利用できる
ボトムベースの底面
Groveセンサーキットの箱を開けたところ。こちらも正式リターン品では、中央の基板がMSX0 Stack対応モジュールに変わる予定
Groveセンサーキットに含まれるもの。センサーを接続するケーブルが6本付属する

ハードウェアとしての魅力は十分

 それでは、MSX0プロトをじっくり見てみたい。以前の記事でも書いたとおり、MSX0プロトはM5Stack Core2にMSXエミュレータやその他のツールをインストールしたものだ。

 M5Stack Core2は、CPUとしてESP32を搭載したIoT開発キットであり、本体のサイズは54×54×16mm、重量は52gという、超小型デバイスだ。520KBのSRAMと16MBのフラッシュメモリ、8MBのPSRAMを備え、タッチパネル付きの2.0型液晶(320×240ドット)を搭載する。また、無線LANやBluetoothもサポートしている。通常のM5Stack Core2のボディカラーは白やオレンジ色だが、MSX0プロトでは、MSXブルーと呼ばれるスケルトンブルー仕様になっている。側面には、TFカードスロットとリセットボタン、電源ボタン、USB Type-C、I/Oポート(Port A)が用意されており、バッテリーボトムを装着すれば、さらにPort BとPort Cも利用できるようになる。

 FacesIIと呼ばれる拡張用モジュールも付属しており、FaceIIボトムベースにMSX0 Stackとキーボードやゲームパッドのパネルを装着することで、一体化したデバイスとして利用できる。通常のFaceIIボトムベースにMSX0 Stackを装着すると、TFカードスロットとリセットボタンが下側に来てしまい、キーボードやゲームパッドのパネルを外さないと、カードスロットとリセットボタンにアクセスできなくなってしまうという問題があったが、MSX0 Stackに付属するFacesIIは、MSX0 Stackを接続するコネクタの位置が変更されており、従来とは180度違う向きでMSX0 Stackを装着できるように改良されている。この改良によって、microSDカードの交換やリセット操作が簡単にできるようになり、使い勝手が大きく向上した。

 FacesIIボトムベースに内蔵されているバッテリーの充電は、付属の充電ベースの上に載せるだけでOKだ。この充電ベースの色もちゃんとMSXブルーになっているのが嬉しい。ボディの加工精度も高く、FacesIIボトムベースへのMSX0 Stack本体やQWERTYパネル、ゲームパッドパネルを装着する際も、ぴったりと装着でき、隙間などは生じない。MSX0 Stack本体やQWERTYパネル、ゲームパッドパネルは、ビスでFacesIIボトムベースに固定できるが、磁力で固定されるため、ビスで固定しなくても勝手に外れるようなことはない。

 数年前からM5Stackが話題になっているのは知っていたのだが、筆者がM5Stackをちゃんと触るのは今回が初めてである。実際に手にしてみると、小さいボディに機能をぎゅっと詰め込んだ感があり、FacesIIによって、QWERTYパネルやゲームパッドパネルなどを用途に応じて着せ替えできるのも便利だ。ハードウェアとしての完成度はなかなか高いと感じた。

【MSX0 Stackプロトタイプの詳細写真】
MSX0 Stackの本体部分
MSX0 Stackの本体底面。中央下のチップがESP32である
MSX0 Stackの本体側面。TFカードスロットとリセットボタンがある
MSX0 Stackの本体側面。スピーカーのための穴がある
MSX0 Stackの本体側面。もちろん技適認証済みである
MSX0 Stackの本体側面。電源ボタンとUSB Type-C、I/Oポート(Port A)がある
MSX0 Stackにバッテリーボトムを装着したところ
バッテリーボトムには、Port BとPort Cが用意されている
FacesIIボトムベース。こちらにもバッテリーが搭載されている
MSX0 StackのFacesIIボトムベースは、コネクタの向きが変更されており、FacesIIに本体とパネルを装着したままmicroSDカードを出し入れできる
FacesIIボトムベースに本体とQWERTYパネルを装着した状態を左側から見たところ
FacesIIボトムベースに本体を装着するとTFカードスロットが上側にくる
FacesIIボトムベースに本体とQWERTYパネルを装着した状態を右側から見たところ
FacesII充電ベースに、FacesIIボトムベースごと載せることでバッテリーの充電が可能
FacesII充電ベースに、FacesIIボトムベースごと載せた状態を左側から見たところ

セットアップユーティリティで、MSX/MSX2/MSX2+を選択できる

 それでは、MSXエミュレータの出来や使い勝手についてみてみたい。今回は、試用時間が短かったため、MSX0 Stackのウリである、PC/スマートフォンと無線で接続してPC/スマートフォンの画面やキーボードを使ってプログラミングができるリモートコンソールや、MSXエミュレータ自体をPCでも実行するリモートデスクトップ、付属のGroveセンサーを使ったプログラミングなどについては触れないが、これらについてはまた別の記事で紹介したい。また、最初に説明したように、MSXエミュレータ自体もこれが最終版というわけではなく、今後もアップデートされ機能拡張や不具合修正が行われると思われる。あくまでプロトタイプでの状況だということに留意してほしい。

 MSX0 Stackでは、セットアップユーティリティから、MSXエミュレータの動作設定を行うことができる。セットアップユーティリティは頻繁に利用することになるが、その呼び出しには少々コツがいる。リセットボタンを押して、MSX0 Stackを再起動させると一瞬画面が白く光る。その瞬間に素早く画面の左上の○印にタッチし、そのままタッチし続けるとセットアップユーティリティが表示される。タイミングが少しでも早かったり遅かったりすると、セットアップユーティリティが起動せず、MSXが起動してしまう。PCのUEFIセットアップ画面の呼び出しにも似ているが、タイミングがかなりシビアなので、コツをつかむまで、少し苦労するかもしれない。

 なお、セットアップユーティリティで設定を変更した項目の情報は、TFカードスロットに装着したmicroSDカード内に保存されるため、microSDカードがないと変更した設定が反映されないことに注意が必要だ。TFカードスロットという名称だが、利用できるカードは16GBまでのFAT32でフォーマットされたmicroSDカードとなる(32GB以上のmicroSDカードでも利用できたという報告もあるが、あくまで正式に動作保証されているのは16GBまで)。MSX0 Stackを利用するなら、事実上microSDカードは必須となる。

 セットアップユーティリティの操作は、画面の上にある3つの○印にタッチすることで行う。設定項目も多数用意されているが、ここでは最も重要な「System」と「Slot」、「Disk」について説明する。Systemは、MSXのどのバージョンで起動するかを選択する項目だ。MSX0 Stackでは、過去に登場したMSX規格のうち、MSX/MSX2/MSX2+の3つの規格のエミュレートが可能だが、それを選択することができる。MSX/MSX2/MSX2+それぞれの設定での起動直後の画面を掲載したので参考にして欲しい。

 「Slot」は、MSXカートリッジスロットに差し込まれているカートリッジを指定する項目だ。Noneの場合は、何もスロットにささってないため、普通にBASICが起動するが、ゲームなどのROMカートリッジを選択すれば、そのROMカートリッジから起動する。今回試用したMSX0プロトでは、「None」と「Zanac」の選択が可能で、「Zanac」を選んで再起動すれば、名作縦スクロールSTG「ザナック」が起動する。クラウドファンディングのページでは、現時点で「ザナック」と「麻雀」が付属することが表明されており、その他のタイトルも追加される予定となっている。7月のリターン品では、Slotで選択できる項目が増えるのであろう。

 「Disk」は、FDDのエミュレーションであり、現時点では起動後にFDを入れ換えることはできない。TFカードスロットに挿したmicroSDカードの「DSK」ディレクトリの中にあるディスクイメージを選択できる仕組みだ。対応ディスクイメージは、MSX用の2DD 720KBフォーマットのみだが、PCに接続できるFDDがあれば、PCでディスクイメージをmicroSDカードに転送し、MSX0 Stackで利用できる。今回配布されたMSXプロトでは、「SAMPLE.DSK」しか選択できないが、このディスクイメージにはいくつかのサンプルプログラムが収録されている。この辺りについては、また別の記事で紹介したいと考えている。

 今回は、バンドルされている「ザナック」をプレイしてみた。「ザナック」は、1986年に発売された縦スクロールSTGの名作で、筆者も昔プレイした記憶はある。高速スクロールや豊富なサブウェポン、隠しキャラなど、当時としてはかなり先進的なSTGであり、今プレイしても面白かった。もちろん画面がかなり小さく、操作ボタン(ゲームパッドパネルでのみ操作可能)も小さくやや固いので、老眼が進んだ筆者には小さな弾を避けるのがやや厳しかったが、若い人ならそう問題なく遊べるだろう。サウンドも現状はPSG音源のみサポートだが、問題なく再生されていた。

【MSX0 Stackプロトタイプの実際の動作の様子】
MSX0 Stackにバッテリーボトムを合体させた状態でも、MSX/MSX2/MSX2+として利用可能
MSX0 Stackでは、セットアップユーティリティでMSXエミュレータの動作設定を行うことができる。Systemの項目では、MSXのどのバージョンで起動するかを選択できる。VRAMやRAMのサイズも設定できる
SystemをMSXにして起動すると、初代MSX相当となる(BASICのバージョンが1.0)
セットアップユーティリティで、SystemをMSX2に設定する
再起動すると、MSX2相当となる(BASICのバージョンが2.0)
今度は、SystemをMSX2+に設定してみた
再起動すると、MSX2+相当となる(BASICのバージョンが3.0)
Slotの項目に注目。noneというのはSlotに何もカートリッジがささっていない状態で、MSX-BASICが起動する。
SlotをZanacに変更すると、「ザナック」のカートリッジがSlotにささった状態となる
再起動すると、BASICではなく名作縦スクロールSTG「ザナック」が立ち上がる。「ザナック」のプレイには、ゲームパッドパネルの装着が必要
「ザナック」をプレイ中の様子。画面はかなり小さいが、プレイは十分に楽しめる
高速スクロールや多彩なパワーアップが魅力の「ザナック」
【MSX0「ザナック」が起動するまでの様子】
【MSX0「ザナック」をプレイ中の様子】

msx0_41.mov

msx0_42.mov

いろいろ遊べそうでワクワクさせてくれる製品

 今回は時間の都合で、簡単なレビューしかできなかったが、MSX0プロトを入手された方の多くが、次々と解析結果や不具合報告、サンプルプログラムなどをネット公開している。それによると、現状のMSXエミュレータはまだ不具合があり、実機では正常に動作するプログラムがMSX0プロトでは正常に動作しないということもあるようだ。しかし、次世代MSXプロジェクトのメンバーは精力的に開発を行っており、MSXエミュレータについても、不具合解消や機能向上のアップデートが行われることが予想される。

 PCやスマートフォンとの連携についても、動作することは確認済みである。FacesIIのQWERTYパネルは、サイズの制限からキーの数が少なく、2つのキーを使わないと出せない文字も多いため、率直にいってこのキーでプログラミングをするのはかなり厳しいのだが、PCやスマートフォンと接続すれば、そちらの画面とキーボードを使ってMSX0 Stackのプログラミングや動作確認が可能になるため、キーボードや画面サイズのハンデはなくなる。Groveセンサーを使ったIoTプログラミングが簡単にできることも、MSX0 Stackの大きな魅力であり、そのポテンシャルはかなり大きいだろう。電子ブロックやマイキットで育ち、「マイコンBASICマガジン」や「PiO」にゲームプログラムを投稿したことがある筆者世代には、いろいろ遊べそうでとてもワクワクさせてくれる製品だ。プログラミングや電子工作が好きな人なら、きっと楽しめるだろう。