M5Stack:MSXエミュレータの使い方

以下のサイトで、M5Stack FIRE用の SC-3000 / MSX1 / ぴゅう太 / SORD M5 エミュレータを公開しました。ライセンスはGPLv2です。

TAKEDA, toshiyaさんの Common Source Code Project をM5Stack FIREで動作するように移植したものです。

Common Source Code Project for M5Stack FIRE
https://github.com/shikarunochi/CommonSourceCodeProjectM5Stack

動作速度は実機と比較してかなり遅いです。また、サウンドには対応していません。小型端末で動いているのを楽しむ、って感じです。

コンパイル済のbinファイルも置いてあります。

https://github.com/shikarunochi/CommonSourceCodeProjectM5Stack/tree/master/bin
m5.bin / msx1.bin / pyuta.bin / sc3000.bin

binファイルをSDカードに入れておけば、LovyanLauncher から読み込み可能です。

LovyanLauncher
https://github.com/lovyan03/M5Stack_LovyanLauncher


エミュレータ実行のためには、それぞれの機種の実機ROMイメージが必要となります。実機入手が必要なので、なかなか厳しいところです。

MSXは、フリーで使えるオープンソースのBIOSイメージや、フリーゲームのROMイメージが入手可能です。
なので、これを使ってエミュレータ設定方法を説明します。

C-BIOS Association
http://cbios.sourceforge.net/

ダウンロードサイト
https://sourceforge.net/projects/cbios/files/cbios/

上記サイトから、cbios-0.29a.zip をダウンロードしてください。
zipを解凍して「cbios_main_msx1_jp.rom」を「msxj.rom」にリネームしてください。

フリーゲームのROMイメージはこちらからダウンロード可能です。

MSXBLUE-DEV:MSXdev’05
http://msxdev.msxblue.com/?page_id=116

2005年に行われたMSXゲームコンテストの作品ですね。


必要なゲームをダウンロードしたら、SDカードに「msx1ROM」フォルダを作って、そこに入れてください。BIOS ROMもゲームROMも同じフォルダです。
現状は、カートリッジROMのみ対応です。ROMサイズは1MBまでです。(SRAM全部で4MBなのでこれぐらいが限界…。)カセットやディスクは対応してません。

ちなみに「機種名」+「ROM」が、各機種のROMイメージフォルダになります。「sc3000ROM」「pyutaROM」「m5ROM」という感じです。


起動すると、BIOS画面になると思います。C-BIOSは、BASICは含まれてないです。

カートリッジ選択は「Bボタン」です。

さきほど、/msx1ROM/ フォルダに入れたファイル一覧が表示されますので、起動したいイメージを選択してください。

起動できました!


操作は、M5Stack CardKB もしくは、シリアル接続でのシリアルコンソールから可能です。

M5Stack オプションのジョイパッドにも対応しました。ゲーム側もジョイパッド操作に対応している必要があります。



このエミュレータが実行可能なのは、2019/03/20 時点では M5Stack FIRE のみです!


Amazonリンク貼りつつ、なんですけど、海外からの通販に抵抗が無い場合は、本家M5Stack の AliExpress で購入してみるのもいいかと思います。販売されている商品の種類も多くて、価格も少し安めです。ただし、到着まで半月~1ヶ月ぐらいかかります。