M5Stack:MSX2 エミュレータ

Common Source Code Project のMSX2エミュレータをM5Stack FIREに移植しました。

https://github.com/shikarunochi/CommonSourceCodeProjectM5Stack/tree/master/src/MSX2

ビルド済みの bin ファイルも用意してあります。

https://github.com/shikarunochi/CommonSourceCodeProjectM5Stack/tree/master/bin
msx2.bin

MSXといえばこれ!な感じの起動画面。

動作はかなり遅いです。

ROMやフロッピーディスクのイメージファイルはSDカードの /msx2ROM/ に入れておいてください。

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

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

キー入力は、M5Stackオプションの CardKBか、シリアルコンソール経由で行います。

M5Stack Official CardKB Mini Keyboard


ROMイメージは、うまく動くものと動かないものがありました。(ROM種類によるものなのか、スクリーンモードによるものなのか…?)
動いたらラッキー、ぐらいの気持ちで試してみてください!
メガロムの場合、ROMサイズ1MBまでのものが読み込み可能です。

 

MSX版も「へいせいわ れいわへなり あたらしいじだいへ(平成は令和へ成り新しい時代へ)」の復活の呪文が使えますね。


テープイメージは読み込めません。
PC-6001のときにテープ読み込みうまくいったので、同じ感じで行けるかと思ったのですが、PC-6001は専用のロジックになってて、MSXとは別の方式になってました…。
いろいろとがんばってはみたのですが、残念ながら、読み込みまでたどり着けなかった。この感じだと、Common Source のMZ系移植したときも、テープ対応は難しそうです。


フロッピーディスクは読み込めます。ただし、ディスクイメージはD88形式のみ対応です。
移植元のエミュレータでは、他ディスクイメージ形式の場合、エミュレータ内部でD88に変換して対応していたのですが、M5StackのPSRAM 4MBではそれを行うのは無理でした。

こちらのツール「NFCC」で、ベタのディスクイメージをD88形式に変換してから読み込ませてください。

フロッピーディスクイメージの形式を変換ツール NFCC
http://euee.web.fc2.com/tool/nd.html

nfcc.exe 1 [変換元.dsk] [変換先.d88]

これで d88 ファイルに変換可能です。

Bボタンで D88 ファイルを選択した後、Cボタンでリセットをすると、フロッピーディスクから起動します。

読み込みは、都度SDカードのファイル見に行ってるので、結構遅いです。


ジョイスティックの動作が左右逆になってるみたいです。SC-3000に正常動作したロジックと同じはず…。各機種ごとに処理変更必要なのかな?



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


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