
当你的游戏卡带使用的是 SRAM 或 FRAM 芯片时,往卡带内烧录 EEPROM 或 Flash 存档类型的游戏时,需要先给游戏Rom打上 SRAM补丁,这样才能正常存档,而 SRAM存档类型 的游戏不需要打补丁,直接烧录即可。
非1M Flash存档类型的大部分游戏可以通过 GBA Tool Advance 这款软件直接打上 Sram补丁 ,同时 GBA Tool Advance 也可以查看游戏Rom存档类型与是否有安装补丁。
1、首先打开 GBA Tool Advance ,将游戏Rom拖入软件

2、以铸剑物语 起源之石为例,游戏是 EEPROM存档类型,要想在 SRAM/FRAM 存档芯片的卡带内正常存档,需要打上 SRAM补丁

3、点击 SRAM补丁 一栏,再点击中间的 打补丁 ,即可为Rom打上 SRAM补丁 ,软件会在游戏文件所在的位置生成一个 “output-” 开头的同名GBA文件

注意事项:
如果存档类型处显示(Patched),则代表此Rom已经安装了 SRAM补丁 。
如果 SRAM补丁 一览的 打补丁 显示为灰色,则代表此Rom已经打了补丁或本身就是SRAM存档类型,不需要设置,直接Rom烧录即可。

上面的 SRAM补丁 方法仅限于非 1M Flash存档类型 的游戏进行打补丁, 1M Flash存档类型 的游戏不多,但GBA上的热门游戏宝可梦红宝石、蓝宝石、火红、叶绿、绿宝石均是 1M Flash存档类型 ,包括各类宝可梦改版游戏也采用着 1M Flash存档类型 ,如果无法正确打好补丁,包括但不限于:二周目无法游玩、通关存档及消失等问题。
想要将 1M Flash 转为 1M SRAM 就需要使用【Flash1M_Repro_SRAM_Patcher】这个程序了。
使用方法非常简单,只需要把游戏Rom文件拖动到 Flash1M程序 上即可,软件会自动在游戏文件所在位置生成一个 [1MSRAM] 开头的同名GBA文件。
到此便可以将转好的 1M Flash 游戏Rom烧录进游戏卡带中了。

演示图
注意事项:
请确保自己使用的卡带是 1M FRAM 或 1M SRAM 容量的存档芯片,否则即便打好补丁也无法获得完整游戏体验。
免电池补丁是一种用于在没有电池的情况下保存游戏存档技术。市售的盗版GBA卡带通常使用SRAM芯片来存储游戏进度,这些芯片需要电池供电来保持数据。如果电池没电,存档数据就会丢失。
免电池补丁的原理是将存档数据从SRAM芯片复制到ROM芯片上的空闲区域。这样,即使电池没电,存档数据也能保存在ROM芯片中。游戏启动时,存档数据会从ROM芯片复制回SRAM芯片,以便游戏读取和使用。
这种方法的优点是无需担心电池电量问题,但缺点是可能会导致存档过程中的卡顿,因为将数据写入ROM芯片比写入SRAM芯片更慢。
近期Shn大佬基于写入与读取速度更快的 S29GL256S 芯片改良了免电补丁,使其在使用 S29GL256S 芯片的GBA卡带上能够更快速、无感地进行游戏存档,此高速免电补丁的特性仅限于少数Rom芯片读写速度快的卡带上实现,如:ChisFlash v0.1青春免电版。大部分市售普通盗版卡带是无此高速特性。
只需要使用【gba_auto_bat】这个程序,就可以方便快捷为游戏Rom打上补丁
使用方法非常简单,只需要把游戏Rom文件拖动到 gba_auto_bat程序 上即可,软件弹出窗口,询问存档方式是选择 自动模式 还是 手动模式 ,输入 0 则是选择自动模式,输入 1 则是选择手动模式。
自动模式:每次游戏存档都会自动将存档复制到ROM芯片上,这便是免电补丁卡顿的主要原因。
手动模式:在游戏中进行了存档行为后,需要按下 L+R+Start+Select 组合键,将SRAM芯片内的存档复制到ROM,这个模式下游玩那些会自动存档的游戏就不容易出现卡顿,在兼容性上也比自动模式好些,但需要手动按下组合键来进行存档,否则关机后游戏将会丢失存档进度。(注意!这便不是即时存档)
两种免电存档模式,请根据自身习惯选择
选择完存档模式后,程序会在游戏文件同位置生成一个“文件名_auto”的GBA文件,这便是打好了免电补丁的游戏Rom。

演示图
注意事项:
会有部分游戏安装免电补丁失败,会提示【ROM alraedy max size. Cannot expand. Cannot install payload】,这种情况一般多见于32MB体积的游戏ROM,大概意思过来就是:游戏ROM容量已达最大,没有空闲区域安装免电补丁 。
这种时候就需要使用 FRAM记忆 或 SRAM电池记忆 的卡带来游玩了。
时钟补丁,是一种为了解决盗版卡带没有时钟芯片,无法在游戏内正常触发时间事件而出现的时间功能补丁。
此处说的 时钟补丁 指的是 虚拟时钟(FTC),与之对应的则是 真实时钟(RTC)
虚拟时钟:根据游戏的运行时间来走时,关机或拔卡则停止走时。
真实时钟:硬件级时钟,与现实时间同步流逝,即便机器关机、卡带拔出,依然正常走时。
精灵宝可梦 红宝石/蓝宝石,可以使用 GBA Tool Advance 这软件打上时钟补丁,如图所示将游戏Rom导入 GBA Tool Advance ,点击 时钟补丁 选项,点击 打补丁 ,即可输出“output-” 开头的同名GBA文件,这便是打好时钟补丁的游戏Rom

精灵宝可梦 绿宝石,则需要专用的绿宝石时钟补丁软件,打开的【绿宝石时钟补丁】,点击文件,将 精灵宝可梦 绿宝石 导入,点击确认即可
注意:此软件是只是在导入的游戏Rom上修改,不会另外导出一个版本,所以请根据自身情况选择是否勾选备份Rom

首先在ROM中搜寻一个相当的空位,将以下代码写入ROM中。
注意:写入的地址的最后一个数字位数一定要在F或者3或者7或者B。
数据代码
FFB420480068113000901E4C24689A34631C1D4F3D7800787A1C85421CD038701078461C3006000E10703B2814DD002616701E78013E3106090EFF290BD13B261E702678013E3140FF2902D1172100F00CF8217000E01970FFBC0C4801880F4A101C031C4B400A48004707B4054800689830018801390A4A914200DB0649018007BCF746905D000300F0010230010004F105000800800000FFFF0000FF03000094000000
记下这个写入的地址。比如我写入的地址是0xBD80D0。
但是系统调用这个新命令,需要在地址上+1,这是规则。于是就变成0xBD80D1,把它转成指针形式的数据,就是D180BD08。
在0x5e6 写入以下代码:
01B400480047xxxxxxxx01BC
xxxxxxxx就是之前得到的指针。 比如我之前的得到的代入就是 01B400480047D180BD0801BC
在0x2FB06 写入以下数据
C046C046 最后保存修改即可。
由于每款宝可梦Hack(魔改)游戏的空位地址都不同,所以基本上需要自己手动寻址植入虚拟时钟代码,从便捷角度来说,这类游戏还是推荐模拟器或支持真实时钟的烧录卡游玩。
▼工具包▼
https://www.alipan.com/s/Uznzn2ezGki