『MSX0 Stack』の操作方法 - Setup Utility

# ■ Setup Utility

設定の保存には microSD カードが必要です。


## Setup Utility に直接入る方法

MSX0 Stack 起動時、Setup Utility に直接入る方法があります。

**ファームウェアバージョン 0.11.08 以降:**
左タッチボタンを押しっぱなしにして電源を入れるか、電源が入っていればリセットボタンを押下。Setup Utility が表示されたら指を離す。

**ファームウェアバージョン 0.11.08 よりも前:**
Reset ボタンを押下して画面が一瞬白くなったところで左タッチボタンを押しっぱなしにします。タイミングがとてもシビアです。


## ・MSX System Unit0

Unit0 の設定を行います。

```
*---- Setup Utility -----*

msx0-71053463951412
ver:0.15.20

>Exit
 MSX System Unit0
  Disk         
  Resume   NORMAL
  Type     MSX2
  Ram Size 256K
  Dos      MSX-DOS2
  Slot     NONE
  Music    FM+MIDI
```

 - **Disk**: `空白`, `ファイル名1`, `ファイル名2`...<br>挿入されているディスク (FD イメージ) です。microSD の `DSK` フォルダがの中身が見えています。空白の項目を選択するとディスク未挿入状態になります [^1]。
 - **Resume**: [^4] `NORMAL`, `CONSTANT`, `MANUAL`, `OFF`<br>エミュレータのレジュームモードを設定します。 
 - **Type**: `MSX`, `MSX2`, `MSX2+`<br>MSX の種類を変更します。
 - **Ram Size**: `64K`, `128K`, `256K`, `512K`, `1M`<br>搭載 RAM サイズを変更します。MSX-DOS2 / Nextor を使う際には `128KB` 以上を指定してください。
 - **Dos**: [^2] `MSX-DOS1`, `MSX-DOS2`, `Nextor`<br>DOS の種類を指定します。
 - **Slot**: `NONE`, `Zanac`, `Paipanic`<br>挿入されているカートリッジです。
 - **Music**: [^4] `FM+MIDI`, `NONE`, `FM`, `MIDI`<br>FM 音源カートリッジや MIDI カートリッジの使用の有無を設定します。

| 種類<br>(Type) | ROM<br>BASIC | DISK<br>BASIC | MSX-DOS | MSX-DOS2 | Nextor |
|:---|:---:|:---:|:---:|:---:|:---:|
| MSX   | 1.0 | 1.0 | 〇 | × | 〇 |
| MSX2  | 2.0 | 2.0 | 〇 | 〇 | 〇 |
| MSX2+ | 3.0 | 2.0 | 〇 | 〇 | 〇 |

## ・MSX System Unit1

Unit1 の設定を行います。

```
*---- Setup Utility -----*

msx0-71053463951412
ver:0.15.20

>Exit
 MSX System Unit1
  Disk     MSX0MENU.DSK
  Resume   CONSTANT
```

 - **Disk**: `空白`, `ファイル名1`, `ファイル名2`...<br>挿入されているディスク (FD イメージ) です。microSD の `DSK` フォルダがの中身が見えています。空白の項目を選択するとディスク未挿入状態になります。`MSX0MENU.DSK` が標準のシステムメニューが入った FD イメージです。
 - **Resume**: [^4] `NORMAL`, `CONSTANT`, `MANUAL`, `OFF`<br>エミュレータのレジュームモードを設定します。 

:::note warn
空の microSD カードを挿して MSX0 Stack を起動すると、`DSK` フォルダに `MSX0MENU.DSK` が自動生成されます。これは添付の microSD に含まれる `MSX0MENU.DSK` とは内容が異なります。
:::

## ・Visual

ビジュアルの設定を行います。

```
*---- Setup Utility -----*

msx0-71053463951412
ver:0.15.20

>Exit
 Visual
  Display   LCD
  Bklight   7
  LcdMode   Normal
  BkColor   NORMAL
  Status    SIMPLE
```

 - **OutPut (Display)**: [^4] `LCD`, `HD`, `RCA`, `OFF`<br>`OFF` にすると LCD に表示されなくなります [^8]。
 - **Bklight**: `OFF`, `1～10`<br>液晶の明るさです。システムメニューでも変更できます。`OFF` にすると全く見えなくなります [^8]。
 - **LcdMode**: `Normal`, `1` <br>`1` を指定すると LCD の表示が左右反転します。
 - **BkColor**: `NORMAL`, `BLACK`<br>`BLACK` にすると MSX スクリーン周辺の色を強制的に黒に変更します。
 - **Status**: `OFF`, `SIMPLE`, `SIMPLE(S)`, `DEBUG`<br>画面下部の[ステータスモニター](https://qiita.com/ht_deko/items/cdb1594e9879a5e9e660#%E3%82%B9%E3%83%86%E3%83%BC%E3%82%BF%E3%82%B9%E3%83%A2%E3%83%8B%E3%82%BF%E3%83%BC)の表示を切り替えます。

:::note warn
将来的には NTSC 出力がサポートされるかもしれませんが、出力先 (Display) は現状 MSX0 Stack の LCD のみです。HDMI 出力もサポートしていません。
:::

左右反転 (LcdMode) はハーフミラーを使って何かやれそうですが、クリアボディから漏れる光をどうにかする必要がありそうです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/21785/07ade680-b5e6-ccfe-66ee-8a8133a76ec9.png)

## ・Sound

サウンドの設定を行います。

```
*---- Setup Utility -----*
msx0-71053463951412
ver:0.15.20

>Exit
 Sound
  Output   SameAsVideo
  Volume   3
  Filter   ON
  FltrMix  5
```

 - **Output**: [^4] `SameAsVideo`, `Speaker`, `HD`, `RCA`<br>音声出力先を設定します。`SameAsVideo` を指定すると [Visual | Output] と同じモジュールへ出力されます。
 - **Volume**: `OFF`, `1～10`<br>音量を変更します。
 - **Filter**: `OFF`, `ON`<br> `ON` だと高音が抑えられた柔らかな音になります。
 - **FltrMix**: [^4] `OFF`, `1～10`<br>フィルタの効きの強さを 1～10 で設定します。


## ・Network

ネットワークの設定を行います。

```
*---- Setup Utility -----*
msx0-71053463951412
ver:0.15.20

>Exit
 Network
  WiFi     OFF
  Remote   ON  
```

 - **WiFi**: `OFF`, `登録 AP1～AP3`, `<AP Mode>` [^3]<br>登録されているアクセスポイントを切り替えます。アクセスポイントを登録する事はできません。
 - **Remote**: `OFF`, `ON`<br>リモート接続の有効/無効を切り替えます。

アクセスポイントは[システムメニューの Wi-fi 設定](https://qiita.com/ht_deko/items/f9eb7a5e5e215230b802#wi-fi-%E8%A8%AD%E5%AE%9A)から追加するか、SD カードの `\SYSTEM\conf.txt` を書き替える事で登録できます。

```txt:SYSTEM/conf.txt
wifi/list/1/ssid:（AP#1 の SSID）
wifi/list/1/pass:（AP#1 の パスワード）
wifi/list/2/ssid:（AP#2 の SSID）
wifi/list/2/pass:（AP#2 の パスワード）
wifi/list/3/ssid:（AP#3 の SSID）
wifi/list/3/pass:（AP#3 の パスワード）
```

### ファームウエアバージョン 0.11.08 以降

MSX0 Stack を AP モードにする事ができます。SSID と接続パスワードは[システムメニューの Wi-fi 設定](https://qiita.com/ht_deko/items/f9eb7a5e5e215230b802#wi-fi-%E8%A8%AD%E5%AE%9A)から追加するか、`\SYSTEM\conf.txt` を書き替える事で登録できます。

```txt:SYSTEM/conf.txt
wifi/ap/ssid:（SSID）
wifi/ap/pass:（パスワード）
```


## ・Input

入力の設定を行います。

```
*---- Setup Utility -----*
msx0-71053463951412
ver:0.15.20

>Exit
 Input
  M5Game   KEYBOARD
  Touchpad JOY2
  TouchJoy KEYBOARD
  RenshaA  OFF
  RenshaB  OFF
```

 - **M5Game**: `OFF`, `KEYBOARD`, `JOY1`, `JOY2`<br>Gamepad Face をどのデバイスに割り当てるかを指定します。
 - **Touchpad**: `OFF`, `KEYBOARD`, `JOY1`, `JOY2`<br>タッチパッドをどのデバイスに割り当てるかを指定します。基本的に `JOY2` 固定。
 - **TouchJoy**: `OFF`, `KEYBOARD`, `JOY1`, `JOY2`<br>タッチ JoyPad をどのデバイスに割り当てるかを指定します。
 - **RenshaA**: `OFF`, `1～3`<br>A ボタンの連射速度を指定します。
 - **RenshaB**: `OFF`, `1～3`<br>B ボタンの連射速度を指定します。

:::note warn 
MSX には汎用入出力ポート (ジョイスティックポート) に接続するタイプの **タッチパッド** があり、MSX0 Stack のタッチスクリーンで MSX のタッチパッドをエミュレートしています。
**Touchpad** の設定項目はタッチパッドを `JOY1` / `JOY2` どちらのポートに割り当てるかを指定します。`KEYBOARD` に割り当てる事はできないと思うので、`OFF` / `KEYBOARD` は未割当になると思います。
システムメニューはタッチパッドの機能を使っているので、未割当だとボタンが押せなくなります。システムメニューはコード中で ポート #2 に接続されたタッチパッドを調べているので、`JOY1` に割り当ててもボタンが押せなくなります。ご注意ください。
:::

## ・Background Unit

バックグラウンド Unit (アクティブでない方の Unit) の設定を行います。

```
*---- Setup Utility -----*
msx0-71053463951412
ver:0.15.20

>Exit
 Background Unit
  Perform  0%
  Sound    OFF
```

 - **Perform**: `0%`, `1%`, `2%`, `5%`, `10%`, `25%`, `50%`, `100%`<br>`0%` で停止。
 - **Sound**: `OFF`, `ON`<br>バックグラウンド Unit の音を鳴らすかどうかを切り替えます。

## ・System Update

システムアップデート用のメニューです。

```
*---- Setup Utility -----*
msx0-71053463951412
ver:0.15.20

>Exit
 System Update
  Update
  Update Media
```

 - **Update**: [^9]<br>microSD 内の `SYSTEM/UPDATER/0` に配置されたファームウェアを MSX0 Stack に書き込みます。
 - **Update Media**: [^9]<br>microSD 内のメディアデータを MSX0 Stack に書き込みます (未実装)。

### ファームウエアバージョン 0.11.08 以降
`SYSTEM/UPDATER/` 以下のフォルダが表示されます。フォルダ毎にアップデータを格納できます。

```
*---- Setup Utility -----*
msx0-71053463951412
ver:0.15.20

>Exit
 System Update
  0
  IOT1108
```

フォルダは最大 8 文字まで、アルファベット、数字、アンダーバーのみとなります。

:::note warn
初期バージョン (0.07.08 以前) からファームウェアをアップデートする場合には、アップデート用のファイルを `SYSTEM/UPDATER/0` に配置して `Update` を実行する必要があります。初期ファームウエアはサブフォルダを認識しません。

0
IOT0504
IOT0708
IOT1108
IOT1520

このようなフォルダ構成にし、0 に最新のファームウエアと同じものを入れておけば、すべてのファームウェアバージョンに書き替える事ができます。
:::


# 索引
 - [■ メイン](https://qiita.com/ht_deko/items/b284cb93ac34e2b77d9a)
 - [■ ハードウェア](https://qiita.com/ht_deko/items/cdb1594e9879a5e9e660)
 - [■ システムメニュー](https://qiita.com/ht_deko/items/f9eb7a5e5e215230b802)
 - ■ Setup Utility
 - [■ リモート接続](https://qiita.com/ht_deko/items/0cbc386e4719c82bc743)
 - [■ ソフトウェア](https://qiita.com/ht_deko/items/8c20354b867b0d540805)


[^1]: ファームウエアバージョン 0.11.08 ではできなくなったようです。 
[^2]: ファームウエアバージョン 0.07.08 以降。 
[^3]: ファームウエアバージョン 0.11.08 以降。 
[^4]: ファームウエアバージョン 0.15.18 以降。 
[^8]: Setup Utility には影響を与えません。
[^9]: 選択項目ではありません。右タッチボタンを押すと即実行されます。