这是 lk_multimenu 是 FlashGBX 的作者 lesserkuma 编写的专门针对 FlashGBX 烧录器用户的GBA合卡 rom 生成程序,原项目地址
现在,可以自己制作更加傻瓜和精美的合卡菜单了。








使用起来非常简单,把想要放进合卡的gba游戏rom放进 roms 文件夹

运行 rom_builder.exe。

首次运行会生成 config.json 配置文件。

用任何一个文本编辑器(比如Windows自带的记事本)打开这个文件,配置生成合卡 rom 的必要信息后保存,再次运行 rom_builder.exe,

即可生成 FlashGBX 系列烧录器可用的合卡rom。
需要注意的有三个问题:
1、合卡容量不能超过256M(windows系统折算,不是按gba算)
2、 config.json 的配置
3、烧进合卡的单个游戏rom文件的处理。
1、关于合卡容量,市面上也极少有超过256M的合卡,除了某个逆天的512M盗卡,那块卡烧录器也不支持。基本上256M盗版合卡还是很好获得的(就是市面上号称2048M,大部分有20多个GBA游戏以上的合卡)。
2、config.json的配置,我们在这个文件中,主要配置4个参数,其中两个和要烧录的卡带有关,两个和菜单的显示有关。

2.1 和要烧录的卡带有关的参数
在文件头部,可以看到下面这样的代码:
{
"cartridge": {
"type": 2,
"battery_present": false
},
主要配置两个参数,要烧进什么芯片型号的盗版卡带里,这块卡带有没有电池。
2.1.1 卡带的芯片类型
type 表示要烧录的卡带是什么芯片类型,官方文档显示支持以下两种盗卡芯片
1 = MSP55LV100S (比如 塞尔达合集 - 经典版 7合1)
2 = 6600M0U0BE (比如 DS004 宠物精灵586 RPG大合集 2048M)
事实上现在我们可以买到的大部分合卡,都是 6600M0U0BE 芯片的卡,所以,type 默认值是 2。如果不放心怕刷坏了卡,可以先把要刷的卡连在gbflash烧录器上,用flashgbx 检查一下卡的芯片型号是哪一个,以及是否支持。

with 后面的一串代码就是芯片的类型了,这块就是6600M0U0BE,可以刷。

2.1.2 这块卡带有没有电池。
卡带有没有电池涉及到合卡存档的处理,对应的参数是: "battery_present",这个很简单,如果卡带有电池,这里改成 "battery_present": true,如果没有电池,保持默认 "battery_present": false 即可。
2.2 和菜单显示有关的参数
过了文件头部,我们可以看到这样的代码:
"games": [
{
"enabled": true,
"file": "文件名.gba",
"title": "游戏名",
"title_font": 1,
"save_slot": 1
},
其中save_slot 是代表存储位置,我们不去动它。主要和菜单显示有关的参数是 title 和 title_font,title 是这个游戏在菜单里显示的名称,title_font 是菜单显示的字体。
2.2.1 菜单显示的名称
程序默认读取文件名为菜单显示的名称,比如 “火焰纹章 - 烈火之剑[狼组&火花天龙剑](Fix)(简)(JP)(128Mb)_手动免电池补丁.gba” 在菜单里就显示为 “火焰纹章 - 烈火之剑[狼组&火花天龙剑](Fix)(简)(JP)(128Mb)_手动免电池补丁”,这个名字就太长了,可以修改为"title": "火焰纹章 - 烈火之剑"
当然最简单的方法是放进roms文件夹的时候,就把gba文件名改成菜单里想显示的名字。
2.2.2 菜单显示的字体
"title_font": 1,默认采用开源的Fusion Pixel 的8号像素字体显示,所以会比较小,作者在文档里说,可以把这个值改成 4,这样就可以用iQue Dsi的系统字体,比较美观的 12号像素字体显示,重点来了,大部分人下载了作者的版本后,这个参数设置无效。因为作者为了规避版权问题,没有把这个字体打包进可持行版本。
为了体现折腾的精神,我找到了另外一款开源字体“文泉驿正黑体”内嵌的12号像素字体,并且改了一些自己喜欢的背景图片,生成了新的版本,只要把生成的新的带主题的lk_multimenu.gba复制到源程序目录替换掉官方版本,再运行合卡程序,背景图片会更换,字体设置也会生效,每个主题我都设置了预览图,看喜欢哪个就用哪个。
3、烧录rom的处理
很多人手上很少有盗卡厂商的单个游戏魔改rom,除了sram存档方式的游戏,大部分GBA游戏需要打补丁才能正常在烧录的盗版合卡上存档。
对于带电池的盗版合卡,因为本身就是用sram存档方式存档,只要打SRAM补丁就可以了。对于不带电池的盗版合卡,在打完SRAM存档补丁之后,还要打免电池补丁。
3.1 打SRAM补丁:
大部分游戏,可以用gbata打SRAM补丁。

对于少数1M存档的游戏比如口袋妖怪绿宝石,有另外一个开源项目:Flash1M_Repro_SRAM_Patcher可以打补丁(但这个补丁我没有试成功,源代码和我编译的可执行文件也放在压缩包里了,原项目地址)
3.2 打免电池补丁:
直接拖已经打好SRAM补丁或者原始存档就是SRAM方式的ROM到gba_auto_batteryless.exe 上,会显示命令行窗口,选0为自动模式,选1为手动模式,需要注意,虽然选完之后已经出现了打补丁的rom文件,但其实是空文件,关闭窗口才会真正往文件里写数据。所以选完0或1后,要关闭命令行窗口才有效。
有些游戏打自动模式会卡,比如上面的 火焰纹章 - 烈火之剑,就要选1。
大体上啰嗦差不多了,就这样吧。
下面是下载链接:
此处隐藏内容请回复后再查看。