M5Atom 単体で MZ-700/MZ-80C エミュレータが動作するようになりましたので、以前に作った MZ-80C ミニチュアフィギュアの 1.3インチLCDに表示するようにしてみました。
M5Atom + Bluetooth キーボードで MZ-700 エミュレータが動作できたので、この組み合わせをやっておかなくては! pic.twitter.com/oq16wNyh9U
— Nochi (@shikarunochi) November 22, 2021
エミュレータをBluetoothキーボードから操作です。字が読めないw pic.twitter.com/t9RypPvoVh
— Nochi (@shikarunochi) November 22, 2021
320 x 200 でスプライトに描画して、アンチエイリアス付き拡大縮小(pushRotateZoomWithAA)で 0.75 倍表示(320 → 240)を行いました。全画面をスプライトで保持するにはメモリが足りなかったので 320×40で5回描画です。
横320ドットを240ドットにLGFXのアンチエイリアス使って縮小しています。拡大すればちゃんと読める!
全画面をスプライト保持するにはメモリが足りなくて、320×40 で5回に分けて描いてます。 pic.twitter.com/LYS4yGphmV— Nochi (@shikarunochi) November 22, 2021
まあまあ読める。
すると、3Dプリントモデルデータでお世話になりまくりのシノラボさんから、自作の 6×8 ドットMZ風フォントがあります、との連絡が!
以前、240×200スクリーンで40×25行表示させようと、8×6ドットのMZ風フォントを自作したのですが、もしかして使えたりしますでしょうか?
— シノラボ (@sino71030780) November 23, 2021
240×200ドットで 40×25 行表示するために作成されていて、MZ-80K/C の独特の記号まで完全収録とのこと!すばらしいです。
ということで、さっそく組み込ませていただきました。フォントデータは横6ドットx縦8ドットが横向きで入ってましたので、40×240 のスプライトに90度傾けた状態で描画して、その後、90度戻して pushRotateZoom で画面描画しています。ドット数ぴったりなのでアンチエイリアスしなくても大丈夫!そのぶん描画速度も速くなります。
8×6 ドットフォント組み込んでみました。クッキリ表示!すごいです!
こちらのフォントデータを組み込んだ状態で、ソースを公開してもよろしいでしょうか? pic.twitter.com/ssMD16mRYS— Nochi (@shikarunochi) November 23, 2021
めっちゃクッキリ!!!!すごい!
プログラムはこちらです。M5Atom はバイナリデータでの配布は難しいので、ソースのみ公開です。PlatformIO でビルド&実行してください。
MZ-700 Emulator for M5Atom + AtomDisplay +Bluetooth Keyboard
https://github.com/shikarunochi/m5z80/tree/master/m5z700AtomHDMI
platform.ini で -D USE_EXT_LCD を有効にすると、AtomDisplayではなく 240×240 LCDに描画するようになります。
PCGは8×8フォントになるので、PCG切り替えはできないようにしています。
接続は SCK:G23 / SDA:G33 / RES:G19 / DC:G22 です。ピンを変更したい時は mz700lgfx.h を修正してください。
配線については、こちらも参考にしてみてください。
LCD 配線アダプタ
https://shikarunochi.matrix.jp/?p=4414
上のピン接続、AtomMate 付属のピンになるべく合うようにしているのですが、AtomMateと同等の配線を自分でやろうとすると結構めんどくさいんですよね。M5Atom 本体のピン並びに合わせて、SCK:G22 / SDA:G19 / RES:G23 / DC:G33 にしたほうが簡単だと思います。GNDだけ持ってくればいいだけなので。
シノラボさんのフォントデータに 6×8 ひらがなを追加し、英小文字フォントを英語フォントから移植して、MZ-700のフォントセットを作成しました!ひらがなは6×8はさすがに無理があるところもありますが、文章になってれば結構読めますね!
6×8 ひらがな追加してみました。(だいぶ無理があるところもありますがw)
Excel のフォントデータ生成ツール、すごい便利ですね! pic.twitter.com/VEelEqGf9Y— Nochi (@shikarunochi) November 24, 2021
英小文字もOKです!
英語フォントのところから移植しましたー。 pic.twitter.com/HDSwlGUtqD— Nochi (@shikarunochi) November 24, 2021
M5Atom に PC からの画面を転送表示して、エミュレータが動作してるっぽく見せかけてたことはあるのですが、ホントに動作できるようになるとは…。驚きです。
M5Atom で MZ-1200 エミュレータ動作…と見せかけて、ESP32 ScreenShotReceiver で Windows PC の画面を転送しています。https://t.co/xWBawqBIHk pic.twitter.com/B6ivE8UzYm
— Nochi (@shikarunochi) March 14, 2021