YoshKoz/ez-flash-ii-usb-flasher
GitHub: YoshKoz/ez-flash-ii-usb-flasher
用 Rust 编写的现代跨平台 EZ-Flash II GBA 烧录卡 USB 工具,替代旧版 Windows XP 驱动,支持 ROM 导出与存档备份恢复。
Stars: 1 | Forks: 0
# EZ-Flash II USB 烧录器
EZ-Writer II / EZ-Flash II USB GBA 烧录卡的现代开源工具。
从 Windows 10/11、Linux 或 macOS 上导出 Game Boy Advance ROM,备份存档,检查卡带头信息并恢复存档,
无需原始的 Windows XP 内核驱动。
**无需自定义内核驱动。使用 WinUSB + libusb。**
[](LICENSE)
[](https://www.rust-lang.org/)
[]()
## 这是什么
原版的 EZ-Writer II 软件只能在旧的 Windows XP 时代的环境中轻松运行。
本项目使用 Rust 编写的 CLI 和 GUI 替换了旧的 USB 驱动程序路径,通过 libusb 与硬件进行通信。
它支持初始状态为 `0547:2131` 的 EZ-Writer II 设备,并在上传固件后,重新枚举为 `0548:1005`。
## 当前状态
| 功能 | 状态 |
|---------|--------|
| 设备检测 | 正常工作 |
| 上传固件至 AN2131 RAM | 正常工作 |
| 读取卡带头信息 | 正常工作 |
| ROM 导出 | 正常工作 |
| 读取存档 | 正常工作 |
| 写入存档 | 正常工作,请务必备份 |
| GUI | 正常工作 |
| 写入 / 擦除 ROM | 实验性,高风险 |
只读操作是最安全的,也是计划公开发布的路径。写入功能仅用于测试和恢复工作,但您应该先进行备份并阅读 [SAFETY.md](SAFETY.md)。
## 快速开始
### 前置条件
- **Rust** — 如果 `cargo` 不可用,请从 ezwriter-cli / ezwriter-gui"] USB["USB
libusb + WinUSB"] MCU["Cypress AN2131Q
8051 @ 48 MHz"] CART["EZ-Flash II
GBA cartridge"] PC <--> USB USB <-->|"EP0 control
EP4 bulk OUT
EP2 bulk IN"| MCU MCU <-->|"parallel cart bus"| CART ``` 引导序列: ``` sequenceDiagram participant H as Host PC participant D as EZ-Writer II participant C as GBA cart H->>D: Plug in, bootloader mode 0547:2131 H->>D: Vendor 0xA0: hold CPU reset H->>D: Vendor 0xA0: upload tusbez.bin H->>D: Vendor 0xA0: start CPU D-->>H: Re-enumerates as 0548:1005 H->>D: Bulk commands D->>C: Cartridge bus operations C-->>D: ROM / save data D-->>H: Bulk responses ``` 完整的协议说明:[docs/protocol_notes.md](docs/protocol_notes.md) ## 项目结构 ``` . |-- src/ezwriter-cli/ Rust CLI |-- src/ezwriter-gui/ Rust GUI |-- docs/ Protocol notes and original driver analysis |-- driver/winusb-inf/ Optional WinUSB INF files |-- SAFETY.md Write-operation safety guide `-- RELEASE.md Public release checklist and Reddit post draft ``` ## 法律声明 本工具仅用于自制程序、游戏保存、个人备份、备份您自己拥有的卡带存档以及 GBA 开发。请勿用于盗版。 ## 参考 - [libusb](https://libusb.info/) - [WinUSB](https://learn.microsoft.com/en-us/windows-hardware/drivers/usbcon/introduction-to-winusb-for-developers) - [Zadig](https://zadig.akeo.ie/) - [egui](https://github.com/emilk/egui) - [Cypress EZ-USB AN2131 TRM](https://www.infineon.com/assets/row/public/documents/24/44/infineon-an2131-trm-usermanual-en.pdf)
标签:可视化界面