椋の木
2026年5月24日日曜日
KiCAD10からFreeRouting
プリント基板なんぞにゃトンと縁がなかった。
なにぶん電子機器の知識が無いものだから何かを作ってみようという気が起きなかったのだ。
そこに昨今のAI騒ぎ。AIなんてよくわからん物をとにかく使ってみるかいな、という次第で作る回路を決めてみた。 そうそう、昔、Apple II などという機械があったが、あれでよく遊んだのだ。という事で設計する回路は Apple II 用の拡張スロットに差し込んで使うものにした。
それで相談相手のAIはGEMINIにしてみた。これは画像を読み取ってくれるAIなので相談しやすそうだと思った次第。
でもGEMINIはある意味バカだった。いや、もっと悪い。わからないのなら、知りませんとか答えればいいのにごまかすのだ。 GEMINIが提示してくる回路図を眺めてみると、電子機器の知識に乏しいオイラにもひどい出来だとわかる図面。 こりゃ話にならんと、次なるAIを探してみた。検索上位に引っかかるAIを試してみると、
これらはGEMINIよりもひどかった。嘘はつかないが、こちらの話を無視するか、はぐらかして、逆に質問してくる。つまり教えてくれという態度なのだ。 それに、そういうAIには大抵有料会員勧誘のページがしつこく表示される。うんざりした頃にCLAUDEにたどり着いた。
CLAUDEは画像を読み取ってはくれない。話だけで回路図が作れるものかなぁ? と思っていたけどCLAUDEは結構使える。使えるので有料会員になってみた。 でも回路図をきちんと作ってプリント基板を発注するにはCADを使わないといけない。 それで、KiCADというアプリの解説本を一冊買って読んでみた。 本の内容はよくわからないが、とにかく使ってみた。
最初の数日は大変だった。年寄ってよくわからん本を読んでると眠くなるのね。
あそこはドーダとかここはどうすれば良いのか、などとAIに相談しながら1週間ほどで回路図ができた。
さて回路図ができたので、次はKiCADのPCBエディタというtoolで回路図に従ってプリント基板の上にコンデンサやら抵抗を乗せてゆく作業になる。 最初に買い込んだ本は、その辺りから解説が少なくなっていて、まあ、使い物にならなくなった。
今では回路図の第二版にとりかかっているのだが、kiCADで回路図つくるよりもKiCADのPCBエディタでプリント基板上の部品同志を配線してゆくほうがよほど大変なのだと思う。 その作業が大変なので、AIに相談したらFreeRoutingというJAVAソフトがあって、それが自動的に結線してくれるのだとか。 これを使ってみると、こりゃ楽チンだわ。あっという間に結線が終了。で、よく確認もせずにJLCPCBにプリント基板を発注。
一時間後、あれま!アースのベタ塗の順番を間違えて、孤立ベタができているではないの。まあ、それでもジャンパーを飛ばせばなんとかなるだろうと。 それに、電子機器はハードウェアだけでは動かないので、動かすソフトウェアを作らないといけない。でもハードウェアが一発で動作するとは、さすがに考えていなかった。 そこはほら、AIに作ってもらおうか、などと考えながら、一週間ほどでプリント基板が到着。
さっそく部品を基板に乗せて半田つけしていった。ほとんど完成かという時になって妙な事に気が付いた。 使っているCPLDというチップなのだが、ピン番号が違うのだ。KiCADにあったPCBエディタで使うフットプリントという、まあCPLD写真みたいな物、がATF1502AS_PLCC44とあったのを拝借して使っていた訳。ところがこいつは基板に直つけする製品では無くてソケット使用の製品だった。さらに勘違いが続く。購入したCPLDはATF1502AS_TQFP44,これは基板に直つけする製品。さらに、PLCCとTQFPはピン番号が完璧に違っていたのだ。
まあ、そういう次第で最初のプリント基板はお倉入りになった。CPLDの方はWinCUPL_IIというアプリで動作をシュミレートしてOKだという結果だったのだが、さて現実の方はどうか? という次第で回路図の第二版と相成った。
ATF1502ASを使うというのは、何とも気分が悪い。こんなCPLDなんか馬に蹴られて死んでしまえ。なので ATF1508AS_TQFP100を使う事にした。このチップはヒン間の距離が0.5mmで100個のピンがあるいとう代物。どうせ動かない物を作るなら派手に玉砕してしまえ、などと思ったわけではない。半田つけは老眼のオイラには一日仕事になりそう。 で、作業が順調に運んだかというと、そうでもない。
先にこれは便利と思ったFreeRoutingというアプリが反乱を起こした。java.lang.StackOverflowErrorを起こしてまったく動作しなくなった。
「古いFreeRoutingはバグが多いです。GitHubの最新版を使うと改善されることがあります。」
というAIに、いや最新版なのだが、と思いながらも最新版を再インストールするオイラ。
「FreeRoutingをコマンドラインから起動します。java -Xss10m -jar freerouting.jar」
でもJAVAに疎いオイラには実行できない、どうやら -Xss10m というのがスタックを増やすという事のようだ。
「PCBエディタから直接FreeRoutingを呼び出せます。」
やってみると、やはりjava.lang.StackOverflowErrorとなってしまう。
何とかコマンドラインから
java -Xss10m -jar freerouting.jar
とやってみると
Error: Unable to access jarfile freerouting.jar
AIによるとpathが通っていないからだと。システムpathの通し方は下の方にある通り。
Windowsでもfreeroutingには jar 版と exe 版があり、オイラの使っていたのは exe 版の方。
でもスタックを増やせるのは jar 版の方だというので、ダウンロードしてきました。
そしてダウンロードフォルダーまでPowershellでディレクトリーを移動して
java -Xss20m -jar freerouting-2.2.4.jar
と実行するとJAVAのバージョンが古いと言われてしまう。
java -version
で見ると
Java 8(class file 52.0)
なのに対してFreeRouting 2.2.4が必要なJavaは
Java 25(class file 69.0)
最近のJAVAは
https://adoptium.net/
からとってくるみたい。
OpenJDK25U-jdk_x64_windows_hotspot_25.0.3_9
というのをとってきてインストール。
実行してみると
Error: Unable to access jarfile freerouting-2.2.4.jar
なので、
C:\Program Files\Eclipse Adoptium\jdk-25.0.3.9-hotspot\bin
をpathに加えてみた。
ただやはりStackOverflowErrorは続く。
そうやって何時間か経過しているとAIが、StackOverflowErrorはfreerouting-2.2.4のバグだという。 Simplex.simplify が無限再帰を起こしているとのこと。
対策としてfreeroutingの古いバージョンを使うといいらしい。
いろいろ試してみて
FreeRouting 1.9 + OpenJDK17U-jdk_x64_windows_hotspot_17.0.19_10
という組み合わせに決めた。
JAVAのpathの通し方。
Windowsキー → 「環境変数」と入力 → 「システム環境変数の編集」→「環境変数」ボタン
続いて
「システム環境変数」のPathを選択 → 編集 → 新規追加
以下の項目をpathに追加した。
C:\Program Files\Eclipse Adoptium\jdk-17.0.19.10-hotspot\bin
その上で
Windows powershellで
java -version
と入力してjava17がインストールできている事を確認し
https://github.com/freerouting/freerouting/releases/tag/v1.9.0
からFreeRouting-1.9.0.jarというファイルをダウンロード
ダウンロードフォルダにFreeRouting-1.9.0.jarが届いているはずなのでpowershellでdownload folderまで移動してpowershellで
java -Xss20m -jar freerouting-1.9.0.jar
とすると
[main] INFO Freerouting v1.9.0 (build-date: 2023-10-30)
[main] INFO Settings were loaded from freerouting.json
[ForkJoinPool.commonPool-worker-1] INFO New version available: v2.2.4
新しいfreerouting-2.2.4がありますよ、というメッセージは無視して、しばらくするとfreerouting-1.9.0が立ち上がってきます。 その画面の「デザインファイルを選択する」ボタンを使ってKiCADからexportしたdsnファイルを読み込みます。
読み込めましたら、画面の上欄に「オートルーター」というボタンが表示されているので、これを押すと自動配線が開始されます。
使ってみると最高ですね。何よりもStackOverflowErrorが出ない。
自動配線ができない場合は延々と動き続けるので、画面をマウスで押さえて動作を止めます。
うまく自動配線が終了すると自動的に最適化というのか、総結線距離とビアの数を減らす操作が始まります。
一時間も眺めていると、それらの数が減っています。一晩中動かし続けてもいいのですが、そのうち数が減少しなくなってきますので、適当な時期に動作を止めます。 つまり「mail addressを登録してね」というメッセージが出ない。
今回のプリント基板は
1層-一般配線
2層-GND層
3層-VCC層
4層-一般配線
の4層基板にしました。
最初はfreeroutingがStackOverflowErrorを出して使えないので4層基盤なら手配線できるだろうと始めたのですが、
徹夜しても完成しない。しないどころか、どうやって完成したものか見当もつかない状態になってしまった。 freeroutingを使うなら1.9.0ですね。
この状態で久しぶりにfreerouting-2.2.4を使ってみると数本だけ配線して200か所以上未配線で終了してしまった。
2026年4月22日水曜日
Apple2-IO-RPi
主な機能はWifiを使ってネットワーク接続できる事。
次にSD_Card上にApple II用のイメージファイルを置けること。
Raspberry pi Zero 2 W を使ってインストール
まず、Raspberry Pi Imagerを使ってRaspberry Pi OS(Bookworm 64-bit) Lite
をSD cardに書き込みます。
そのSD cardをRaspberry piに装着し、windowsマシンとUSB経由で接続します。
そしてWindowsマシンからsshでRaspberry piに接続します。
接続後
wget --no-cache -O - https://raw.githubusercontent.com/tjboldt/Apple2-IO-RPi/main/RaspberryPi/setup.sh | bash
でインストールできるとあるのですが、簡単にはできません。
ほとんど諦めかけました。
まずRapberry pi OS ですが、最新のOSでは駄目でした。 ちょっと古いBookwormを使ってうまくできたはずなのですが、 最後の部分で Unit file raspi-config.service does not exist というメッセージで止まってしまいます。 まあ、これは無視してもいいようですね。 問題はsetup.shというスクリプトの最後の方
sudo systemctl disable avahi-daemon.service
sudo systemctl disable triggerhappy.service
sudo systemctl disable raspi-config.service ← ここでエラー
sudo systemctl daemon-reload
なのでdaemon-reloadやってないだけなのです。
まず
sudo systemctl status apple2driver
としてドライバーが動作しているか確認します。
active(running)
という表示がされれば動作はOKです。
そして最後の行にあった
daemon-reloadを動作させます。
sudo systemctl daemon-reload
その後
sudo reboot
で再起動。
なのですが、Apple IIのモニター画面には"."が表示され続けるだけで 一向に前に進んでくれません。
いえ、これでうまく動作できる場合もあるようですので、その場合はここまでお終いです。
さて、ここから始めのwgetの行まで戻ります。
wget --no-cache https://raw.githubusercontent.com/tjboldt/Apple2-IO-RPi/main/RaspberryPi/setup.sh
でsetup.shというスクリプトをダウンロードします。
ここで
git config --global pack.threads "1"
というオマジナイを入力します。
setup.shはそのままでは実行できないので
chmod 777 setup.sh
sudo ./setup.sh
でスクリプトの実行が始まります。 これで以後は前回の通りです。
エラーが出て気持ちが悪いという人は
nano setup.sh
としてスクリプトの最後の方にあるraspi-configの行を削除して
sudo ./setup.sh
とすればエラーが出なくなるはずです。
Raspberry Pi Zero 2 Wはメモリが512MBしかないので、gitがマルチスレッドでpackを処理しようとするとメモリ不足になり、クローンが壊れた状態で完了してしまう。結果としてビルドされたバイナリも不完全で、Apple II側ではドットが延々と出るだけ(通信が確立できない状態)になっていたのかもしれません。
git config --global pack.threads "1"
これでgitのpack処理をシングルスレッドに制限し、メモリ消費を抑えることができます。
Apple2-IO-RPiカードは2台製作していまして、
1台目はうまく動作したのですが、2台目が動きません。
画像左の5段に並んだ最下段は74LS245 Data Bus Buffer
一方、画像最上段は74LVC245 Input Level Shifter
つまりどちらも245なので、これを一緒の物だと勘違いしていた訳。
最初に提示した画像の左最下段にあるTTLで、これが74LVC245だとわかるかもしれません。
そういう次第で、何度やってもApple II側でApple2-IO-RPiカードの起動ができなかったのです。
途中でモニターに落ちていました。
最初の画像でEEPROM AT28C64Bのソケットのチップが入っていませんでしたけど。 これには訳がありまして、Apple2-IO-RPiカードの起動ができない間、何度もApple IIスロットにカードを 抜き差ししていて、疲れていたんでしょうね。逆刺ししてしまいました。そしてAT28C64Bは昇天してしまいました。
Windowsで消せないファイル
何かをインストールしたはずみに出来たものだと思いますが、はっきりしません。
そのファイルをPowershellで見ますと、下記のようになってました。
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 2025/06/04 8:15 32768 StateRepository-Deployment.srd-shm
-a---- 2025/06/04 8:15 32768 StateRepository-Machine.srd-shm
最近になってやっと削除できたので、忘備録として書いておきます。特に物忘れが多くなってきたので。
Powershellでcaclsというコマンドを使って削除したいファイルの削除権を設定するのだそう。
削除権を設定したいユーザー名が不明ならば
net user
でユーザー名を調べてから使います。
このファイルの場合は
cacls StateRepository-Deployment.srd-shm /g tagosaku:f
tagosakuはユーザー名なので自分が使っている名称に書き換えて。
これができれば後は簡単で
rm StateRepository-Deployment.srd-shm
で削除できました。
2026年4月11日土曜日
BlueSCSI WiFiと漢字Talk 7.5.3
MacintoshはLC475を、OSはMacOS 7.5.3とMacOS 8.0を使いました。
MacOS 8.0に設定文書を読みながらDynaPortの設定をしてみると簡単にインターネット接続できました。
次にMacOS 7.5.3です。
これはまったく歯が立ちませんでした。
いや、正確に言うと、漢字Talk 7.5.3ではインターネット接続ができませんでした。
ところが、MacOS 7.5.3(英語版)ではインターネット接続できました。
では、MacOS 7.5.3(英語版)+ 漢字Talk 7.5.3のことえりシステムをインストールしては?
結果はインターネット接続ができませんでした。
まあ、そんな事ならMacOS 8.0で日本語を使ってWiFi接続でOKではないのかと。
それにWiFiさえ諦めれば、漢字Talk 7.5.3を使う事ができるのですから。
ただねぇ、LC475は別売されたネットワークカードをPDSスロットにささないと
ネットワークが使えないのです。でも、PDSスロットにはすでにApple IIe Cardが
ありますのでネットワークカードは却下です。
Apple IIe Cardは
MacOS7.5.3が上限のようで、それ以後のMacOSでは使えないとの事。
まあ、そういった事情がありまして、最後に試したのが
Japanese Language Kitという、英語システムに日本語を組み込むアプリです。
これは1.44M Floppy Disk 13枚に収納されています。
ただ入手したJapanese Language Kit インストーラーがある一枚目のディスクがディスクエラー。
ディスクを修復できないものかと探してみましたらDiskDup_Proというアプリがあるそう。
これはちょっとしたディスクエラーなら読み出して、ディスクイメージファイルを作れるとの事。
で、やってみました。
1回や2回では当然エラーで中断されます。でも10回20回となるとエラー発生までの時間が延びてきて
30回を越えた頃になんとかディスクイメージファイルが作れました。
そのディスクイメージファイルを新規の2HDフロッピーに書き込んでInstallerが使えるようになりました。
さて
MacOS 7.5.3(英語版)+ Japanese Language Kit
でどうだったかというと
インターネット接続できました。
Sega Saturn (VA0) CD drive board recap
| 電圧 | 容量 | 個数 |
|---|---|---|
| 10V | 220μ | 1個 |
| 10V | 100μ | 3個 |
| 10V | 47μ | 1個 |
| 16V | 22μ | 1個 |
| 25V | 10μ | 1個 |
| 50V | 4.7μ | 1個 |
2026年1月3日土曜日
About BlueSCSI
これは68000系のCPUを持つレトロなコンピュータの SCSI接続のMass Storage、代表的にはSCSI接続のHARD DRIVEなどの 役割をSD CARDにさせようというものだ。
昨今、中古のSCSI HARD DRIVEなんて大抵動作不能になってる。
この装置、内蔵用と外付け用(DB25)の2種類ある。
動作可能なコンピュータは68K Macintoshが本来の対象となっている
ものの、Amigaなどでも動作実績があるようだ。
そこで、Amiga2000に「GVP GForce 030」を入れて、その外部SCSIを使って
BlueSCSIを導入してみることにした。
調べてみると、導入方法は簡単なようで、
SD CardにHARD DRIVEのイメージファイルを作るといいようだ。
Macintosh用には「disk-jockey」なるWindows用のアプリがある。
そのアプリでもいいのかもしれないが、
「CiderPress2」というWindows用のアプリを使ってみた。
ここまで書いてみて、何となく筋書きがわかる方もいるでしょう。 BlueSCSIは、どうやっても使えなかった。
これはGVP deviceがうまくいかない原因だろうと、
「Amiga A2091」に変更して、そのSCSI(DB25)コネクターを使う事に
しました。これはCommodoreの純正品だからうまく行くはず。
でもダメでした。
仕方がない。68K Macintoshを手に入れてBlueSCSIを使ってみる
事にしました。これなら動作確認されているのだからOKのはず。
でも、まったく動作しません。
ここまでたどり着くまでに約一か月。
これはBlueSCSIがおかしいのではないか、と疑い始めました。
それならfirmwareを書き換えてみてはどうだろうか?
で、やってみました。
Windows上にUSB deviceとして認識されたので、新しい UnivesalFirmwareを放り込んでみました。 すると途中でエラーが発生します。
外付け用(DB25)BlueSCSIはプラスチックケースに特殊なネジで封印されて いますので、それを開けてみるには特殊ドライバーを入手しないと いけません。それをドライバーの規格がわからないまま数週間が経過し、 複数のドライバーを購入した結果、やっとの事でプラスチックケースを 開く事ができました。
開腹なったBlueSCSIを使ってみると変な事にすぐ気が付きました。
「Raspberry pi pico」が触れないくらい熱いのです。
こりゃーどこかショートしてるか発振してる。
拡大鏡を使って調べてみましたが、どこにも異常は見当たりません。
ここまで来ると、もう意地です。どこが問題なのか
わかない事には収まりがつきません。
で「Raspberry pi pico」を壊していきました。
BlueSCSIを作ってる人達、何故「Raspberry pi pico」をソケットでは無く
半田で直付けするのか、製品に絶対の自信があるのでしょうねぇ。
で、結局、この写真です。
2025年12月13日土曜日
Recap of Amiga2000
| 電圧 | 容量 | 個数 |
|---|---|---|
| 16V | 220μ | 4個(axial) |
| 16V | 220μ | 1個 |
| 16V | 470μ | 4個 |
| 16V | 47μ | 13個 |
| 35V | 22μ | 7個 |
| 35V | 4.7μ | 3個 |
さて、Amiga2000の分解をしましょう。 EGGマウスはMSX仕様を改造してAmiga用にしたものですので。
アキシャルタイプのコンデンサーは交換が少し困難でした。
交換途中です。 たっぷり半日。








