↓この記事の続きです。
いきなりですが、まずはお詫びから。
前回の投稿で↓の記事を引用させていただきました。
この投稿サイト名Zennを投稿者さんの名前と間違えて、「Zennさんの記事で…」と書いていましたが、この記事の投稿者さんの名前はMCtekさんでした。
成果物を利用させていただきながら、名前を間違えるなんて、本当に申し訳ございません。
お詫びとを訂正を申し上げます。(前の投稿は修正済み)
さて、MCtekさんの記事を参考に手順を追って、SDカード→IDE変換器のファームウェア書き換えをやってみました。
まず最初にやるべきことは、ROMライターとSOP8テストクリップの購入です。
これはAmazonから購入しました。
このライターキット、Amazonでは販売店違いで同じものをよく見かけます。
とにかく安いんだけど、正直言っておすすめできません。
あまりにも品質が悪すぎる!
まず何の保護材もなく静電防止袋ごと紙封筒に入れて送ってきており、おそらく輸送中の衝撃か何かで、テストクリップインタフェース基板のピンが曲がっていました。
これは運送会社の問題というより、軽い負荷で曲がってしまうようなものを何も保護せずに紙封筒に入れて送っていることが問題だと思うんですよね。ピンをウレタンに刺して送るだけでも全然違うのにねぇ。
そして、最初に購入したROMライターはUSBデバイスとして認識せず返品交換。
交換品の2台目もピンが曲がっていました。
この2台目もUSBの認識に問題が無いわけではなく、時々認識しません。全く認識しない1台目よりはマシという程度です。
基板上にはRUN LEDがありますが、このLEDは「あまり」点灯しません。USBコネクタの差し方か何かの都合で、気まぐれに点灯する時があるようですが、内部がきちんと動作しているかどうかとは無関係のようです。
そしてテストクリップですが、こちらは「そういうもの」なのかもしれませんが、ICのピンとの接触がかなりシビアです。1.27mmなんて、ICチップとしてはそれほど微小というわけでもないと思いますが、やってみると、簡単に隣のピンに接触してしまいます。
テストクリップのプラスチック部分の先端形状を工夫すれば、SOP8のICにカチッと嵌るクリップができそうな気がしますが、なんでこう、クリップを挟む人任せにしてしまうのでしょう。
まあ、ROMライターへの文句はこのぐらいにして、作業内容の話に戻ります。
書き換えるべきファームウェアは、MCtekさんの記事の中で色々とリンクが張ってありますが、結局のところ、↓以下のBOOTHのページからローダを持ってくるのが正解のようです。
Windows, Linuxのどちらでも処理ができるようにWindowsのバッチファイルとLinuxのシェルスクリプトの両方が用意されています。
WindowsのバッチファイルはCmdとPowerShellとで多少文法が違いますが、どちらでも動くのかな?その辺、確認はしませんでしたが、少なくともWindows11のPowerShell上では実行してうまく動きました。
BOOTHのページからダウンロードしてきたFWPatcher_25416.zipの中に入っている patcher.bat を実行すると、gitを使ってInternet Archiveから元となるファームウェア(V1.5B17)をダウンロード、更にMCtekさんの差分(Rev25416.patch)をダウンロードしてパッチを当ててくれるようです。
実行環境にcurl, gitがインストールされていない場合は、まず先にそれらのインストールが実行されます。
私は、最初、このインストールが実行された時に、ファームウェアをダウンロードしているのだと勘違いして、処理が終わったのにROMファイルができていなくて、焦っていました。
更にgitのインストール後は、いったんPowerShellを閉じて再度立ち上げる必要がありますが、そもそもそんなことが起こっているという認識がなかったので、ここでしばらく悩んでしまいました。
画面にはウィンドウを閉じてから再度実行するようにメッセージが出力されていたのですが、インストーラ自体がインストール関連のウィンドウをいくつか開いていたので、それらが閉じたからいいのかな?と思ってしまったのです。
わかってしまえば『なんだ、それだけのことか。』という話ですけどね。
PowerShellを再起動後、再度、patcher.batを実行。無事にパッチを当てて、ROMファイル「MCtek PC-9800 SD Adapter V1.5_Rev25416.bin」ができました。
続いて書き込みです。
ROMライターとテストクリップは、↓のようにつなぎます。
ポイントは以下の通り:
- 16ピンソケットのUSBコネクタ側の8ピンに差す。
- 1番ピン(赤いケーブル)の方向を確認し、USBコネクタとは反対側になる方向に差す。
- 半田付けの甘さを考えると、USBコネクタを直接パソコンに差すのではなく、負荷をかけないように短い延長ケーブルを経由して繋いだ方が良いかも。
対象となるROMは下の画像の赤い丸で囲んだチップです。
拡大して見てみるとこんなふうに書いてあります。
ChatGPTに聞いたら、PFLASH社のPm25LD512かPMC社のPM25LD512、またはその互換品だろうとのことでした。
mが小文字で書いてあるんだから、普通にPFLASH社のPm25LD512なんじゃないの?
パッケージサイズはSOP8、インターフェイスはSPI、容量は512Kbitつまり、64KiB(65,536バイト)です。
テストクリップをつまむ方向はこの方向です。(赤いケーブルの位置を確認)
前にも書きましたが、このテストクリップでつまむのが、かなりシビアです。
うまくつまめていないと、ROMライターがUSBデバイスとして認識されなくなります。
(隣り同士のピンが短絡してハードウェア的にヤバい状態かもしれない。)
ここはもう少し改善していただきたいですが…
こんな安い製品に文句言っても仕方ないのかもしれませんね。
ROM焼きのアプリは、AsProgrammerを使いました。
よく使われている一般的なツールらしいです。(その割にはメッセージの多言語化が酷い。)
GitHubからダウンロードしたZIPファイルを解凍するだけ。特にインストールとかは必要ありません。
解凍したファイルの中に AsProgrammer.exe というファイルがあるので、そのまま実行します。
ライターのチップにはCH341Bと印刷されていますが、[ハードウェア]の選択肢に選択肢が無いので、CH341aとしました。特に問題はなさそう(?)です。
ROMは、前に書いた通り、「PFLASH社のPm25LD512かPMC社のPM25LD512、またはその互換品」とのことなのですが、[IC]→[SPI]→[PFLASH]の中に、[Pm25LD512]という選択肢がありません。
[IC]→[SPI]→[PMC]→[PM25LD512]はあるので、そちらにしました。
「いや、印字されている文字的には、Pm25LD512だろう!」とは思いましたが、無いものは仕方ない。
実際にやってみたら、PMC PM25LD512の設定で、普通にROMの読み書きができたのでヨシとします。
無事、SD35VC0のファームウェアをPC-98対応パッチバージョンに書き換え、SDカードの抜き差しとかリセットとかなく、普通に起動できるようになりました。めでたし、めでたし。
(この画像見ても普通に起動できるようになったかどうかはわかりませんよねw)
MCtekさん、本当にありがとうございます!












