LoginSignup
4
4

『MSX0 Stack』の操作方法 - ハードウェア

Last updated at Posted at 2023-10-27

■ ハードウェア

MSX0 Stack は『M5Stack Core2』がベースとなっている製品です 1

image.png

次のような組み合わせで MSX0 Stack を構成する事ができます。

Faces II Bottom』か『M5GO Bottom2』を組み合わせていれば『Charge Base』に載せて充電する事が可能です。

『M5Stack Core2』+『Faces II (Bottom / Charge Base / Keyboard / GamePad)』+『M5GO Bottom2』な製品です。

・最初にやる事

まずは、充電できるように背面のスライドスイッチを 1 側にします。

image.png

次に、本体上部に microSD カードスロットがありますので、ここに microSD を挿入します (microSD の端子面が手前になるように挿します)。

image.png

ここまでの準備ができたら電源を入れます。電源スイッチは右側面にあります。上部にあるのはリセットスイッチです。最初はバッテリーの残量が少ないかもしれないので、USB ケーブルを挿した状態で電源を入れる事をオススメします。

image.png

microSD を挿入しないで起動すると ROM Basic が起動するだけで特に何もできませんし、中身が空の microSD に差し替えたりするとシステムメニューが説明書とは異なる質素なものになる事があります。

image.png

電源オフは電源スイッチ長押しです。

・microSD

とりあえず付属の microSD の中身を PC へ全部コピーしてバックアップを取りましょう。バックアップは 200MB 程度なので、CD-R や DVD-R に焼いておくのもいいかもしれません。中身がとても貴重です。付属の microSD も可能な限り使わない方がよいでしょう (変換アダプタを使う場合にはロックをかけられます)。

image.png

バックアップが取れたら、別の microSD にバックアップしたファイルをすべて書き戻します。KIOXIA の 16GB はフォーマット不要で使える事を確認しています。

image.png

microSD 16GB をお持ちでなかったらダイソーへ行き、とりあえず『microSD 32GB』を買って来ましょう。入手が容易な上、フォーマット不要で使える事を確認しています。

MSX0 Stack で利用可能な microSD は 16GB 以下 / FAT32 なのですが、実際には 32GB でも使えるようです。
・1 台の MSX0 Stack につき microSD が 1 枚付属するため、Plan B には microSD が 2 枚含まれています。2 枚の microSD の内容は全く同じものです。
・2023/10 付の「MSX0 Stack プロジェクトをご支援いただいた皆様へ」の一部に FAT16 フォーマット と記述されているものがあるようですが、typo だと思われます。

microSD カード内を確認すると ._ で始まる隠しファイルがあるかもしれません。一部 (?) 作業に Mac が使われているようです。

image.png

Windows の場合、Explorer のフォルダーオプションで隠しファイルを表示するように変更してみてください。

image.png

または、コマンドプロンプトで microSD カードのドライブルートへ移動し、次のコマンドを実行して隠しファイル属性を解除すると表示されるようになります。

D:\> attrib /S -H

これらのファイルがあると MSX0 Stack での操作時に面倒な事になりますので、存在する場合にはすべて削除してください。Windows からだとコマンドプロンプトで microSD カードのドライブルートへ移動し、次の 2 つのコマンドで一気に削除する事ができます。

D:\> attrib /S -H
D:\> del /S /Q ._*

microSD のフォルダ構成は次のようになっています。

+---DOC
|   \---manual
+---DSK
+---SYSTEM
+---TOOLS
\---UPDATER
    \---0

詳しくは microSD 直下にある README.TXT を参照してください。

「MSXソフトウェア使用許諾書」が添付されていなかった支援者に対し、CAMPFIRE のメッセージ経由で使用許諾書が配布されました。内容をテキストファイルにコピーし、EULA.TXT のような名前を付けて保存しておくとよいでしょう。

・LCD スクリーン

画面はタッチパネルになっており、上にスワイプすると使用している MSX ユニットが切り替わります。下へ向けてスワイプしても構わないのですが、画面上部にはタッチボタンがあるので上スワイプを推奨します。

image.png

現在のユニットがどちらなのかは画面下部のステータスモニターで確認できます。

ユニット 説明
Unit0 (U0) メイン
Unit1 (U1) システムメニュー

MSX Stack では Unit0 / Unit1 という 2 つの MSX が同時に動作しており、デフォルトの動作だと Unit1 側にはシステムメニューが組み込まれており、Unit1 側から Unit0 の設定を変更する仕組みになっています。

image.png

Unit1 側に切り替えてもシステムメニューが起動しない場合には、別の microSD カード (できれば 16GB 以下のもので、FAT32 フォーマット) を用意して、バックアップを書き戻してみてください。

『MSX0 Stack』の動作中の写真を撮ろうとすると映り込むので、反射防止の液晶保護フィルムを別途購入する事をオススメします。MSX0 Stack 向けの製品だけでなく、M5Stack Core2 向けの製品も使えます。

ミヤビックス MSX0 / M5Stack Core2 用 防指紋 防気泡 反射防止液晶保護フィルム (Amazon)

タッチボタン

画面上部にはタッチボタン (〇 〇 〇) も備えています。

image.png

ステータスモニター

画面下部にはステータスモニターが表示されます。

image.png
ステータスモニターは 3 種類あり、[Setup Utility | Visual]Status で切り替える事ができます。

  • SIMPLE

image.png

  • SIMPLE (Small)

image.png

  • DEBUG

image.png

項目 説明
Unit 番号 U0 (Unit0) / U1 (Unit1) のいずれか。現在アクティブな Unit を示しています。
タッチパネルモード ⇕: スワイプ優先モード
✚: タッチ JoyPad モード
☝: タッチパッド優先モード
CPU エミュレーションパフォーマンス
(DEBUG モードのみ)
CPU 使用率のようなものです。100% を超えると 3.58MHz の Z80 エミュレーション処理が間に合っていないことを意味します。
描画フレームレート
(DEBUG モードのみ)
最大で 30fps です。
ホストヒープメモリ残量
(DEBUG モードのみ)
何もしていなければ 3.5M 以上あると思います。
ホスト IP アドレス IP アドレスです。Wi-Fi が OFF の場合には表示されません。
リモート接続数 リモートコンソールまたはリモートコントロールパネルでの接続数です。接続数 0 の場合には表示されません。
バッテリー残量 (アイコン) 5 段階表示です。
バッテリー残量 (数値)
(SIMPLE Small / DEBUG モードのみ)
最大で 100% です。

モードによって表示されない項目があります。また、ステータスモニターを非表示にする事も可能です。

タッチパネルモード

Setup Utility 以外の画面で左タッチボタンを長押しすると、タッチパネルモードを変更する事ができます。タッチパネルモードは画面下部のステータスモニターで確認できます。

アイコン タッチパネルモード 説明
image.png スワイプ優先 MSX スクリーン内外でスワイプ操作が可能です。
image.png タッチ JoyPad タッチパネルを仮想的な Joypad やキーボードの⼗字キーとして利⽤します。
image.png タッチパッド優先 MSX スクリーン内でのタッチパッド操作を優先します。MSX スクリーン外でのみスワイプ操作が可能です。

オレンジの枠内が MSX スクリーンです。
image.png

タッチ JoyPad

タッチ JoyPad モード()の場合、タッチパネルを 9 分割した仮想的なジョイパッドまたは仮想的なキーボードとして振る舞います。

image.png

  • ジョイパッド (1 or 2)
〔ESC〕 〔F5〕
B A
  • キーボード
〔ESC〕 〔↑〕 〔F5〕
〔←〕 〔→〕
〔m〕 〔↓〕 〔SPACE〕

どちらの設定にするかは [Setup Utility | Input] ページの TouchJoy で変更できます。タッチ JoyPad モード()に変更して、画面左下をタップして m が入力されたら仮想キーボードです。

・『M5Stack Core2 (MSX0 Stack)』

ベースとなっている M5Stack Core2 単体のスペックです。

image.png

項目 説明
SoC ESP32-D0WDQ6-V3
(240MHz dual core, 600 DMIPS, 520KB SRAM, Wi-Fi, Bluetooth)
フラッシュメモリ 16 MB
PSRAM 8MB
入力電圧 5V @ 500mA
IPS LCD スクリーン 2.0 インチ, 320*240, ILI9342C
タッチスクリーン FT6336U
スピーカー 1W-092
LED 電源 LED
ボタン 電源ボタン, リセットボタン, タッチボタンx3
バイブレーション機能 振動モーター
パワーアンプ NS4168
6 軸 IMU AXP192
USBチップ CP2104 or CH9102F 2
RTC BM8563
DC/DC昇圧 SY7088
TF カードスロット
(microSD)
最大16 GB
リチウムバッテリ 390mAh @ 3.7V
アンテナ 2.4 GHz 3D アンテナ
動作温度 0°C~40°C
重量 34.5g
サイズ 54 x 54 x 16mm

市販の M5Stack Core2 を MSX0 Stack 化する事はできません。

・『Keyboard Face』

Keyboard Face はキーボードとして動作します。『Faces II Bottom』に取り付ける事が可能です。

image.png

MSX0 Stack の Keyboard Face には Faces 付属の ATmega328P ではなく STM32F030C8T6 が使われており、ファームウェアは書き替えられそうにありません (ファームウェアのソースが公開されていない)。書き替え用をやってみたいのであれば、Faces 用の Keyboard Face を別途購入する必要があります。

・MSX0 Stack の Keyboard Face はファームウェアがカスタマイズされています。
・付属 (小袋の中) の M3 x 16mm ネジで『Faces II Bottom』に固定する事もできます。

文字入力について

少ないキーで様々な文字を入力しなければならないという制約があるため、最初のうちは文字入力に戸惑うかもしれません。

英数入力:

image.png

大文字入力:
英数入力で〔alt〕 を押しながら入力

image.png

CapsLock 入力:
英数入力から〔aA〕で CapsLock して入力

image.png

小文字入力:
CapsLock 入力で〔alt〕 を押しながら入力

image.png

かな入力:
英数入力から 〔Fn〕〔aA〕 〔Fn〕〔Fn〕 と押してかな入力にして入力

image.png

かな入力 (小文字):
かな入力で〔alt〕 を押しながら入力

image.png

カナ入力:
かな入力から〔aA〕でカナ入力にして入力

image.png

カナ入力 (小文字):
カナ入力で〔alt〕 を押しながら入力

image.png

現状、Keyboard Face では〔Ctrl〕、〔F1〕~〔F10〕、〔GRAPH〕等のキーを押せません 4

英数 かな カナ ローマ字
(かな)
ローマ字
(カナ)
英数 - Fn〕〔aA〕 Fn〕〔aA〕 Fn〕〔aA〕 Fn〕〔aA〕
かな Fn〕〔aA〕 - 〔aA〕 - -
カナ - 〔aA〕 - - -
ローマ字
(かな)
〔alt〕+ 〔Fn〕〔aA〕 - - - 〔aA〕
ローマ字
(カナ)
- - - 〔aA〕 -
  • 〔alt〕は〔Shift〕キー。
  • 〔Fn〕 〔aA〕で入力切替を行うと かな入力 となる。さらに〔aA〕 を押すと カナ入力 になる。解除は〔Fn〕 〔aA〕
  • (MSX2 以降限定) 〔alt〕を押しながら〔Fn〕 〔aA〕で入力切替を行うと ローマ字入力(かな) となる。さらに〔aA〕 を押すと ローマ字入力(カナ) になる。解除は〔Fn〕 〔aA〕
  • 〔Fn〕 〔aA〕で各種入力切替した直後は〔Fn〕が押された状態になっているので、もう 2 回 〔Fn〕を押して解除するといい。
LED 意味
左 LED 点灯 〔aA〕が押され〔CapsLock〕になった状態。大文字が入力される。
右 LED 点灯 (高速) 〔Sym〕が押された状態。青色の文字が入力される。
右 LED 点灯 (中速) 〔Fn〕が押された状態。赤色の文字が入力される。
右 LED 点灯 (低速) 〔Sym〕か〔Fn〕がロックされた状態。〔Sym〕か〔Fn〕を2回連続で押すとロックする。ロック状態でもう一度そのキーを押すと解除、別のキーを押すとそのキーが押された事になる。

刻印 (シール) 通りでない特殊なコンビネーションもあります。

刻印 Keyboard MSX 備考
HOM 〔alt〕+〔Fn〕〔X〕 〔CLS〕 MSX では 〔Shift〕+〔Home〕。
END 〔Fn〕〔C〕 〔Ctrl〕+〔STOP〕 MSX に〔End〕はない。
PU 〔Fn〕〔V〕 N/A MSX に〔Page Up〕はない。
PD 〔Fn〕〔B〕 N/A MSX に〔Page Down〕はない。

・『Gamepad Face』

Gamepad Face はジョイパッドまたはキーボードとして振る舞います。『Faces II Bottom』に取り付ける事が可能です。

image.png

  • ジョイパッド (1 or 2)
Gamepad ジョイパッド
方向ボタン 十字キー
A A ボタン
B B ボタン
SELECT 〔ESC〕
START 〔F5〕
  • キーボード
Gamepad キーボード
方向ボタン カーソルキー
A 〔SPACE〕
B 〔m〕
SELECT 〔ESC〕
START 〔F5〕

どちらの設定にするかは [Setup Utility | Input] ページの M5Game で変更できます。B ボタンを押して m が入力されたらキーボードとして認識されています。

MSX0 Stack の Gamepad Face には Faces 付属の ATmega328P ではなく STM32F030C8T6 が使われており、ファームウェアは書き替えられそうにありません (ファームウェアのソースが公開されていない)。書き替え用をやってみたいのであれば、Faces 用の Gamepad Face を別途購入する必要があります。

・付属 (小袋の中) の M3 x 16mm ネジで『Faces II Bottom』に固定する事もできます。

・『Faces II Bottom』

Faces II Bottom は各種パネル (フェイス) を I2C で接続するための換装用ベースです。

初期状態だと MSX0 Stack (Core2) (上側) がネジ留めで、キーボードフェイス (下側) がネジなしで接続されているかと思います。フェイス側の交換は外してはめるだけです (MSX0 Stack 側を外す必要はありません)。

image.png

充電可能な 600 mAh リチウムイオン電池を内蔵しています。Grove コネクタ (PortB, PortC) も備えています。

image.png

一般販売されている『Faces II Bottom』は、MSX0 用の青い『Faces II Bottom』と M5BUS コネクタの向きが逆なので互換性がありません。メーカーサイトにある画像と見比べてみてください。

『Faces II Bottom』から『M5GO Bottom2』へ換装するには、付属のレンチ (オレンジ) で背面のネジを外す必要があります。

image.png

・Face 交換の際にバッテリーのケーブルを挟まないように気を付けてください。
・Stack 側 (上部) は M3 x 18mm (上側) のネジと M3 x 16mm (下側) のネジがあります。
・Face 側 (下部) はレンチと一緒に小袋に入っている M3 x 16mm です。ネジの長さに注意してください。
・IO25 に RGB LED が接続されています 5
・フェイスや MSX0 Stack の換装には樹脂製のスパッジャーがあると便利です。マイナスドライバーでこじると、せっかくのクリアボディに大きな傷を付けかねません。

・『M5GO Bottom2』

M5GO Bottom2 は充電可能な 500 mAh リチウムイオン電池を内蔵しています。Grove コネクタ (PortB, PortC) も備えています。

image.png

MPU6886 (6 軸 IMU) と SPM1423 (マイク) は『M5GO Bottom2』側に載っているため、『Faces II Bottom』を装着した状態では利用できません。

『M5GO Bottom2』から『Faces II Bottom』へ換装するには、付属のレンチ (オレンジ) で背面のネジを外す必要があります。

image.png

・M5GO Bottom2 の背面の丸い穴は LEGO 互換となっています。
・M5GO Bottom2 付属のネジには M3 x 21mm (上側) と M3 x 18mm (下側) があります。Faces 用のネジと間違えないようにしてください。
・市販品の M5GO Bottom2 には M3 x 18mm (上側) と M3 x 16mm (下側) が付属しているようです。
・IO25 に RGB LED が接続されています 5

・『Core2 Battery Bottom』(Plan B のみ)

Plan B には 2 台の『MSX0 Stack』が付属し、片方には『Core2 Battery Bottom』が装着されています。これは市販の『M5Stack Core2』に付属しているものと同等です。

image.png

『Core2 Battery Bottom』と『M5GO Bottom2』の主な違いは次の通りです。

Battery Bottom M5GO Bottom2
Battery 390mAh 500mAh
LED なし あり
Grove なし あり
LEGO なし あり
ポゴピン なし あり

小さなフタのようなものに MPU6886 (6 軸 IMU) と SPM1423 (マイク) が載っています。紛失しないように注意してください。

・長さの異なる 2 種類の皿ネジで固定されています。『Faces II Bottom』や『M5GO Bottom2』のネジと間違う事はないでしょう。

・『Charge Base』

充電台です。『Faces II Bottom』や『M5GO Bottom2』を装着した MSX0 Stack を載せて充電する事ができます。こちらに USB ケーブルを挿してもシリアル通信はできません。

image.png

『Faces II Bottom』や『M5GO Bottom2』同様、マグネットが仕込まれているので鉄板に貼り付ける事ができます。

分解するには付属のレンチ (緑) で背面のネジを外す必要があります。え?「そんなんバラしてもカラッポじゃないか?」 ですって?やだなぁ、 USB と I2C 信号を引き出せる じゃないですか!

image.png

I2C デバイスやマイコンを組み込んでドッキングステーションを作るのもアリですね。

パッド 信号
D- USB D-
D+ USB D+
G GND
5 5V
D I2C SDA
C I2C SCL

・この製品は単品販売されていません。

・固定ネジ

製品を固定しているネジには 3 種類あります。

image.png

Plan A に含まれるネジと、初期位置は次の通りです。

ネジ 場所 総数
21mm M5GO Bottom2 パッケージ内 x2 2
18mm Faces II Bottom 上部 上側 x2, M5GO Bottom2 パッケージ内 x2 4
16mm Faces II Bottom 上部 下側 x2, 小袋内 x4 6

Faces II Bottom
Faces II Bottom を固定する場合です。

位置 ネジ
上部 (Stack) 上側 18mm x2
上部 (Stack) 下側 16mm x2
下部 (Face) 16mm x4

M5GO Bottom2
M5GO Bottom2 を固定する場合です。

位置 ネジ
上側 21mm x2
下側 18mm x2

Plan B の『Core2 Battery Bottom』を固定しているネジは皿ネジです。

・Grove コネクタ

MSX0 Stack には 3 つの Grove コネクタがあります。

image.png

Grove 用途 GPIO 場所
PortA I2C 32, 33 5 MSX0 Stack
PortB GPIO 26, 36 5 Faces II Bottom / M5GO Bottom2
PortC UART 13, 14 5 Faces II Bottom / M5GO Bottom2

ここにセンサー類を接続する事ができます。

ピン ケーブル PortA
(I2C)
PortB
(GPIO)
PortC
(UART)
1 SCL (IO33 5) IO36 (IN) 5 RXD (IO13 5)
2 SDA (IO32 5) IO26 (OUT) 5 TXD (IO14 5)
3 5V 5V 5V
4 GND GND GND

Grove は Seeed Studio 社のコネクタ規格です。

PortA にはツメ付きの Grove ケーブルは使えません。

・I2C バス

MSX0 Stack の I2C バスにはいくつかのデバイスが接続されています。

I2C アドレス デバイス 場所
0x08 STM32F030C8T6 or ATmega328P Faces II Keyboard / GamePad
0x34 AXP192 電源システム管理 MSX0 Stack
0x38 FT6336U タッチスクリーン MSX0 Stack
0x51 BM8563 リアルタイムクロック MSX0 Stack
0x68 MPU6886 6 軸 IMU M5GO Bottom2

ESP32 は 2 系統の I2C が利用可能です。MSX0 Stack でも同様です。

信号 i2c_i i2c_a
SCL IO22 5 IO33 5
SDA IO21 5 IO32 5

内蔵デバイス (充電端子接続含む) は IoT BASIC ノードの device/i2c_i/ に、Grove コネクタの PortA (赤) に接続したデバイスは device/i2c_a に列挙されます。

device/i2c_a
device/i2c_a/27
device/i2c_i
device/i2c_i/08
device/i2c_i/34
device/i2c_i/38
device/i2c_i/51

この情報でどちらのボトムが装着されているのか判りますね。

・センサー

含まれるセンサー類はプランによって異なります。

Plan オプション センサー 価格
A Grove Beginner Kit for MSX0 29,999円
B ・MSX0 Stack (Core2)
・Core2 Battery Bottom
Grove Beginner Kit for MSX0 39,000円
C センサーキット(20個) 34,000円
D センサーキット(40個) 42,000円
E ・LTE モジュール Grove Beginner Kit for MSX0 45,000円
F ・LoRA モジュール Grove Beginner Kit for MSX0 40,000円
G ・PoE モジュール Grove Beginner Kit for MSX0 40,000円
再販 ・ディープダンジョン (ゲーム)
・テセウス (ゲーム)
・レリクス (ゲーム)
・ボルフェスと 5 人の悪魔 (ゲーム)
(なし) 38,500円

付属する基本的なセンサーは 10 種のセンサーと Arduino UNO R3 互換の『Seeeduino Lotus』が載ったボード 『Grove Beginner Kit for MSX0』 です。

image.png

同等品を購入する事も可能です。

製品 説明
Grove Beginner Kit for Arduino (Switch Science) 10 種のセンサーキット (Plan A, B, E, F, G 同等)
Grove Creator Kit- ɑ (Switch Science) 20 種のセンサーキット (Plan C 同等)
Grove Creator Kit- β (Switch Science) 30 種のセンサーキット
Grove Creator Kit- γ (Switch Science) 40 種のセンサーキット (Plan D 同等)

Plan C 及び Plan D の支援者にも『Grove Beginner Kit for MSX0』が配布される事になりました。

See also:

索引

  1. 本体色の違いだけではなく、MSX0 Stack と M5Stack Core2 では向きが 180°違います。

  2. 私の個体は CH9102F が使われていました。

  3. 互換性はありますが Faces II ではなく Faces 用です。 2 3 4

  4. Keyboard Face では〔Fn〕〔C〕(〔Ctrl〕+〔Stop〕) を利用して、〔Ctrl〕キーを押す事ができますが、理屈上 Break が一回含まれてしまいます。

  5. Faces II Bottom のシルク印刷を信じるならば。 2 3 4 5 6 7 8 9 10 11 12 13 14 15

4
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4