実行のためには、PC-8001 または PC-8801 実機から取得した ROM イメージが必要です。
MZ-700 エミュレータが M5Atom + AtomDisplay で動作したので、きっと PC-8001 エミュレータもいけるのでは…。
無事に色の表示まで完了!80文字モードもクッキリ表示で良いですねー。
シアン色の表示になってたのは、カラー数値を uint32_t で定義してたために、drawBitmap の自動判定で「32ビットカラー」と判定されてただけでした…。
Bluetooth キーボードと n80 ファイル読み込みはまだこれからです。 pic.twitter.com/Hl7iReNtsX— Nochi (@shikarunochi) November 25, 2021
いけましたー。M5Stack に移植したときは、320×200 ドットに縮小表示していましたが、HDMI モニタなら 640×200ドットでキッチリ表示できますー!
M5Atom PC-8001 エミュレータ移植、Bluetooth キーボード接続と n80 ファイル読み込みできました。ALT を GRPH に割り当てたので記号入力も可能です。
テンキーがないキーボードなので、テンキー操作のゲームが操作できないw
カーソルキーをテンキーに割り当てるモードが必要ですね。 pic.twitter.com/YOWJCSBSby— Nochi (@shikarunochi) November 26, 2021
カナキーはロック状態を保持しておく必要があるのだな…。とりあえずの確認でJISキーボードの「_\」キーに割り当ててみた。
SHIFT/ALT/CTRL は左右区別できるので、右ALT とか 右CTRL に割当てするのも良さそうなのだけど、Nintendoキーボードは左にしか ALT/CTRL が無いw pic.twitter.com/12raodWdxX— Nochi (@shikarunochi) November 26, 2021
カーソルキーがテンキー2468になるモードをつけた。 pic.twitter.com/tOODY9y2ZI
— Nochi (@shikarunochi) November 26, 2021
記号入力、カナ入力にも対応。PC-8001用ゲームはテンキーで操作することが多いのですが、テンキー付きのBluetoothキーボードを持ってなかったので、カーソルキーでテンキー2468を入力できるモードも付けました。
Bluetooth キーボード関連については、こちらも見てみてください。
M5Atom に Bluetooth キーボードを接続
https://shikarunochi.matrix.jp/?p=4529
注意:BLE対応の Bluetooth キーボードでは接続ができない可能性が高いです。 古めの Bluetooth キーボードを使ってみてください。
GROVE端子に CardKB を接続しての操作も可能です。
ここまで操作できるようになると、入力したプログラムを保存できないのももったいない気がしてきたので、メモリを n80 ファイルとして保存できる機能も追加しました。ファイル名「0_M5N80MEM.N80」固定で作成します。
メモリ状態を n80 ファイルに保存する機能も作りました。ファイル名固定で保存してます。再起動後に読み込みで、LIST 復活!
(連打は Bluetooth キーボード再接続確認ですw) pic.twitter.com/On9HAr01W1— Nochi (@shikarunochi) November 26, 2021
ファイルをPCに持っていく方法は用意してないいので、そんなにいろいろできるわけではないですけれど。
きっと、メモリ的にカセットテープイメージの読み込みは無理だと思ってたのですが、試しにテープイメージ読み込み領域を確保してビルドしてみたところ、問題なく動きました…!
ということで、カセットテープイメージファイル(cmt形式)からの読み込みも対応です。
「メモリ足りなくて絶対無理」と思い込んでいたカセットイメージからの読み込み、やってみたら問題なくできました…! pic.twitter.com/eHsgHYOHGc
— Nochi (@shikarunochi) November 27, 2021
BASIC プログラムをテープから読み込み後、mon して Lで マシン語をテープから読み込み。Ctrl+B で BASIC に戻って run。PCG対応ゲームなので PCGをON。操作用に「カーソルキーでテンキー入力」ON してます。
プログラムはこちらです。VSCode + PlatfomIO でビルドしてください。実行のためには、PC-8001 または PC-8801 実機から取得した ROM イメージが必要です。
shikarunochi/m5n80/m5n80AtomHDMI/
https://github.com/shikarunochi/m5n80/tree/master/m5n80AtomHDMI
各種イメージファイル(ROMイメージファイル / フォントファイル / cmtファイル / n80 ファイル)は、data フォルダに入れて PlatformIO で転送してください。
イメージファイル名は、PC-8001のイメージの場合は「PC-8001.ROM」、PC-8801のイメージ(N-BASIC)の場合は「8801-N80.ROM」です。フォントファイル名は「PC-8001.FON」です。
エミュレータ画面で、M5Atom本体のボタン押下でファイル選択画面になります。ファイル選択画面ではボタン押下で下移動、ボタン長押しで選択です。n80 ファイルはメモリに読み込み、cmt ファイルはテープバッファに読み込みます。
エミュレータ画面で、ボタン長押しでシステムメニューになります。PCG ON/OFF、テンキーモード(カーソルキーでテンキー2468入力)ON/OFF、メモリをn80ファイルとしてセーブです。こちらも、ボタン押下で下移動、ボタン長押しで選択です。