MSX エミュレータの使い方


主に macOS・Linux 向けに最新の MSX エミュレータを使うための手順です。
macOS 向けを中心に記載しています。Windows でも参考になるでしょう。

 

fMSX 等の MSX エミュレータに過去触れた事がある人は
今のエミュレータに触れると、進化に驚くかもしれません。より使いやすくなった印象です。
現在のパソコンは MSX turbo R の速度も出せますし、
周辺機器も整い、何でも使えるようになってきています。

これを機会にまた MSX に触れていただくのも良いでしょう。

 

しばらく Windows 向けの MSX エミュレータが多く開発・公開されていましたが、
OS X や Linux 向けにも最新の MSX エミュレータが搭乗しています。
Windows から Mac や Linux に移った人も MSX 環境を維持できます。

 

Android のエミュレータを使用する場合

Android で公開されている MSX エミュレータでは

MSX-BASIC・MSX-DOS の利用は現状おすすめできません。

  • ゲーム操作を主にしたエミュレータで、.dsk ファイルベースになっているため、
    ファイル操作に問題があります。
  • 海外開発が多く、キーボードの JIS 配列が考慮されていません。
    アプリと機種の組み合わせによっては、キーボードを扱う事すら出来ません。

MSX-BASIC・MSX-DOS 使用はパソコンのエミュレータで使用するのが無難です。

MSX エミュレータをダウンロード・インストールする

最新の MSX エミュレータをダウンロードします。この辺がおすすめです。

  • CocoaMSX (macOS)
  • blueMSX (Windows)
  • MSX.emu  (Android)
  • openMSX(Linux・macOS・Windows・Android など)

openMSX はランチャーも入手するのがおすすめです。macOS では日本語のランチャーもあります。

 

Ubuntu・Debian では openMSX が apt で素早くインストールできます。

 

sudo apt-get install openmsx openmsx-catapult

 

openmsx-catapult でランチャーが起動できます。
メニュー追加は行われないため、必要なら個別に追加を行います。

MSX 本体のイメージを入れる

MSX-BASIC・MSX-DOS を用いる場合は MSX 本体のイメージが必要です。
( ROM カートリッジなどは、最新のエミュレータに含まれている C-BIOS によって動作できます。)

OS X 版の openMSX の例。こんな感じに入れておきます。
OS X 版の openMSX の例。こんな感じに入れておきます。

MSX 本体のイメージは下記のところにフォルダ毎にまとめて入れます。
blueMSX 系の一部は .zip ファイルで圧縮したままでも認識するようです。

  • CocoaMSX の場合
    別途マシンデータをファイル化した場合は
    /Users/(ユーザー名)/Library/Application Support/CocoaMSX/Machines 内へ入れます。
  • MSX.emu の場合
    別途マシンデータをファイル化した場合、
    通常は SD カードがあれば /sdcard/MSX.emu/Machines 内へ入れます。
  • openMSX の場合(blueMSX など、他エミュレータの ROM イメージ形式もそのまま使えます)
    share/systemroms 内(Windows では share¥systemroms 内)へ入れます。
    OS X では、アプリ openMSX を右クリックし「パッケージの内容を表示」を選択した中の share
    Linux 等では ~/.openMSX/share、Windows は ¥Users¥(ユーザー名)¥openMSX¥share
    Windows 旧版は My Documents¥openMSX¥share
    Android では SD カードがあれば /sdcard/openMSX/share

入れた MSX 本体を指定し起動して、MSX-BASIC の起動画面になれば正常です。

MSX-BASIC・MSX-DOS プログラムの使用

大きく2種類のアクセス方法があります。


.DSK 形式のディスクイメージを使う

仮想のフロッピーディスクイメージを用います。
旧来から使われている方式で、この方法では書き込みも可能です。

 

  • macOS の場合、.dsk.dmg にファイル名を変更すると、
    そのままディスクイメージとしてマウントし、ファイルを読み書きする事が可能です。
    特にツールは必要ありません。
  • Linux の場合、cat や dd コマンドで .dsk ファイルの生成や
    フロッピーディスクへの書き込みが可能です。
    ディストリビューションによっては頭に sudo が必要です。
      cat image.dsk > /dev/fd0 または dd if=image.dsk of=/dev/fd0
      cat /dev/fd0 > image.dsk または dd if=/dev/fd0 of=image.dsk
    losetup および mount コマンドで .dsk ファイルのマウントもできます。
      sudo losetup -f image.dsk
      mount -t msdos /dev/loop/0 /mnt/floppy
      ls /mnt/floppy
      umount /mnt/floppy
      sudo losetup -d /dev/loop/0
  • Windows の場合、Disk-Mangater というツールで読み書きします。

 

フォルダを仮想ディスクにする

フォルダの中は112ファイル以下にします。
また、ファイル名は基本的に英数にし、8.3文字にします。
下層にフォルダを作成してもディレクトリとして認識しないようです。

この状態でフォルダを指定するとファイルを直接読み出せます。
BLOAD,S を行うと Bad File Name になったり、
一部のエミュレータでは書き込みする事はできません。
これらは .DSK 形式にする事で改善できます。


フロッピーディスクからの読み込み

macOS・Windows・Linux でも USB 接続のフロッピーディスクドライブを認識し、
3.5 インチ 2DD ディスクもそのままアクセスする事ができます。

(機種によって認識しないかもしれません)

 

MSX-BASIC・MSX-DOS はそのままドライブ認識するので、ファイルをコピーする事が可能です。
ただし、英数でない文字は文字化けします。

 

macOS・Linux から .dsk のディスクイメージを作成する事もできます。
自動マウント時に書き込み動作をして破損させるケースもあるため、
自動マウントしない Linux がおすすめです。
また、フロッピーディスクは書込禁止の状態にする事を強くおすすめします。

  • デバイス名を確認します。
    OS X はターミナルより diskutil list でディスクの一覧を表示します。
    内蔵だと /dev/fd0 ですが、外付けの場合はハードディスク・SSD と同様に
    OS X は disk2 など、Linux は sdb などになります。
  • OS X は自動マウントしようとするので取り出します。
    この時、OS X の GUI による取り出しはしないで下さい。
    Linux でも自動マウントする場合はアンマウントします。
    OS X からはターミナルから
    例えば disk umount /dev/disk2 としてアンマウントします。
  • ターミナル・端末から dd コマンドで生成します。以下の様にします。
    Linux の場合: sudo dd if=/dev/sdb of=disk.dsk (sudo 不要の場合あり)
    OS X の場合: dd if=/dev/disk2 of=disk.dsk

久々に読み込むフロッピーディスクは正常に読み込めなかったりするかもしれません。
正常でもディスクアクセスに時間がかかる場合があります。

 

Windows で .dsk ディスクイメージをつくる場合は専用のツールを用います。

Q&A

空の .DSK イメージがほしいのですが……

空で構いませんので、.DSK のファイルを生成します。

このファイルをエミュレータでドライブ指定した後、
MSX-BASIC の CALL FORMAT または MSX-DOS の FORMAT で初期化します。
生成した .dsk イメージは残しておき、コピーして利用すると良いでしょう。

 

運営者が生成した空イメージ BLANK2DD.DSK を下記に入れておきます。

 

非圧縮 (BLANK2DD.DSK)

.lzh 形式 (BLANK2DD.lzh)

.zip 形式 (BLANK2DD.zip)

 

エミュレータで作成した BASIC 等をファイル保存したいのですが、生成されません。

CocoaMSX の場合、フォルダをドライブ指定した場合はファイルを読み込むだけで保存されません。
.DSK イメージを指定し、このイメージファイルに保存して下さい。
必要であれば、イメージファイルからファイルを取り出します。

OpenMSX はフォルダ指定の場合でもファイル生成されます。


ファイルは正常ですが、ディレクトリ(フォルダ)が MSX で認識しません。

フォルダをドライブ指定した場合は直下のファイルのみがアクセス可能です。
階層を要する場合は .DSK によるイメージファイルにする必要があります。

階層を作らないようにするのも手です。

なお、2DD フロッピーディスクの制限上、112 ファイルまでに制限されます。


MSX からファイルを参照するとファイル名に ~1 が含まれています。

MSX は MS-DOS 互換で (8文字).(3文字) のファイル名になっています。
長いファイル名になっている場合は ~1 等が付いたファイル名になります。
MSX で正常に扱うようにするためには (8文字).(3文字) のファイル名にします。 


MSX-BASIC・DOS のファイルを Windows・Mac・Linux から生成できますか?

MSX-BASIC のプログラム、MSX-DOS のテキストファイル・バッチファイルは
テキストエディタを用いて作成する事が可能です。半角ひらがなや一部記号は使えません。

  • 文字コードは シフト JIS(Shift_JIS)にします。Shift_JIS にすると漢字 BASIC も扱えます。
  • 改行コードは CR+LF(Windows・MS-DOS 形式)にします。
  • ファイル名は半角で 8文字.3文字 の形式にします。

MSX-BASIC で MSX から保存する場合、SAVE"(ファイル名).BAS",A と
SAVE コマンドの後ろに ,A を付けるとアスキーモードでの保存になります。
この BASIC ファイルはテキストエディタから参照・編集する事が可能です。

 

作成した BASIC・DOS プログラムを自動実行させたいのですが……

MSX-BASIC の場合はファイル名を AUTOEXEC.BAS にすると、
BASIC 起動で自動的に読み込んでプログラムを実行します。

 

MSX-DOS の場合は AUTOEXEC.BAT を先に読み込みます。
実行プログラムはここに含めます。

 

これらは文字コードを Shift_JIS、改行コードを CR+LF(Windows・MS-DOS)にしておけば

テキストエディタで作成する事も可能です。
これらを含めたフォルダまたは .dsk イメージを指定してエミュレータを起動すれば良いです。

 

なお、エミュレータの中には文字を自動入力できる機能も備えるものがありますが、
運営者の環境では今のところ正常に動作していないため、この手順は記載しません。


1チップMSX を持っています。SD カードを共有したいのですが……

エミュレータから保存する時は .DSK イメージで保存します。
まら、エミュレータからファイルを直接参照する場合は
フォルダ内を 112 ファイルまでにします。
これを守れば、直接 SD カードを参照するようにしても良いでしょう。

 

ただし、SD カードは消耗品であり、破損する場合もあります。
バックアップをパソコンのハードディスク・SSD やクラウドに保存すると良いでしょう。
運営者は Dropbox に入れて復数の環境から MSX エミュレータを起動できるようにし、
その中に SD カード用のフォルダを構成しています。


エミュレータを起動すると、C-BIOS の起動画面になります。

最新のエミュレータでは C-BIOS が含まれていたり、
C-BIOS をインストールしてくれます。
本体を C-BIOS にして起動した際は 

C-BIOS 画面の後、右の画面になります。
「カートリッジが見つからない」と表示されています。

  • ROM カートリッジ方式のゲームなどは
    イメージをスロット選択して起動しなおす事で動作します。
  • MSX-BASIC・MSX-DOS は C-BIOS からは動作しません。
    MSX 本体のイメージが必要です。


C-BIOS とは?

MSX-BIOS と動作の互換性を持つオープンソースの BIOS です。
ROM イメージの配布には問題があるため
その解決を目的に開発されています。


最新の MSX エミュレータには C-BIOS を同梱したり、
インストールを行えるようにしてあります。

 

C-BIOS をマシンとして選択されていても
ROM イメージを起動する事ができます。


iOS(iPhone・iPad・iPod touch)向けのエミュレータはないのですか?

App Store 上では MSX 以外も含めてエミュレータは存在しません。
実際には開発は行われ、公開はされているようですが、
動作させるための手順から容易ではなく、機器に悪影響が生じる事もあるため、紹介を避けています。