田舎おやじの言動log

田舎で暮らすおっさんの言動を適当にロギング。

有休前夜

4月から今日まで連休と土日もほぼすべて仕事に費やして、本日ようやく切りが付いた。というか無理矢理切りにし、明日は半年ぶりの有休。さすがに心身共ギリギリ状態だった。あとはもう知らん。これ以上誰かがもっとうまくやれるなんて事は無いと断言できる。3連休は思いっきり無駄な時間を過ごしてやる。

とりあえずこの1月を写真で振り返り。まずはこちら。

なんてことはない家の目の前の川だが、実は写真中央にカワセミが写ってる。4月の散歩はコイツに遭うことが楽しみの1つだった。

続いては愛車13万キロ突破。そして点検でいよいよエンジンからのオイルダダ漏れ対策を提案される。おまけに何本目になるかわからんタイヤ交換。まぁ仕方が無いと予約したら、ディーラーが忙しくて2ヶ月後の作業だと。それまでに廃車にならなきゃいいが。プジョーはこれが冗談と笑い飛ばせないところが怖い。

これはカワセミとは別に毎週出くわしたシギ。怒りがにじみ出てるのがお判りいただけるだろう。

そして嫁さんが煽ると、なぜかこの勢いで自分が威嚇される。というかガチで襲われる。理不尽過ぎる。

これは4月から5月連休まで毎日のように食べたワラビ、そしてお茶、セリ、パセリ、三ツ葉。

お茶はこんな感じで家のそばの道ばたに自生。今夜は揚げ物だよ!となると、ふらふらと摘みに行く。田舎の数少ない良さ。

そして振り返ると自室の窓際からねっとり飼い猫に見つめられていた。御年20歳を迎えたババア。いっそこのまま化け猫になって、末永く一緒に過ごしてくれ。

金魚が引くくらいにデカくなったので、水槽を40cmキューブに変更。そのついでに近所の川から川エビをすくってきて2階自室で買い始めた。さらに気まぐれで通販でメダカを買い、今はこんな感じで賑やかに。自室でも仕事漬けだったところで、これに精神的に救われたのは大きかったと思う。

こちらはつい先日買ったニューファミコン。中身は地味にRGB化されている。元々自力で中華パーツを用いて改造のつもりだったが、あまりに忙しすぎて金で解決してしまった。コントローラーは後日紅白FCのものに差し替え。そのコントローラー取引ではちょっとしたメッセージが封筒に書かれており、なんだか同志と交流できたように感じて癒やされた。

プレイ画面はこんな感じ。さすがにMiSTer FPGAほどクッキリではないが、まぁFCとしてはほどよく当時の雰囲気を再現しつつ、プレイ録画に耐えられる品質。レグザとの相性が悪いのか、TV出力で残像問題はあるものの、16インチモバイルモニターでは完璧な画質で満足。

そんなわけで明日からの3連休は思う存分レトロゲーム、レトロPC三昧で行こうと思う。

春の旬と散財2026

綺麗なMSX基板だろ?ゴミなんだぜ、それで。

AIの言うことを鵜呑みして自分で理解しなかった報い。TMS9128の色差信号をRGB出力することを目論んだが、まるでおかしな合成と係数の組み合わせ回路になってた。当然動かない。保険としてジャンパでTMS9118によるRCA出力もできるようにしておいたものの、ごらんのようにノイズが酷くてまともに使えない。さらに前回のスタック基板で起きたカートリッジ起動不良もキッチリ再現。信号品質じゃなくてデコード回路不備によるバス衝突が根本原因なのだった。あーあ。

ちなみにUnityと実IC使用FMPプレーヤーの手習いで、fmgenを利用させてもらいこんな感じのデスクトッププレーヤーは1日程度で作れた。ほぼClaudeとClaude Codeに任せきりで、それらが操作できないUI配置だけ自分がEditorでポチポチしただけだが。でも以前は仕様書とサンプルコードを眺めるところから始まってたはずなので、良い時代なんだと思う。使い方次第ってことか。

外に出れば桜は満開。今日は毎年恒例の桜並木の小径に猫様がいた。

近所の高台の方は海まで綺麗に。お気に入りの場所だったりする。

今年に入り本格化した近所の工場建設。お茶処の山間に突如出現した。これはこれで絵になる。

川沿いには先週からワラビが。GWまで楽しもう。そしてつくしは今日ほとんど取れなかった。また来年。

ワラビを取りつつ自生している花を摘んでお墓にお供え。余った束を仏壇に。ちなみに仏壇は冬の間に隣の実家から運び入れた。腰が砕けるかと思ったが、こうして気楽にお供えとお参りができるのは良い。

散財はこれ。東プレのRC1をとうとう買ってしまった。ハンダごてやオシロでテーブル周りが狭くなったし、セールで2割近い値下げだったのでつい。
まだ2日しか触っていないが、使用感はかなり良好。Fnキー配置がいままでと違ってたのでアプリで設定を変えキートップを付け直し。完璧だ。

ちなみに直前のセットはこちら。マウスは図面を引くときはこっちの大きい方が楽なのでそのまま小さいものと両方使用。キーボードは会社の有線と置き換えるつもり。

他にも超大型散財として、嫁さんと娘用に車を買い足した。が、これは別の機会に。

TDC-600

2,3年前に中華サイトで買ったTDC-600クローン。これがどうにも動かず、最終的にオリジナルプロジェクトのクローンまで作った結果を備忘録…いや墓碑として残す。

『中華サイトのクローン品は絶対に買ってはいけない』
  • 手持ちのクローン品は発振回路に間違った容量のコンデンサが付いており、そもそもまともに動くはずが無い状態だった。
  • 後述のオリジナル回路問題もそのままコピーしており、ノーチェックで出荷しているのは確実。ハンダ品質も酷い。
  • オリジナルから基板表裏とコネクタピン番号を逆にする改善が、逆にオリジナル資料を見て使用した時大惨事を招く。
  • これを自分で改造するくらいなら、中古のちゃんとしたMSX用FDDを買ってドライブ交換する方がマシ。
『オリジナルプロジェクト回路の問題』

  • 部品実装面が実は裏という大きな罠がある。逆指しすると12V印可でICが死ぬことがある。危険。
  • FD用フラットケーブル接続が逆という、アホみたいな罠がある。逆指しするとFDDが死ぬことがある。危険。
  • 想定しているFDDが海外製なせいか、プルアップ抵抗値が低すぎる。150 --> 4.7k交換が安全。
  • R7のPCVAL信号がプルダウンになっている。一般的な2DD FDDはプルアップである。
  • 部品価格とトレードオフで発振回路の信頼性が低く、普通に作るとまずまともな波形が出ない。
  • 上記はCとRを調整して何とかなるかもしれないが、簡単なのは単体動作する発信器モジュールに交換すること。
  • 発振がおかしいと、FDD読込時にBad ParameterやDisk I/O Errorがでる。とにかく読込NG。
『正しいジャンパ設定と用意すべきFDD、ケーブル』
  • 大前提としてストレートケーブルを使う。DOS/V用ケーブル流用時はBドライブ(根元側)接続。
  • 34ピンのReady信号引きだし、DS1-->0化は不要。普通のDOS/V用34ピンFDDを無改造で使える。
  • 上記の場合ジャンパ設定は2−3、2−3、2−3、2−3。中華クローン品は一部1−2になっているので注意。
  • MSX用FDD、またはDO0化済みFDDのジャンパ設定は2−3、1−2、2−3、2−3。
  • PC用無改造FDDで、DOS/V用ケーブルをA側に接続する場合、ジャンパ設定は1−2、1−2、1−2、1−2。
『部品入手状況』
  • 基板はJLBPCBで送料込み1800円くらい。クーポンがあると600円くらい。5枚も要らないが。
  • 肝となるWD37C65BはAliExpressで数百円で入手可。
  • 32k ROM(27C256B)互換品もAliExpressで数百円。27CxxよりSST27SFxxの方が使い勝手が良い。
  • 上記は16kでもいいかも。MSXのDISK周りは1ページだったはず。
  • 74LS138は普通の74HC138でも問題無さそう。
  • 同様に、74LS04は発振回路に使わないのであればHCでもOK。

ここに至るまで基板1枚、虎の子の黒ベゼルFDD 1台、ロジックIC 2個が犠牲になった。合掌…。

オリジナルプロジェクトでも中華サイトの口コミでも、あまり問題についてクローズアップされていないのは不思議。自力で解決する強者が多いのか、それともGotekみたいなFDDエミュレータなら動いてしまうからなのか。

ともあれ、きちんと動きさえすれば、気軽にFDDをMSXに後付けできるアイテムとしてTDC-600は大変優秀だ。PCとのデータのやりとりも楽になるし、カセットI/Fよりはるかに入手性も良い。個人的には自作MSX互換機にFDDが内蔵できる目処が立ったのは大きい。早速展開して基板発注しよう。

微妙

あっという間に再び1月近くが経過。

庭のさくらんぼは散り、つくしが旬になった。

冬の間見かけなかった半野良の茶トラも再び我が家に来るようになった。今年もよろしく。

冬の間にやろうと思ったボートの新調が手つかずのまま、釣りのシーズンが到来しようとしている。GWには間に合わないが、それでもそろそろ動かないとまた1年終わってしまう。4月中に何とかしよう。

先月に引き続き作っていたMSX1互換機は、AIの力を思う存分借りて先日一通りの動作確認を終えた。カートリッジスロットの動作がうまくいかず、どうしても動作が安定しないゲーム、起動しないゲームが多い。バスバッファICを取って直結すると多少マシになったり、逆に動かなくなるものがあったりで、正直お手上げ状態だ。なんとなく配線幅品質が悪い箇所があると予想。特にうまく動くものは16k以下のゲームだったり、FDDだったりするので、CS2信号周りが怪しい。のだが、CS2デコード回路を同一基板に持ってきても改善しない。訳わからん。

これ以上の調査には時間が掛かるし、オシロを買ってまで確認したけどよくわかんない。ひとまずMSX2+へ拡張する方に注力しよう。

そういえばFDコントローラのTDC-600クローンも暇潰しに作ったのだが、中華製互換品と同様にうまく動かなかった。書込はできるが読み込みで応答がなくDisk I/O Errorになってしまう。安いオシロまで買っていざ検証…となったまさにその時、元の回路にひどい間違いが数カ所あることに気付きガッカリ。古くさい発振回路も気になるし、いっそ回路から引き直した方が良さそうだ。

以下は自作MSX1機で動作したもの達。MSX1でMSX-DOSが動くという事実が確認できたのは良かった。あと周辺機器や入出力はすべて正常動作した。カセットI/FとDISK BASIC、MSX-DOSが同時利用できるMSX1としてはそれなりに貴重かも。あとAV出力のぼやけた感じも自作の経緯を思うと味があるように見える。まぁコードの文字はろくに見えないのはご愛敬かな。

パックマンとロマンシアが見当たらないな。どちらもそれっぽく動いたんだが。

あとUSBキーボード化あたりは成功。当初先人に倣ってATMega328でPS/2キーボードを接続していたのだが、どうにもキーの取りこぼしやゴーストキーが解決せず、2コアで高速動作するRaspberry Pi Picoに変更した。ついでにUSBホスト機能を活かしてUSB化。これで現行東プレキーボードがMSXに接続できるようになった。FS-A1Fの改造基板にぜひ展開したい。

他にまともに動いたのは、MiSTer PFGA用SNACアダプタ+GP2040-CE変換器。長年の課題だったハドソン連射パッドのPC動作が解決した。しばらくはゲーム消化に勤しもう。

で、現在はMSX2+とMSX1両方のBIOSが切り替えられる互換機を製作中。これが出来ればFPGA機のSX-EやFS-A1Fは出番が無くなり部屋がスッキリする。GW前までに動くといいな。

気がつけば

2月も終わり。庭のさくらんぼの花が咲いてしまった。年明けから仕事が詰まりつつ親戚の不幸なども重なり、あまり眠れていなかったが、ようやく今日山場を越えた。

そんな状況でGeminiとClaude Codeの力を借り、趣味はこちらをコツコツと進めていた。

左がMSX MGSプレーヤー、右がMSX仕様のCP/Mボード。PCB設計は失敗ばかりで大量のゴミ基板を生産してしまったが、この2つはまぁ何とか形になりつつある。

CP/Mボードの方は年末年始でやっていたAKI-80ボード+Grant's Basicを移植するところから始め、2月初旬にSDカード上のCP/Mで同Basicが動作、かつBasicコードをCSAVE,CLOADできる状態で一応完成。そのままCP/Mを使いMSXのボードの動作確認利用を予定していたが、基板サイズとコネクタ位置を変更した新作CPU基板の設計をミスったため、作り直し基板到着の間待機中。

実はアドレスデコード部分でひどい配線ミスがあり、結構強引に配線改造している。またSRAMもA15の配線をし忘れるという痛恨のミスで空中配線状態だし、リセット周りのICも電源の極性を間違えるというあり得ないミスがあって、ICをソケットから外してピン直結状態だ。Geminiに一通りチェックしてもらった結果OKだったのだがこの有様。これについて問い詰めると、図は理解できないので文字の意味と配置で識別評価しているとのこと。そんなんでよく自身満々でOKだしたなコイツ…。他にも24ピンロジックICがワイドDIPと言い張ってたし。おかげでナローDIPに変換するというアホみたいな下駄基板を作る羽目になった。

当然MGSプレーヤーの方も一筋縄じゃいかず、SCC用のスロットのフットプリントが間違ってて取り付けできなかった。それにレジスタ制御でアドレス線が足りておらず、それをClaude Codeに指摘される有様だ。途中で思考が抜け落ちて結論がブレるくせに、サービス精神旺盛にこちらを褒めまくる性格は本当に怖い。

Claude Codeはコンパクション前後で記憶喪失、人格が変わる大問題に翻弄されつつも、これを帳消しにする抜群のコーディング力により、思うような機能実装はできた。基板と違って間違ってもごみがでないのはいい。念願のSDカード制御CP/M、3音源フル再生できるMGSプレーヤーが完成し大満足。

そんなわけで次はいよいよMSX1互換機稼働を目指し準備中。なんとかGW前にはフル機能を動作させたいな。

年末年始

長かった連休も気がつけば明日で終わり。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支援によるコーディングのスキルを少しばかり身につけられたのは有意義だったと思う。今年は健康に、慌てず急がず穏やかにいきたい。

等身大

会社で老老介護状態が続き、いい加減へこたれてこの場で延々と愚痴を垂れようと思った矢先に到着。

組み立て後いつまで家族にばれないかというチキンレースを試みる予定が…

これのおかげで即バレし、帰宅したら詰められる羽目に。ひどいよバンナム…。

箱は1000mm位でパネルも発泡+段ボールで軽い。

組み立ては一瞬。両面テープが若干弱い気がするものの、質感は値段の割に良い。予定外のバレはともかく、良い買い物をした。

誤算は大きさかな。等身大という文句に偽りは無い。…のだが、ジャンプ+ポニテで1800mm位ある。プレイシートの隣に置くと威圧感がヤバい。飲酒運転は許されない感じ。

まぁでもひどい週末、しかも明日は早朝から手弁当の休日出勤だったところ、少しばかり癒やされた。やっぱりアイマス最高だな。