M5Stack:MZ-1500エミュレータ

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

https://github.com/shikarunochi/CommonSourceCodeProjectM5Stack/tree/master/src/mz-1500

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

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

SDファイル直下の「機種名」+「ROM」が、各機種のROMイメージフォルダになります。「/mz1500ROM」という感じです。

必要なROMファイル詳細については、本家エミュレータ(Binary Archive)をダウンロードして、ドキュメントを参照してください。

Common Source Code Project
http://takeda-toshiya.my.coocan.jp/common/index.html


クイックディスクも読み込めました!ディスクイメージ片面64KBなので、まるごとメモリに読み込んで処理できました。なのですごく動作速いです!

メディア種別の判定は、基本的にファイル拡張子で行っているので、クイックディスクの拡張子は「Q20」にしておいてください。「MZT」だと、テープとして扱われます。

「MZT」テープイメージの読み込みにも対応しています。バイナリイメージを逐次テープの音信号に変換して、エミュレータのテープ信号読み込み処理に渡す処理なので、読み込みは遅いです。進行パーセントを表示するようにしてますので、ゆっくりとお待ちください…。実機比較でも、数倍遅いと思います。

(2019/05/12追記)
MZTファイル選択時に、赤くなるまで長押ししてファイル選択すると、MZTファイル内容を直接RAMにコピーする処理を追加しました。
(Common Source Code Project の過去バージョンに暫定的に入っていた処理を復活させて移植しています。)

読み込み方式としては邪道ではありますが、起動の速さはすばらしいですね。
単純にメモリにデータをコピーして、無理やり実行アドレスに飛ばす処理なので、起動直後に読み込むマシン語ファイルのみ、正しく動作させることが可能です。


RAMファイル機能に対応しています。サウンドには対応していません。漢字/辞書ROMと、EMMには対応してません。



このエミュレータが実行可能なのは、2019/05/06(ゴールデンウィーク最終日) 時点では M5Stack FIRE のみです!


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