ちなみにまだ成功してないです。おかしいなあ。途中経過ということで書いておきます。
前回までのあらすじ
コンデンサを貼り替え、HDDイメージが動くようになって、まあ普通に使えるようになったX68000PRO(以下「X68k」)。
しかしFDD…実機が邪魔なのはさておき*1、FDDイメージがマウント出来たらいいのに…メモリが少ないので仮想FDDを常駐*2させて…というのも、なんか憚られるなあ。
巷では
ちなみに、X68kに限らず、昔のデバイスが現役の現場*3は、フロッピーどうする問題を解決するのにFDDエミュレータ、商品名で言うとGotekというやつがデファクト、で置き換えられていて、需要が高い。レトロPC用だとHxCというのがデファクトであって、こいつは普通Gotekで対応しない(する必要のない)2Dとかの低密度なフォーマットにも対応していて、実際8bit機や98はコイツで置き換えている人が結構いる*4。
X68kにこいつを付ける試みも勿論行われているが…X68kってフロッピー、自動イジェクトしたりするじゃん。ああいう拡張の絡みでポン付けでは動かなかったり色々あるらしい。
ちなみにX68kでのデファクトはFDX68*5という、これまたラズパイとつないでFDDをエミュレートするという代物らしいのだが、なかなか新規では手に入らない。痛いね!*6
そこで
ググって出てきた海外製(!)X68k用FDDエミュレータ、X68KFDPi2W。
GitHub - aotta/X68KFDPi2W: X68KFDPi2W - Floppies drive emulator All-In-One for Sharp X68000
むかしからHxCにX68k用拡張を試みていた海外のマニアのAndrea Ottavianiさんが「ラズパイまで使わんでもPico2枚、うち1枚にFDDのシグナル制御を専念してもらって*7、もう1枚にWiFiでWebサーバ立ててイメージ管理させたら何とかなるんでないの?」というコンセプトでパパっと作られた一品。
そりゃいいんだけど、どうやってマネするんだよ!、という突っ込みには、Andrea氏さすが、FusionPCBとかにアップロード入稿するだけで基盤がやってくるガーバーファイルを公開してくれています。いいね太っ腹!
よっしゃ作るか!
ちなみにFDD、書き込みに対応してなくて、RPGとかセーブしないといけないやつ扱うときはどうすればいいのか分かんないけど、それは別にいいよね!…!?*8
作る
私は試行錯誤というかいろいろ寄り道をしましたが、作成手順を順を追って並べると以下のようになるのではないかい。
ガーバーをuploadして、基盤を依頼する。
プロジェクトのルートフォルダにあるGERBER-X68KFDPI2.zipをダウンロードして、FusionPCBほか基盤を作ってくれるサービスのところに入稿する*9。
Fusion PCB Manufacturing & Prototype PCB Assembly - Seeed Studio
ちなみに3/22に頼んで4/5に届いたからだいたい2週間位掛かった計算になる。
10枚で、だいたい6,000円くらい?枚数は減らせてもあんまり出費は減らせない?のがイタいね…
部品をお買い物する。
Andrea氏曰く「お道具箱をガサゴソするか、AliやeBayで買ったんで正確なBOMは用意してない。ICの74LVC245は偽物つかまされる危険があるから、こいつだけ注意ね。」とのこと。
個人的にはマイクロSDカードアダプタは秋月で売ってるヒロセのいちばん標準的なやつと基盤の設計が合わなかったのでAmazonのuxcellってベンダーのやつで買い直した*10。
X68000PROで使う分には、3ピンや4ピンのPHヘッダ、要らなかったり、To FDD側の34ピンのピンヘッダは*11要らないらしいのだが、まあ高い部品でもないのでついでに付けとくかなあ、くらいで。
表面実装のマイクロSDカードアダプタ。
揃ったらはんだ付けをしていくのだが、表面実装部品は先にクリームはんだとヒートガンでくっつけてしまおう。今回はマイクロSDカードアダプタだけ。
基盤の足と固定4カ所のところにクリームはんだを爪楊枝とかで置いて、耐熱樹脂ポリイミドのカプトンテープで熱に弱そうなところをカバーしつつ固定して、ヒートガンを170℃くらい?に設定してハンダがキレイに濡れてパターン外のハンダがパターン上に集まってくっつくまで炙って、はみ出てるハンダがあれば吸い取り線を切り出して爪楊枝で押さえながら炙って吸い取って。
最後に目視でよーく見たり、テスター当てて隣同士くっついてないか確認したり。
その他部品の実装。
小さい部品から抵抗⇒ダイオード⇒PHヘッダ⇒LED⇒タクトスイッチ⇒ICソケット⇒ジャンパ・ピンヘッダ⇒34ピンのボックスヘッダ⇒Picoのピンソケット、とか?
Picoは最後に付けた方がいいんでない?というところ以外は別に大きな影響はないんじゃないかな。
基本動作~Webサーバへのアクセスまでのテスト。
ひととおり部品の実装が終わったらSSIDやパスワードを平文で*12書き込んだwifi.cfgをマイクロSDに置いて*13、さらに、Pico、PicoWにuf2ファイルを書き込む。書き込みが終わったらそのままPicoWにUSBケーブル繋ぎっぱなしにして、ご自宅のWiFiルータの設定を見て、DHCPがどのIPを割り振ったかをログ等で確認する。ちなみに、うまくいった場合はPicoWのLED、反応しないんだよな…
ここでPicoWのLEDが10回点滅したらそれは接続失敗。WiFiルータに「4-wayハンドシェイクに失敗、タイムアウト」云々のログが吐かれているはず*14。
具体的にはマイクロSDが読めてない、表面実装のミスである場合が多いんでないかい。ソースは私。
ケーブルの作成。
上のテストでマイクロSDが読めたらハード側はほとんど終わり。なのですが、ある意味一番厄介なケーブルの実装が残っていますよ。たぶん34ピンフラットケーブルから37ピン外部FDDコネクタへの配線を作るのですが、x68000:floppy_pinout [NFG Games + GameSX]なんかを見て、あれー、結構これ順番に繋ぐだけじゃない?とか思いつつ、34ピンのソケットの反対側をほぐしてDサブ37ピンにはんだ付けで繋いでいけば、いいのでは、ないだろうか…
むしろ34ピンのソケットを圧着するのがうまくいかない…私は万力で挟んで締め上げましたが、うーん…中古とかのFDDケーブルを捩れをほぐして使った方がいいのかもしれない。
実機テスト。
*1:PRO本体のなかでもかなりの重量を食う部品
*2:2HDboot.x。実機はXSIMMつけて12MBにしてたので、かなりお世話になっていたなあ。
*3:シンセサイザーや紡績工場などのコンピュータにくっついてるやつ。海外製で、ヘタすると昭和の設計。olivettiに代表されるように製造された会社は、もうないことが多く、サポートもへったくれもない。
*4:HxCには普通に大金で買う方法と、安価な中華製Gotekを書き換えて作る方法の2通りがあり、互換性が微妙に違ったりするらしい
*5:やっぱりGIMONS氏作。すごいねえ
*6:その前に推奨世代のラズパイ3がもう手に入りづらかったりする。ブームが過ぎて充分マニアには行き渡ったということか、FDX68、たぶん増産はされないんでないかい。
*7:HxC拡張で実績がある。
*8:本人はそのうち対応するとドキュメントには書いているが…
*9:FusionPCBだと、本当に基盤の色くらいしかいじらないで即注文でよかった。
*10:Amazon.co.jp: uxcell マイクロSDカードソケット メモリーカードソケット マイクロメスコネクタ 6個 : DIY・工具・ガーデン
*11:昔のプロジェクトの名残で
*12:改行コードはLF
*14:マイクロSDからデータが読めないので、SSIDがわからないまま、近所のWiFiルータにやたらめったらつなぎに行って、弾かれているような挙動になっている、ようです。