5インチフロッピーを読みたい!Greaseweazle基板を作ることに

5インチフロッピーディスクを手に持つろらたんと、「5インチフロッピーを読みたい!Greaseweazle基板を作ることに」というタイトルが入った、しゃちらぼブログ第58回のアイキャッチ画像。 マイコン

5インチフロッピーを読みたい! Greaseweazle基板を作ることに

この記事について

今回は、Greaseweazle というフロッピーディスク読み取り用の基板を作ろうと思った話です。

といっても、まだ完成していません。

今回はプロローグ編です。
昔のMSXネタから始まって、倉庫から5インチFDが出てきて、
気がついたらKiCadで回路図を起こしていました。

……どうしてそうなった。

ろらたんがFDを持ってる様子

🎀 読むだけのつもりが、なんだか基板を作る話になってきたよ


きっかけはMSXの話でした

少し前に、XでMSX関係の話を投稿しました。

学生時代にMSXのゲーム開発のバイトをやっていたことがあって、
その頃の話を少し書いたんです。

正直、そんなに反応があるとは思っていませんでした。
昔の話だし、MSXだし、今どれくらい興味を持つ人がいるのかなと。

ところが、思ったよりも「いいね」がつきました。

あれ?
いまでもMSXって、こんなに人気あるんだ。

ちょっと驚きました。

もちろん、MSXが今でも根強い人気を持っていることは知っていました。
でも、自分の昔話にそこまで反応があるとは思っていなかったんですよね。

そうなると、ちょっと懐かしくなってきます。

倉庫をごそごそ探して、当時の本とか、ICとか、昔使っていたものを引っ張り出してみました。

その中に5インチのフロッピーディスクが200枚くらいありました。

5インチFDたちの画像

🎀 5インチなのに “mini” っていうのが時代だよね。確かに8インチよりは小さいけど…


当時はPC-9801F2で開発

当時、僕はPC-9801F2を使っていました。
これは、PC-9801シリーズで最初にFDドライブが標準搭載された機種です。
2台の5インチFDDがあって、2DD(両面倍密度倍トラック)という規格で640kBです。
ちなみに、CPUはi8086ですが、NECのV30というCPUに換装していました。

余談ですが、
そのあと、友人から中古でPC-9801VX2を買った記憶があります。
これも5インチFDDですが、2HD(両面高密度)で1.2MBです。
CPUはi80286ですが、当時はCyrix社のCPUを使ったアクセラレーターというものがあって、
486相当のCPUに換装できるようになっていたものを装着していました。

MSXのゲームの開発環境としてはPC-9801F2を使っていたわけです。
ゲーム開発にPC-9801シリーズを使うというのは、当時としては普通のやりかただったと思います。

このあたりの話は、改めてブログに書きたいと思います。

約200枚の5インチFDには、2DDと2HDの両方がありましたが、
この中に、ソースコードや開発用のデータ、ツール類など、
何かしら入っている可能性はあります。

当時のコードが残っているかもしれない。
作りかけのデータがあるかもしれない。
自分でも忘れているファイルが出てくるかもしれない。

そう思うと、当時の自分がどんなものを作っていたのか、
かなり読みたい気持ちになりました。

🎀 何が入ってるのか、ちょっとワクワクするよね。


5インチFDドライブがない

ただし、5インチFDはあるのですが、
それを読み込む5インチのFDドライブ(以下、FDDと略)がありません。

3.5インチのFDDならUSB接続のものが手元にあります。
でも、今回読みたいのは5インチです。

ではどうするか。

最初に考えたのは、中古のPC-9801を買うことでした。

PC-9801本体を買えば、5インチFDD付きの機種もあります。
昔の環境に近い形で読めるかもしれません。

でも、いまさらPC-9801本体を買うのか、という問題がありますし、
買ったとしても、以下のような問題があります。

  • ちゃんと動くのか。
  • 電源は大丈夫なのか。
  • FDDは生きているのか。
  • 画面はどうするのか。
    CRTなんて持っていないし、今のモニターにそのまま映るわけでもありません。

考え始めると、だんだん面倒になってきます。

目的はフロッピーを読むことです。
PC-9801を復活させることではありません。

🎀 読む前に、本体のレストアが始まりそう


5インチFDドライブだけで読みたい

次に考えたのは、5インチFDDだけを入手する方法です。

FDD単体なら、PC-9801本体を買うよりは安いかもしれません。

ただ、それをどうやって今のPCにつなぐのか、という問題があります。

3.5インチFDDならUSB接続のデバイスがありますが、
5インチのFDDは、USBでつなげば読めるようなものはありませんでした。

当時のように、フラットケーブルで接続して、信号を直接扱う必要があります。

しばらくネットで調べていたところ、
USB接続の3.5インチFDDを改造して、5インチFDD化する荒業をやってるものもありました。

もっと他に何かいい方法がないかなと探していたら、

KryoFlux という名前も見つけました。

これもフロッピーディスクを低レベルで読み取るための有名な機器のようです。
ただ、こちらも今すぐ簡単に買える感じではありませんでした。

ヤフオクやメルカリで探しても見つからない。
国内で普通に買えそうな販売先も、すぐには見つかりませんでした。
以前は売っていたらしいけど、最近では全く売っていないみたいでした。

「なるほど、こういう世界はやっぱり簡単にはいかないのか」

と思いながら、さらに探していて見つけたのが、Greaseweazle でした。

🎀 ここで普通に読めたら、記事になってないやつ


Greaseweazle って?

Greaseweazleは、USB経由でFDDを制御して、
フロッピーディスクのデータを読み書きするためのインターフェースです。

通常のファイルシステムとして読むというより、もっと低いレベルで、フロッピーの磁気信号を扱うようなものです。

いわゆるレトロPC系のディスク吸い出しで使われているようです。

そのうえ、ハードウェア、ファームウェア、PC用ソフトの全部がGitHubで公開されていました。

👉 https://github.com/keirf/greaseweazle

“グリースウィーズル” と読むらしいのですが、直訳すると「潤滑油まみれのイタチ」という意味らしいです。 僕にはちょっと意味不明なのですが、本国(どこ?)のギーク達には「なるほど」ってなるのでしょうか。

最初に見たときは、

「これだ」

と思いました。

ただ、日本で簡単に買えるのかというと、そこが微妙でした。

ヤフオクやメルカリで探してみても、見つかりません。

本家サイトは、見た時点では販売休止中のようでしたが、
UKやEUでは売っているショップも見つけました。

eBay でも £21.99 のものを見つけましたが、
出品ページには「May not post to Japan」と表示されていて、
日本への発送は対象外っぽいです。

どのショップも、仮に問い合わせて送ってもらえたとしても、
UKやEUから日本へ DHL や FedEx で送るとなると、送料はかなり高くなると思われます。

もともと、
Greaseweazleは、ハードウェアもソフトウェアも公開されているオープンハードです。
eBay などで売っている基板も、その設計情報から製造されているもののようでした。

ということは、自作すればいいんじゃん!
となりました。

ところで、いくつかのショップでは、GreaseweazleのTシャツやパーカー、マグカップまで売っていました。
フロッピーディスク読み書き用の基板なのに、グッズ展開まであるのが面白い。

🎀 そこで “買えない” から “作る” に行くの、“しゃちらぼ” っぽい


いろんなバージョンがある

GitHubを見ていくと、Greaseweazleにはいろいろなバージョンがありました。

本家のバージョンもあるし、Forkされたものもあります。

ざっくり見ると、いくつか系統があるようです。

F1系

STM32F103を使ったタイプです。

本家の初期バージョンで、いまから新しく作るには古いかな、という印象です。
性能的にも、今となっては少し物足りないという話も見かけます。
どちらかというと、試作的な位置付けのように感じました。

F7系

STM32F7を使った高性能版です。
現在の本家では、これがメインのようです。
v1, v2, v3, lightning, slim 等、いくつかのバージョンと派生があります。

これはかなり強そうです。
でも、使ってるMCUのパッケージが144ピンで大きいです。
使ってるピンはそれほど多くないのに、なぜ?って思いました。
性能的なものがあるのかもしれませんが、ちょっと身構えます。
それに、STM32系は最近あまり安くありません。

自分用に1枚作るだけならまだしも、あとで何枚か作る可能性を考えると、ちょっと悩みます。

V4系

AT32F4系のマイコンを使った派生バージョンです。
STM32F4系に近い中華互換系のマイコンで、安い。
しかも48ピン。
設計が2023年で比較的新しく、USB Type-C になっています。

これ、いいんじゃない?

と思いました。

ただし、AT32F4系は日本ではあまり普通に流通していません。
DigiKey、Mouserにもありませんでした。
もちろん秋月にもありませんでした。

検索したところ、LCSCでは普通に売っていました。

LCSCは、中国の電子部品通販サイトです。
DigiKey、Mouserのように、電子部品を型番で探して買えるサイトです。
国内ではあまり見かけない中国メーカーの部品も多く、
今回のAT32F4系マイコンもLCSCでは普通に見つかりました。

今までAT32は使ったことがありません。
でも、LCSCで手に入るなら、入手性としてはそこまで悪くないのかもしれません。

少なくとも、国内で見つからないから無理、という感じではなさそうですし、
LCSCで手に入るなら、まあ何とかなるかなと思いました。

🎀 古いFDを読むのに、新しめの中華MCUを選ぶの、時代がねじれてる


V4.1をベースにする

いろいろ見た結果、今回はV4.1系をベースにすることにしました。

理由は、

  • マイコンが比較的新しい
  • 部品が安い
  • 48ピンで扱いやすい
  • USB Type-C
  • 回路がシンプル

というあたりです。

ただ、ひとつ問題がありました。

V4.1は、基本的に3.5インチFDDを想定した構成のようで、5インチFDDに必要な12V電源が考慮されていません。

3.5インチFDDなら、基本的には5Vで済みます。
でも、5インチFDDは12Vを使うものがあります。

今回、僕が読みたいのは5インチFDです。

だったら、12V対応が必要です。

どうせ基板を作るなら、そこも入れてしまおう。

ということで、勝手に V4.1 Plus みたいな位置づけで作ることにしました。

もちろん、本家の正式な名前ではありません。
自分の中での呼び名です。

🎀 Plusって付けると、急に製品っぽくなるよね


設計情報があれば、製品が届く時代

V4.1のデータを見ていて、ちょっと驚いたことがあります。

ガーバーデータだけではなく、BOMリストや部品の実装位置情報もありました。

しかも、BOMを見ると、部品にJLCPCBの部品番号が入っています。

つまり、これをそのままJLCPCBに投げれば、PCBA(次章で解説)で実装済みの基板が届くわけです。

当たり前といえば当たり前です。

でも、あらためて見ると、ちょっとカルチャーショックがあります。

設計情報があれば、製品が届く。

昔の感覚だと、基板を作るだけでも結構なイベントでした。

回路図を描いて、パターンを作って、基板を発注して、部品を集めて、手で実装して、動作確認して……。

もちろん、今でもその流れはあります。

でも、BOMと実装位置情報が揃っていれば、PCBAで実装済みのものが届く。
個人でもそれができる。

部品は自分で買って、自分で実装するもの。
なんとなく、そういう感覚が残っていたんです。

AIにも軽く相談してみたら、LCSCで部品を個別に買って自分で実装するより、
JLCPCBのPCBA部品として指定したほうがいいのでは?と言われました。

最初は、JLCPCBが手元に持っている部品だけを載せられるのかな、と思っていましたが、
そういう単純な話ではありませんでした。

JLCPCBのPCBAでは、LCSCで使われている C から始まる部品番号を使って部品を指定します。
その番号をBOMに入れることで、JLCPCB側でその部品をPCBA用に扱えるようになっています。
LCSCで部品を探すことと、JLCPCBでPCBAに使う部品を探すことが、部品番号でつながっているわけです。

つまり、部品を自分で買って、届くのを待って、手で実装するのではなく、
基板製造の流れの中で、部品調達と実装までまとめて進められるわけです。

これ、ちょっとすごいですよね。

「設計データがあれば、部品が載った基板が届く」

あたりまえのようで、あらためて考えると結構な時代です。

🎀 部品を買う前に、もう基板に載って届く世界


PCBAってなに?

ここで出てくる PCBA というのは、簡単に言えば「部品実装済み基板」のことです。

PCBは、いわゆるプリント基板そのもの。
そこに抵抗やコンデンサ、ICなどの部品を実装したものがPCBAです。

つまり、基板だけが届くのではなく、部品まで載った状態で届くわけです。

もちろん、コネクタや一部の部品は手実装にすることもあります。
でも、細かい抵抗やコンデンサ、マイコンまわりを実装してもらえるだけでも、かなり楽になります。

しかも今回は、BOMリストにJLCPCBの部品番号が入っていました。

つまり、これをそのままJLCPCBに投げれば、PCBAで実装済みの基板が届く可能性があるわけです。

PCBAは、全部の部品を実装してもらうこともできますし、一部の部品だけを実装してもらうこともできます。

たとえば、抵抗やコンデンサまで全部載せてもらうこともできます。
逆に、BGAのように手実装が難しい部品だけを載せてもらって、コネクタなどの大きい部品は自分で後から付ける、という使い方もできます。

全部おまかせにするだけではなく、「自分で実装したくないところだけお願いする」という使い方ができるわけです。

この自由度が、個人開発ではかなり大きいんですよね。

🎀 全部おまかせじゃなくて、苦手なところだけお願いできるのが強い


元の回路図はPDFしかない

ただし、今回そのまま発注するわけではありません。

5インチ対応のために、12V電源まわりを追加したいからです。

そのためには、回路図を編集する必要があります。

ところが、元の回路図はPDFしかありませんでした。

KiCadの回路図データがあるわけではありません。

なので、PDFを見ながら、KiCadで回路図を描き起こしました。

回路を追いながら描き直すので、構成の理解にもなります。
単にガーバーをそのまま使うより、どこがどうなっているのか見えてきます。

そして、そこに12V系を追加しました。

USBの5Vを基本にしつつ、5インチFDD用に12Vも扱えるようにする。
さらに、必要に応じて12V側から5Vを作るルートも考えました。

市販品ではないので、いろいろな使い方ができる余地は残しておきたいんです。

このあたりは、作っている途中で何度も悩みました。

「基本はUSBの5Vでいいよね」
「でも5インチFDDには12Vが必要だよね」
「じゃあ12V入力も持たせるか」
「でも5Vまで12Vから作る必要ある?」
「一応ジャンパーで切り替えられるようにする?」

みたいな感じです。

きれいに言えば柔軟性です。
悪く言えば、欲張りです。

🎀 だいたい“念のため”が増えて基板が育つんだよね


回路図を作った

ということで、今回できたのはここまでです。

Greaseweazle V4.1系をベースにして、KiCadで回路図を起こしました。
そして、5インチFDD用の12V対応を追加しました。

とりあえず、現状の回路図は以下のようになりました。
(元の回路図と同じような感じにしています。)

Greaseweazle v4.1 plus 回路図 draft
[クリックするとpdfで開きます]

まだアートワークはこれからです。

この先は、

  • アートワーク
  • JLCPCBへの基板発注
  • PCBAの注文
  • 届いた基板の動作確認
  • 5インチFDD接続
  • 実際にFDを読む
  • 中身を確認する

という流れになる予定です。

……予定です。

正直、まだちゃんと動くかどうかはわかりません。

ほとんど確認らしい確認をしていない状態で、いきなり基板を作ろうとしています。
しかも、PCBAまでやろうとしています。

自分でも、ちょっとチャレンジャーだと思います。

でも最近、こういう作り方が普通になってきている気もします。

ブレッドボードで全部確認してから基板化、というより、
「どうせ基板を作ったほうが早い」
という場面が増えました。

まあ、失敗したら失敗したで、記事になりますし。

🎀 確認より先に基板を作りたくなるの、電子工作あるあるかも


おわりに

次回は、KiCadでアートワークを進めていく話になると思います。

元の基板外形やコネクタ位置をどう扱うか。
12Vまわりをどこに入れるか。
USB Type-Cまわりをどうするか。
5インチFDD用の電源をどう引き回すか。

このあたりを考えながら、基板として形にしていく予定です。

うまくいけば、そのままJLCPCBに発注して、さらにPCBAまで進めたいと思っています。

問題は、5インチFDの中に何が入っているかです。
開けてみるまでわかりません。

ちょっと怖いけど、かなり楽しみです。

🎀 5インチFDを読むだけのはずが、普通に基板プロジェクトになってる


📪 お問い合わせなど

技術的なご相談やご質問などありましたら、
📩お問い合わせフォーム  
または、
📮info@shachi-lab.com までお気軽にどうぞ。

🎀 この記事についての質問やコメントがあれば、お問い合わせから送ってね


🔗 関連リンク

しゃちらぼの最新情報や開発の様子は、こちらでも発信しています:

💬「シャチラボ」で検索してきた方も大歓迎!
ほんとは「しゃちらぼ(Shachi-lab)」なんだけど、見つけてくれてありがとう🐬

コメント

タイトルとURLをコピーしました