長かった連休も気がつけば明日で終わり。3連休が続くのが救いか。とりあえずやったことを書いて反省しよう。
初日は年末の現場仕事の疲れを引きずって忘年会、そのまま休みに突入だったためか、朦朧とした状態で模型作りも進まず。翌日から懸念だった電子部品の棚卸しをしてみるも、2日間かけてリスト化がやっとでこちらも中途半端に諦めた。仕事の立て直しもこの時点でしないことに決定。どうせ年明けは部下の1人が異動、もう1人が定年によるパート化で身軽になる。自分だけの面倒ならなんとでもなろう。
で、あらためて休み中何をしようかと半日ほど考えて、最終的に「Z80関連を触りまくる」をテーマに、やりたかったことをあれこれ思うがままにやってみることにした。
手始めに年末2日間は、KiCADでZ80汎用ボードをJLCPCBに発注。KiCAD7の頃にテキストのサンプル回路図を描くところまでは試していたが、今回はKiCAD9に移行しシンボルやらフットプリントの追加、バスの表現、アートワークなど全部なぞった。久々過ぎてロジックICによるCS信号生成に手こずり、発注時点でギリギリ年が明けてしまったものの、それでもなんとか一通りやりきれたのは良かった。これを糧に早速会社で企画中製品の試作基板を描いて発注してみよう。
明けて元日はご近所付き合いでおいしいお酒と料理でリフレッシュし、2日からMSX実機やらなんやらを触る。下は再販のはっちゃけあやよさんFD版をFS-FD1Aで起動したもの。のっけから表示されるコンプラ一発アウトなテキストが時代を感じさせる。なお同時に美少女コントロールも入手。

いまさらこんなゲームを買ってどうするのかと思わなくも無いが、この無駄なプレイで思わぬ気付きを得る。次いで試したFS-A1FのFDDがまともに動かない。夏にFS-FD1Aの修理をした時は元気に読み書き出来ていたのになぜ…。

そして手持ちのFDDを漁るもFD-235HGが無い。やむを得ずMPF920を使う。FD-235HG同様34ピンをカットしReady信号を配線。2番にDisk Changeを入れた。ネットの情報通りにしたけど、多分ReadyだけでOK。

いきなりA1Fをバラすのも難儀だったので、まずは基板のみにした2台目A1Fで動作確認。OK、一安心。動作音も小さく中々に良い。ここまでで2日が終わる。

3日はA1Fに入れるところから。白ベゼルよりマシだが黒だけというのも重い。取り外したFDDもなんとか修理したい。そして実はMPF920は下面が干渉しA1F底面のツメを2箇所切り飛ばした。さらに固定ツメにも無理矢理突っ込んでいる。止めとけば良かったか?
若干後悔しつつ、気持ちを切り替えるため今度はAKI-80ゴールドボードを触る。部品はかなり前に実装済みなので、先日整理した部品類から必要なコネクタ類を探しつつハンダ付け。簡単に終わるかと思いきや、中途半端に片付けを終わらせた報いか見知らぬ部品が出現してリストを修正したり、老眼が辛かったりでこの日を終えてしまう。あかん。
4日の今日。豪快に寝坊し8時過ぎからROM焼き。休みに入った直後に購入したライターを早速試す。さすがに自作ライターと違いサクサクと一発で書き込み完了。ベンダーコードで大半のROMを判別、読み込みできるのも便利だ。もっと早く買えば良かったな。

BASICは電脳伝説様のGrant's Basic移植版を利用させていただいた。9.8MHzで動作しているためか、定番のマンデルブロ集合は結構な速度で完了。うむうむ、いいじゃないか。
せっかくなのでここからAIを利用して色々とプログラムを弄る。まずはGeminiでMSX向けのマンデルブロ集合を生成。

初回はグラフィック版だったが、数回の問答後にテキスト画面サイズを指定してやると無事動くものが出来上がった。結構な知ったかぶりなのは相変わらず困るが。
続いて電脳伝説様のGrant's Basic移植版を、SDCCでコンパイルできるようNotebookLMでコード修正させてみる。結果、これはまるで駄目だった。ソースの理解と要約はできるものの、トークン制限に引っかかるのかコードが中途半端に途切れて出力されてしまう。早々にClaude Codeにチェンジ。
そのClaude Codeだが、SDCC向けの修正は苦労の末にギブアップしてしまった。記述ルールが今ひとつ理解できなかったのか、Syntax Errorまみれが直らず、z88dkで試してみてはとの提案。仕方が無いのでそれに乗っかるも、z88dkのインストールで一悶着。macOSなのが悪かったのもあるが、homebrewやgithubから必死に引っ張ってこようと試みたり、手動インストール後にvscodeのターミナル上でパスをうまく通せなかったり。ただz88dkなら簡単と豪語していただけあって、コンパイル環境を理解したあとはあっと言う間にコードを生成し、コンパイル成功確認とhexファイル変換までこなした。至れり尽くせりである。
ただこの生成されたhexファイル、ROMライター上は正常に見えて書き込みもできるのに、どうにもAKI-80上で動かない。修正前のコードや果てはオリジナルのソースまで遡ってDiffを取るも、異常が見つからないしエラーも出ないので、およそ半日かけてのAIによるデバッグは手詰まりになった。
で、このままAI使えないなで終わるのはアレなので、夕飯と晩酌後、酔った頭で電脳伝説様hexファイルをBINファイルにして、z88dkコンパイルBINファイルとDiffを取るという力技を敢行。アセンブラならどんなツールでもバイナリレベルでは同一になる、はずという推測で。
結果的にこれが正解で、なんと冒頭のベクタテーブルが途中から2バイトずれていた。z88dkではORGが複数行書けないらしく、DEFSでパディングする方法に置き換えたところでミスったらしい。嘘だろ…。

余りにあと一歩な結果だったので、Claudeちゃんに皮肉交じりのお礼を言いつつマンデルブロ集合。今後z88dkでこの子を使ったコーディングも出来るのは良いが、実はこの日半日これをやってたせいでトークン制限に引っかかった。1月は仕事でもバリバリ試用するつもりだったのでプランをMAX(x5)に引き上げたが、コスパのムラに今後ひたすら悩まされる気がするな。折を見て会社アカウントで設計費として課金するか。
そんなわけで肩の凝る連休だった。まぁKiCADによる基板試作と、AI支援によるコーディングのスキルを少しばかり身につけられたのは有意義だったと思う。今年は健康に、慌てず急がず穏やかにいきたい。

































