M5Stack MZ-80Cエミュレータの移植元、Oh!石さんの「mz80rpi」では対応外となっていたMZ-700の処理を、まるくんさんの「MZ700WIN」ソースから再移植しました。
追加したのは、以下の処理です。
・メモリバンク切り替え処理
・カラー表示処理
・拡張フォント(ひらがな&英小文字)対応処理
紅茶羊羹さんのサイトのメモリマップにとても助けられました。
MZ-700/1500 I/Oマップ
http://www.maroon.dti.ne.jp/youkan/mz700/mzioframe.html
ということで、できました!
M5Stack FIRE用 MZ-700エミュレータ「M5Z-700」!
PSRAM搭載の M5Stack FIRE でのみ動作します。M5Stack / M5Stack Gray / M5GO では動作しません。
PSRAM無しでも動作するようになりました!
カラー!
ひらがな!
PCGもOK!
アイドルも!
伝説のTinyXEVIOUS!
すばらしー。
(とはいえ、シリアルコンソール経由の操作になるので、ゲーム自体の操作ができない部分は多いです)Grove接続のCardKB、M5StackFacesキーボード、BluetoothClassic キーボード、シリアルコンソールからキー操作可能です。
ソースはこちらです。
ソースは、M5StickC Plus版、M5Atom版と統合されています。VSCode + PlatformIO で env:m5stack でビルドしてください。
モニタROMの種類によって、MZ-80CモードとMZ-700モードに自動切り替えになるようにしています。
MZ-700も、レゴブロックで筐体を作ってみました。MZ-80C の時は、M5Stackを10インチモニタ相当として作ったのですが、今回は14インチテレビのイメージで!
おお!結構いい雰囲気が出てる!M5Stack FIREが赤い本体のテレビに見えて、なんとも昭和感あります!
前に作ったMZ-80Cと比べるとスケールが全然違うのでした。
こんにちはマイコン! pic.twitter.com/jeuuNsyDP3
— Nochi (@shikarunochi) 2018年11月6日
(「こんにちはマイコン」はPC-6001ですけども)
それではみなさま、良きMZ-700ライフを!
このエミュレータが実行可能なのは、2018/11/03 時点では M5Stack FIRE のみです!
Amazonリンク貼りつつ、なんですけど、海外からの通販に抵抗が無い場合は、本家M5Stack の AliExpress で購入してみるのもいいかと思います。販売されている商品の種類も多くて、価格も少し安めです。ただし、到着まで半月~1ヶ月ぐらいかかります。