
丐中丐GBA烧卡器
简介
孩子不懂事做着玩的
简介:孩子不懂事做着玩的开源协议
:Public Domain
描述
说明
- 只能烧chis卡青春版、铁电版
- 这不是一个严谨的项目,只是随便搞搞,功能单一,除了便宜一无是处
- c8t6 3¥,卡槽4¥,晶振ldo杂七杂八算它2¥,pcb白嫖,9块钱差不多了
- (20250331更新)现在可以写flash存档了,可以自动选择烧卡器所在端口
- (20250414更新)支持S29GL256N和其它能读CFI能多字节写入的nor flash
- (20250422更新)支持morinaka的MBC5,测试版
- (20250613更新)支持自动擦除,支持文件拽入,支持s29gl01g s70gl02g 合卡
- (20250723更新)修了点bug,支持leondiy的mbc
- (20250903更新)优化了铁电时序,加了几个小工具(改时钟、解锁nor、震动测试)
- (20251105更新)优化skyemu读卡响应速度,支持mbc3,为碳酸丐添加5V输出功能(几天后修了个bug,请之前下载过此版本的人重新下一次)
上位机
网页版
由tautcony大佬开发
https://tautcony.xyz/beggar_socket/
安卓版
由八千女鬼大佬开发
最新版去chisflash群获取
https://pan.baidu.com/s/1hFXcuZI7d3m2Xcfk7Yu1uA?pwd=chis
skyemu
让电脑直接读卡带玩游戏,由面包大佬魔改
https://github.com/ChisBread/SkyEmu
windows版
一开始想用flashgbx的,改了一下午也只是实现了个读header。

转念一想,我又不是要做全能烧卡器,费那劲儿干嘛,要丐就丐到底,果断放弃。拿C#撸一个方便多了。
所以最后做出来的上位机长这样,右上角选端口,先擦后写,该干嘛干嘛。
我手上的卡实测写240k,读400k,对得起这个价格了

源码
在这里 https://github.com/julpage/beggar_socket
协议&命令
- 单片机的usb虚拟了一个串口,vid: 0x0483 pid: 0x0721
- 发送dtr置位复位信号可以重置单片机内的命令buffer(其实发rts信号也行,但windows自带
的串口驱动的rts不是实时的,不建议)。 - 以下所有的crc都是没用的,不论填什么都不会影响功能。毕竟usb自带校验,每个包再算一次
还浪费性能,干脆无视。 - 都是小端模式
GBA命令
获取rom id
- 发送
| 字节数 | 2 | 1 | 2 |
|---|---|---|---|
| 定义 | 包大小(5) | 0xf0 | CRC |
- 返回
| 字节数 | 2 | 8 |
|---|---|---|
| 定义 | CRC | ID Autoselect 第0、1、15、16字 |
rom 全片抹除
- 发送
| 字节数 | 2 | 1 | 2 |
|---|---|---|---|
| 定义 | 包大小(5) | 0xf1 | CRC |
- 返回 (只是执行擦除命令,擦完没有另行判断)
| 字节数 | 1 |
|---|---|
| 定义 | 0xaa(成功) 其它(失败) |
rom 扇区擦除(64KB)
- 发送
| 字节数 | 2 | 1 | 4 | 2 |
|---|---|---|---|---|
| 定义 | 包大小(9) | 0xf3 | 扇区地址 | CRC |
- 返回 (擦完才返回)
| 字节数 | 1 |
|---|---|
| 定义 | 0xaa(成功) 其它(失败) |
rom 编程
- 发送
| 字节数 | 2 | 1 | 4 | 2 | n | 2 |
|---|---|---|---|---|---|---|
| 定义 | 包大小(2+1+4+2+n+2) | 0xf4 | 起始地址(字节) | rom buffer大小 0表示只能单字节编程 | 数据 | CRC |
- 返回
| 字节数 | 1 |
|---|---|
| 定义 | 0xaa(成功) 其它(失败) |
rom 直接写(透传)
- 发送
| 字节数 | 2 | 1 | 4 | n | 2 |
|---|---|---|---|---|---|
| 定义 | 包大小(2+1+4+n+2) | 0xf5 | 地址(字) | 数据 2-5000 n=2的倍数 | CRC |
- 返回
| 字节数 | 1 |
|---|---|
| 定义 | 0xaa(成功) 其它(失败) |
rom 读取
- 发送
| 字节数 | 2 | 1 | 4 | 2 | 2 |
|---|---|---|---|---|---|
| 定义 | 包大小(11) | 0xf6 | 起始地址(字节) | 读取n个字节 2-5000 n=2的倍数 | CRC |
- 返回
| 字节数 | 2 | n |
|---|---|---|
| 定义 | CRC | 数据 |
ram 写入
> 切bank通过上位机完成
- 发送
| 字节数 | 2 | 1 | 4 | n | 2 |
|---|---|---|---|---|---|
| 定义 | 包大小(2+1+4+n+2) | 0xf7 | 起始地址(字节) | 数据 n=1-5000 | CRC |
- 返回
| 字节数 | 1 |
|---|---|
| 定义 | 0xaa(成功) 其它(失败) |
ram 读取
> 切bank通过上位机完成
- 发送
| 字节数 | 2 | 1 | 4 | 2 | 2 |
|---|---|---|---|---|---|
| 定义 | 包大小(11) | 0xf8 | 起始地址(字节) | 读取n个字节 n=1-5000 | CRC |
- 返回
| 字节数 | 2 | n |
|---|---|---|
| 定义 | CRC | 数据 |
fram 写入 (因为fm20比较慢,所以加了这条命令)
> 切bank通过上位机完成
- 发送
| 字节数 | 2 | 1 | 4 | 1 | n | 2 |
|---|---|---|---|---|---|---|
| 定义 | 包大小(2+1+4+1+n+2) | 0xe7 | 起始地址(字节) | 延迟周期 | 数据 n=1-5000 | CRC |
- 返回
| 字节数 | 1 |
|---|---|
| 定义 | 0xaa(成功) 其它(失败) |
fram 读取 (因为fm20比较慢,所以加了这条命令)
> 切bank通过上位机完成
- 发送
| 字节数 | 2 | 1 | 4 | 2 | 1 | 2 |
|---|---|---|---|---|---|---|
| 定义 | 包大小(12) | 0xe8 | 起始地址(字节) | 读取n个字节 n=1-5000 | 延迟周期 | CRC |
- 返回
| 字节数 | 2 | n |
|---|---|---|
| 定义 | CRC | 数据 |
ram 写入FLASH
> 切bank通过上位机完成
- 发送
| 字节数 | 2 | 1 | 4 | n | 2 |
|---|---|---|---|---|---|
| 定义 | 包大小(2+1+4+n+2) | 0xf9 | 起始地址(字节) | 数据 n=1-5000 | CRC |
- 返回
| 字节数 | 1 |
|---|---|
| 定义 | 0xaa(成功) 其它(失败) |
GBC命令
> 切bank通过上位机完成
gbc 直接写(透传)
- 发送
| 字节数 | 2 | 1 | 4 | n | 2 |
|---|---|---|---|---|---|
| 定义 | 包大小(2+1+4+n+2) | 0xfa | 起始地址(字节) | 数据 1-5000 | CRC |
- 返回
| 字节数 | 1 |
|---|---|
| 定义 | 0xaa(成功) 其它(失败) |
gbc 读取
- 发送
| 字节数 | 2 | 1 | 4 | 2 | 2 |
|---|---|---|---|---|---|
| 定义 | 包大小(11) | 0xfb | 起始地址(字节) | 读取n个字节 n=1-5000 | CRC |
- 返回
| 字节数 | 2 | n |
|---|---|---|
| 定义 | CRC | 数据 |
gbc rom 编程
- 发送
| 字节数 | 2 | 1 | 4 | 2 | n | 2 |
|---|---|---|---|---|---|---|
| 定义 | 包大小(2+1+4+2+n+2) | 0xfc | 起始地址(字节) | rom buffer大小 0表示只能单字节编程 | 数据 | CRC |
- 返回
| 字节数 | 1 |
|---|---|
| 定义 | 0xaa(成功) 其它(失败) |
gbc 写入fram (因为fm20比较慢,所以加了这条命令)
- 发送
| 字节数 | 2 | 1 | 4 | 1 | n | 2 |
|---|---|---|---|---|---|---|
| 定义 | 包大小(2+1+4+1+n+2) | 0xea | 起始地址(字节) | 延迟周期 | 数据 1-5000 | CRC |
- 返回
| 字节数 | 1 |
|---|---|
| 定义 | 0xaa(成功) 其它(失败) |
gbc 读取fram (因为fm20比较慢,所以加了这条命令)
- 发送
| 字节数 | 2 | 1 | 4 | 2 | 1 | 2 |
|---|---|---|---|---|---|---|
| 定义 | 包大小(12) | 0xeb | 起始地址(字节) | 读取n个字节 n=1-5000 | 延迟周期 | CRC |
- 返回
| 字节数 | 2 | n |
|---|---|---|
| 定义 | CRC | 数据 |
设计图
未生成预览图,请在编辑器重新保存一次BOM
暂无BOM
克隆工程知识产权声明&复刻说明
本项目为开源硬件项目,其相关的知识产权归创作者所有。创作者在本平台上传该硬件项目仅供平台用户用于学习交流及研究,不包括任何商业性使用,请勿用于商业售卖或其他盈利性的用途;如您认为本项目涉嫌侵犯了您的相关权益,请点击上方“侵权投诉”按钮,我们将按照嘉立创《侵权投诉与申诉规则》进行处理。
请在进行项目复刻时自行验证电路的可行性,并自行辨别该项目是否对您适用。您对复刻项目的任何后果负责,无论何种情况,本平台将不对您在复刻项目时,遇到的任何因开源项目电路设计问题所导致的直接、间接等损害负责。










