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といえばこれ!な感じの起動画面。
ついにMSX2起動できたー。 pic.twitter.com/sicjoDfRBs
— Nochi (@shikarunochi) 2019年4月4日
動作はかなり遅いです。
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ヶ月ぐらいかかります。