跳转至

存档修复:劲敌名字乱码

在线修复《宝可梦水银》存档中劲敌名字显示乱码的问题。上传存档、输入想要的劲敌名字,一键修复并下载。全程在浏览器本地完成,存档不会上传到任何服务器。

使用方法

  1. 点击上方按钮打开工具,上传 .sav 电池存档(131,072 字节,或带 16 字节附加数据的 131,088 字节存档;通常与 ROM 同名同目录);
  2. 输入想要的劲敌名字(默认"小银";中文最多 3 字,英文/数字最多 7 个);
  3. 点击"修复并下载",用下载的存档替换原存档(替换前建议自行备份);
  4. 完全关闭并重启模拟器,重新载入 ROM 进入游戏。

不要用即时存档恢复

修复后如果从即时存档(.ss1 等 savestate)恢复游戏,内存里的旧数据会覆盖修复结果,乱码会原样回来。必须通过电池存档正常读档。

功能背景

为什么会出现劲敌名字乱码

《宝可梦水银》FC 版中,劲敌名字的存储位置与原版火红不一致:原版放在 SaveBlock1 偏移 0x3A4C,而本作的存档布局整体前移了 12 字节,实际位置是 0x3A40。

新建立存档时,这个真实位置没有被正确初始化,残存的垃圾数据(例如 2E 38 38 … 02 00)会被游戏当成名字显示出来,于是战斗中劲敌名字变成 劲敌+—————— 曹 …… 之类的乱码,且因为没有字符串结束符,还会把后面的图鉴标志位数据一起读出来。

本工具会把玩家输入的名字按游戏字库编码写入正确位置(0x3A40),补上 0xFF 结束符,并按游戏自身的算法重建所在扇区的校验和。存档的当前份和备份份(游戏每次存档轮换写入的两份副本)都会一并修复,确保读档后稳定生效。

提示

该工具只修改劲敌名字所在的 8 个字节和对应扇区校验和,不影响队伍、道具、剧情进度等任何其他数据。对于 131,088 字节的存档,末尾 16 字节附加数据会原样保留,下载文件大小不变。