6809のプログラムの動作確認環境について linux PC上でクロスアセンブルしたものを SBC6809やFM7などの6809マシンに持って行って動作させるのが単純な話なんだが、 パラメータを一つ変えては、SDカードやEEPROMに書き込んで、動作させてみてを繰り返すのは あまりにも非効率すぎる、プロならICEとかを使うのが王道だが趣味の道楽でそんな道具揃えてなど居られない。 そこで、PC上でエミュレータで動作させて、おおかた完成させてから実機に持ち込むやり方になる。 6809のエミュレータ環境を探すといろいろ有るが、懐かしのFMシリーズなどのPCエミュや 海外だとTRSなどの6809PCのものが結構出てくる。ただ そこまで多機能なモノは必要ではないのだ ACIAでのデータのやり取りをシミュレートしてくれるだけのボードマイコンを再現してくれるので十分なのだ web検索で探すと、6809tools,6809usim,6809 という3つが候補に上がる 6809toolsは、アセンブラのA09と実行環境のV09の組み合わせなんだが、 ROMエリアとACIAポートアドレスが固定で、ソースを変更しても動作させることが出来ない。 6809usimも同様にACIAポートが変更できない、動作させるためのROMを同梱のmakeROMで作るしか出来ないとか 今どきのlinux環境で素直にビルドできないとか問題山盛りすぎて話にならない。 最後の6809(正式名は6809 Assembler, Simulator, Debugger (in rust))で https://github.com/gorsat/6809 で公開されてる。 概要としては、ACIAポートを起動時のコマンドラインオプションで指定でき、 エミュレータ本体に簡易マクロアセンブラとデバッガが内蔵されており、 ブレークポイントだけじゃなく、ステップトレースまでこなし、 端末画面2つ必要なのを除けば、使い勝手は申し分ない。 他のアセンブラで作った、HEX、モトローラSレコード、BINも実行できるのも有り難い。 github経由でしか、作者にメッセージが送れないので残念。
端末上のテキスト表示を記録するには asciinemaを使うが、 これだけでは〇〇.castというあまり一般的ではないファイルができるだけで、 これを公開してもごく一部にしか通じない。 まず、 $ asciinema rec othello.cast などと、asciinemaを記録モードで起動 例としてcpmで動作するGAME80コンパイラGC80で作った オセロプログラム起動、終了、録画停止 $ asciinema play othello.cast で記録の再生、確認 これを一般的なmp4動画にしたいと悩む。 おなじみのduck.aiにお伺いをたてるとasciinema-animとか言うのが有るらしい と言われるが見当たらない、普通にweb検索をかけても出ないところを見ると お約束の嘘解答に騙されてしまったようだ。 そこで、改めて探し出したのが sh2mp4 だ。 コレ単体で端末の表示の記録録画ができるらしいが 今回欲しいのは〇〇.castをmp4動画に変換する機能。 $ sh2mp4 --cast-file othello.cast othello.mp4 とかやって、できたmp4動画を見たら「*」記号が「.」と代わらんぐらい小さくて納得いかず。 オプションにフォントの種類とサイズが代えあられるらしいので試した結果 $ sh2mp4 --cast-file othello --font "Source Code Pro" --font-size 14 othello.mp4 で、できた動画がこんな感じ が、ローカルで見ると内容が判るんだが、ブログに上げてみると上の動画はただの黒い画面に小さな点がチマチマしてるようにしか見えない。全く使えない。 別のやり方を探す、単純に画面を動画としてキャプチャするsimplescreenrecorderというの試す。