M5Stack FIREで動作するMZ-700エミュレータを、ミニキーボードCardKBからキー入力できるように修正しました。
MZ-700エミュレータ for M5Stack FIRE
https://github.com/shikarunochi/m5z80/tree/master/m5z700
CardKBファームウェアが古い場合、更新が必要です。CardKBサンプルプログラムで delay(1000)にして入力が可能であれば大丈夫です。
M5Stack:CardKB ファームウェア更新
http://shikarunochi.matrix.jp/?p=2910
MZ-700の記号入力をキーボード表記に合わせました。記号関連は、MZ-80K/Cと全然違うレイアウトでした。
ESCキーをSHIFT+BREAKに割り当てています。BASICプログラムを止めたいときはこれで。
あとは、いくつかの制御キーをFnに割り当てています。
Fn+Up:HOME
Fn+Down:CLR
Fn+Right:INST
それから、MZ-700は記号入力モードがあるので、以下を実装しました。
Fn+TAB:GRAPH
TAB:英数
Fn+BS:かな
キー数の都合で、全部の記号やカナ文字は入力できないかも。せっかくなので実装してみた、程度の感じです。ちなみにカナは「アイウエオ」配列です。
MZ-700 / MZ-80C エミュレータ for M5Stack FIRE、記号モードとカナモードが使えるようになりました。(キー数足りないので入力できない文字があるかも。)https://t.co/Pi3OmiukXT pic.twitter.com/Wp4fkRrt0W
— Nochi (@shikarunochi) 2019年1月31日
ついでに、M5Stack本体だけでテープファイルが選択可能なファイラーを実装しました。
Bボタン長押しで起動します。
M5Stack FIRE用 MZ-80Cエミュレータに、テープファイル選択機能をつけました。これまではテープファイルを選択するには外部Webブラウザからの接続が必要だったのですが、本体だけでもいろいろ遊べるようになりましたー。(動画中のBASIC読み込みは時間かかるのでハショッてます。) pic.twitter.com/STV0b7yQUL
— Nochi (@shikarunochi) 2019年1月26日
長押し判定については、らびやんさん(@lovyan03)に助言いただきました。
pressedFor側ではフラグ立てるだけで、wasReleased内で分岐!なるほどー!
ありがとうございます!— Nochi (@shikarunochi) 2019年1月26日
モニタROMは今まで通りWebブラウザ経由で選択してください。
ここまでくると、PCGやサウンドの設定メニュー画面が欲しくなってきますね。
このエミュレータが実行可能なのは、2019/01/30 時点では M5Stack FIRE のみです!
Amazonリンク貼りつつ、なんですけど、海外からの通販に抵抗が無い場合は、本家M5Stack の AliExpress で購入してみるのもいいかと思います。販売されている商品の種類も多くて、価格も少し安めです。ただし、到着まで半月~1ヶ月ぐらいかかります。