Windows on Arm で XGecu 製 ROM ライターを使う
はじめに
Arm64 の Windows では、XGecu T56 や TL866II のドライバーが公式の手順でインストールできず、Xgpro がライターを認識しない。本ページでは、これらのドライバーを手動でインストールする方法を解説する。
確認した環境
VM: Parallels Desktop 18 for Mac
Host: MacBook Air (15-inch, M3, 2024) macOS Sequoia 15.3
Guest: Windows 11 22H2 (Build 22621.4317)
ライター: XGecu T56
TL866II は未確認だが同じデバイスドライバーを使用するため同じ手順で行けるはず
TL866CS などの古い機種はドライバーが WinUSB ではないせいか、試した限りでは不可
問題と解決手法
XGecu の ROM ライターを制御するソフトウェア Xgpro には x86, x64 の2種類しかドライバーが同梱されていないため、インストーラーが x64 emulation で動いてもドライバーのインストールには失敗する。ここでドライバーの .inf を直接読んでみると、"WinUSB" という文字列が見つかるためドライバーの中身は実質 WinUSB であるとわかる。そこで、WinUSB ドライバを手動で導入し、かつ .inf に記載のある GUID をレジストリに追記したところ認識した。
https://scrapbox.io/files/6826d63cd67429e1cf0267a4.png
余談: Zadig は使えなかった
Zadig cannot install drivers on Windows for ARM64 with Driver Signature Enforcement enabled.
手順
1. スタートボタンを右クリック → デバイスマネージャー
2. XGecu T56(デバイス名は機種により異なる。以下、ライターと呼ぶ)を右クリック → ドライバーの更新
3. コンピューターを参照してドライバーを検索 → コンピューター上の利用可能なドライバーの一覧から選択します → ユニバーサル シリアル バス デバイス を選択 → 次へ
https://scrapbox.io/files/6826d6dbe2b3308b884698f5.png
4. 左欄で WinUsb デバイス を選択し、右欄で WinUsb デバイス を選択 → 次へ →「ドライバーの更新警告」ダイアログで はい をクリック → 閉じる
https://scrapbox.io/files/6826d6efa5eb36e543e02542.png
5. ライターが認識されていることを確認する
https://scrapbox.io/files/6826d6fd616e8aa51ccb7226.png
6. ライターの項目をダブルクリック → 詳細タブ → プロパティ で ハードウェア ID を選択 → VID_XXXX&PID_XXXX をメモ
7. C:\Xgpro\drv をエクスプローラーで開く → Xgprowinusb.inf をメモ帳で開く
8. HKR,,DeviceInterfaceGUIDs から始まる行の GUID を波カッコごとコピー
https://scrapbox.io/files/6826df16406e93f24f550850.png
9. Win+R を押して regedit を入力 → OK をクリックしてレジストリエディタを起動
10. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB\{記録したVIDとPIDのペア}\5&9f12e10&0&4\Device Parameters を開く(5&9... の箇所はマシンによって違うかも)
11. 文字列値のキーを新規作成する
名前: DeviceInterfaceGUID
値: コピーした GUID
https://scrapbox.io/files/6826d8db6c6b3af357309e66.png
https://scrapbox.io/files/6826d963200d4dcd5aed2bb3.png
12. ROM ライターを再接続する
13. Xgpro を起動してライターを認識するか確かめる
14. 認識したらおめでとう、認識しなかったら頑張って
https://scrapbox.io/files/6826e5cd1bff982f222b5845.png