主题 : 【讨论】关于FC&MD&SFC&GB游戏的修复问题
级别: 模拟专家
UID: 321536
精华: 0
发帖: 144
威望: 0 星
金钱: 33 浮游币
贡献值: 28 点
好评度: 426 点
人气: 3 点
在线时间: 572(时)
注册时间: 2019-10-28
最后登录: 2026-04-04
楼主  发表于: 2021-06-15 08:09

【讨论】关于FC&MD&SFC&GB游戏的修复问题

01楼 & 08楼,FC修复Header(unh格式,nes格式,unf格式)
02楼 & 09楼,MD修复checksum(md格式,smd格式,bin格式)
03楼 & 04楼 & 05楼 & 10楼,SFC修复checksum(sfc格式,smc格式)
06楼,GB修复checksum(gb格式,gbc格式)

引用
相关工具:uCON64
使用命令:ucon64 --chk ROM文件名
工具链接:https://ucon64.sourceforge.io
[ 此帖被xiong_online在2026-04-04 21:33重新编辑 ]
本帖最近评分记录:
  • 人气:+1(willzyj) 辛苦了,送你 1 点人气
  • 作為一個失敗的栗子,只要笑笑就好;
    大版權時代來臨,資源的儲備足夠嗎?
    级别: 模拟专家
    UID: 321536
    精华: 0
    发帖: 144
    威望: 0 星
    金钱: 33 浮游币
    贡献值: 28 点
    好评度: 426 点
    人气: 3 点
    在线时间: 572(时)
    注册时间: 2019-10-28
    最后登录: 2026-04-04
    沙发  发表于: 2021-06-15 08:10

    FC测试:
    模拟器:VirtuaNES v0.0.6.7
    测试ROM:Alien 3 (USA) (v1.1) [CHS]70506F6F.nes
    引用
    【FC文件前十六字节(16 bytes)内容】
    (字节0到3必须为以下内容,用来识别文件)
    0 = 4E(N)
    1 = 45(E)
    2 = 53(S)
    3 = 1A(字符中断,必要!)
    (字节4到8或15,可以.修改)
    4 = PRG(ROM的大小 / 16)
    5 = CHR(VROM的大小 / 8,0表示卡带板子使用了VROM)
    6 = D0:1 表示垂直镜像,0 表示水平镜像
           D1:1 表示有电池记忆,SRAM地址$6000-$7FFF
           D2:1 表示在$7000-$71FF有一个512字节的trainer
           D3:1 表示4屏幕VRAM布局
           D4-D7:ROM Mapper的低4位
    7 = D0-D3:保留,必须是0(其中D3 = 1 ,为NES 2.0标识符
           D4-D7:ROM Mapper的高4位
    8 = PRG-RAM的大小(很少使用的扩展)
    9 = 电视系统(很少使用的扩展)
    10 = 电视系统,PRG-RAM的存在(非官方的,很少使用的扩展)
    11到15 = 未使用,应全部为零(部分ripper会把他们的名字放在7-15之间)
    相关链接:https://www.nesdev.org/wiki/INES
    工具链接:https://www.romhacking.net/utilities/683


    【例子】
    [ROM信息] PRG:128K,CHR:128K,MAPPER:4
    PRG = 128 / 16 = 8,十六进制为 08
    CHR = 128 / 8 = 16,十六进制为 10
    MAPPER = 4,十六进制为 04
    则FC文件前十六字节内容为:4E 45 53 1A 08 10 40 00 00 00 00 00 00 00 00 00



    NESMapperProgram.zip (95 K) 下载次数:2
    [ 此帖被xiong_online在2026-04-04 21:13重新编辑 ]
    作為一個失敗的栗子,只要笑笑就好;
    大版權時代來臨,資源的儲備足夠嗎?
    级别: 模拟专家
    UID: 321536
    精华: 0
    发帖: 144
    威望: 0 星
    金钱: 33 浮游币
    贡献值: 28 点
    好评度: 426 点
    人气: 3 点
    在线时间: 572(时)
    注册时间: 2019-10-28
    最后登录: 2026-04-04
    板凳  发表于: 2021-06-15 08:13

    MD测试:
    模拟器:Kega Fusion v3.64
    测试ROM:TinHead  (USA) (Hack)6AB8A2EF.bin
    引用
    Kega Fusion跳过红屏步骤:[选项] → [设置] → [Genesis]选项 → [自动修正校验](红屏是由ROM文件实现的

    checksum是通过将每两个字节(16位,从$200到ROM末尾)相加得出的。
    然后将其与存储在 $18E 中的值进行比较,如果值不同,游戏将显示红色屏幕并停止运行。

    MD格式是将BIN格式的数据进行了插值排列,GEN格式等于MD格式
    SMD格式就是在MD格式上添加了512字节的Header数据,每16KB为一组进行了插值排列

    修复工具:FixCheckSum(多重保护的没效
    修复步骤:单击[Load MD/32x ROM]按钮打开ROM文件,点击[Fix CheckSum]按钮,直到按钮变成灰色
    相关链接:https://en.wikibooks.org/wiki/Genesis_Programming
    工具链接:https://www.romhacking.net/utilities/683




    FixCheckSum.zip (8 K) 下载次数:15
    [ 此帖被xiong_online在2026-04-04 21:17重新编辑 ]
    作為一個失敗的栗子,只要笑笑就好;
    大版權時代來臨,資源的儲備足夠嗎?
    级别: 模拟专家
    UID: 321536
    精华: 0
    发帖: 144
    威望: 0 星
    金钱: 33 浮游币
    贡献值: 28 点
    好评度: 426 点
    人气: 3 点
    在线时间: 572(时)
    注册时间: 2019-10-28
    最后登录: 2026-04-04
    地板  发表于: 2021-06-15 08:15

    SFC测试:
    模拟器:Snes9X v1.43
    测试ROM:Mujintou Monogatari (Japan) (Fix) [CHS]5DC5BD2A.sfc
    引用
    校验不通过,游戏开始会有bad checksum提示
    Check Sum是通过将每个字节(8位)相加得出的;Complement Check是Check Sum的位逆。
    Complement Check + Check Sum = FFFFh
    SMC格式就是在SFC格式上添加了512字节的Header数据,转换工具:SNESTool、GoodSNES、inSNESt

    修复工具:SNESTool、IPSandSUM
    修复步骤:
    1.使用十六进制编辑器查看前200h数据是否有大量的00(可选)
    2.使用SNESTool移除Header(SMC转SFC,新文件比之前小512字节)
    3.使用IPSandSUM修复checksum([File] → [Repair Snes CheckSum],有时候需要扩容)
    4.使用模拟器运行(测试是否正常)
    相关链接:https://en.wikibooks.org/wiki/Super_NES_Programming/SNES_memory_map
    相关链接:https://sneslab.net/wiki/SNES_ROM_Header
    工具链接:https://www.romhacking.net/utilities/18
    工具链接:https://www.romhacking.net/utilities/499




    IPSandSUM.zip (144 K) 下载次数:11
    SNESTool.zip (19 K) 下载次数:6
    SNESROM_HEADER.zip (5 K) 下载次数:2
    超任ROM文件头格式解析.zip (5 K) 下载次数:4
    [ 此帖被xiong_online在2026-04-04 21:21重新编辑 ]
    作為一個失敗的栗子,只要笑笑就好;
    大版權時代來臨,資源的儲備足夠嗎?
    级别: 模拟专家
    UID: 321536
    精华: 0
    发帖: 144
    威望: 0 星
    金钱: 33 浮游币
    贡献值: 28 点
    好评度: 426 点
    人气: 3 点
    在线时间: 572(时)
    注册时间: 2019-10-28
    最后登录: 2026-04-04
    草席  发表于: 2021-06-15 08:28

    SFC详细修复教程(删除文件头&修复checksum)
    模拟器:Snes9X v1.43
    测试ROM:Metal Max Returns (Japan) (v0.95) (Fix) [CHS]1D70F60E.smc
    修复工具:CrystalTile、SNESTool、IPSandSUM

    1、使用模拟器运行ROM,有bad checksum提示



    2、观察文件大小:4194816字节,不能被1024整除,可以判断为有Header

    3、使用十六进制编辑器查看前200h数据,有大量的00



    4、使用SNESTool移除Header



    5、使用IPSandSUM修复(最终CRC32:B8E36EDF)



    6、使用模拟器运行,OK

    [ 此帖被xiong_online在2026-04-04 21:25重新编辑 ]
    作為一個失敗的栗子,只要笑笑就好;
    大版權時代來臨,資源的儲備足夠嗎?
    级别: 模拟专家
    UID: 321536
    精华: 0
    发帖: 144
    威望: 0 星
    金钱: 33 浮游币
    贡献值: 28 点
    好评度: 426 点
    人气: 3 点
    在线时间: 572(时)
    注册时间: 2019-10-28
    最后登录: 2026-04-04
    5楼  发表于: 2021-06-15 08:32

    SFC详细修复教程(修改中间文件头&修复checksum)
    模拟器:Snes9X v1.43
    测试ROM:Wonder Project J - Mechanical Boy Pino (USA) (v20180510) [CHS]94F1E44F.sfc
    修复工具:CrystalTile、IPSandSUM

    1、使用模拟器运行ROM,有bad checksum提示



    2、观察文件大小:3.12 MB (3,276,800 字节),使用CT扩容到4 MB,填充00



    3、使用十六进制编辑器查看前200h数据,没有大量的00,判断为sfc文件

    4、修改FFC0h中间文件头(ROM标题修改为:WONDERPROJECT J,其余填充20;快速HiROM,30修改为31;美版,00修改为01



    5、使用IPSandSUM修复(最终CRC32:1CEA842D)



    6.使用模拟器运行,OK

    [ 此帖被xiong_online在2026-04-04 21:27重新编辑 ]
    作為一個失敗的栗子,只要笑笑就好;
    大版權時代來臨,資源的儲備足夠嗎?
    级别: 模拟专家
    UID: 321536
    精华: 0
    发帖: 144
    威望: 0 星
    金钱: 33 浮游币
    贡献值: 28 点
    好评度: 426 点
    人气: 3 点
    在线时间: 572(时)
    注册时间: 2019-10-28
    最后登录: 2026-04-04
    6楼  发表于: 2021-06-15 08:52

    GB测试:
    模拟器:BGB v1.5.6
    测试ROM:Kiteretsu Daihyakka - Bouken Ooedo Juraki (Japan) [CHS]D5AB832C.gb
    引用
    014D:Header Checksum
    通过将每个字节(8位,从0x134到0x14C)相加得出的。

    014E-014F:Global Checksum
    通过将每两个字节(16位,除了0x14E和0x14F)相加得出的。

    修复工具:BGB
    修复步骤:[文件] → [载入ROM...] → 按[ESC]打开调试器 → [文件] → [修复校验码] → [保存ROM到...]
    相关链接:https://gbdev.gg8.se/wiki/articles/The_Cartridge_Header




      
    [ 此帖被xiong_online在2026-04-04 18:01重新编辑 ]
    作為一個失敗的栗子,只要笑笑就好;
    大版權時代來臨,資源的儲備足夠嗎?
    YZB
    级别: 超级版主

    UID: 12451
    精华: 6
    发帖: 19221
    威望: 173 星
    金钱: 8093 浮游币
    贡献值: 13721 点
    好评度: 55223 点
    人气: 4322 点
    在线时间: 21578(时)
    注册时间: 2004-10-02
    最后登录: 2026-04-04
    7楼  发表于: 2021-06-15 22:11

    为啥这贴好像看过一样?

    部分md游戏应该没校检

    部分md游戏地址0x18e改成0000的话也会跳过校检
    级别: 模拟专家
    UID: 321536
    精华: 0
    发帖: 144
    威望: 0 星
    金钱: 33 浮游币
    贡献值: 28 点
    好评度: 426 点
    人气: 3 点
    在线时间: 572(时)
    注册时间: 2019-10-28
    最后登录: 2026-04-04
    8楼  发表于: 2021-08-07 16:55

    FC补充说明:
    模拟器:FCEUX v2.3.0
    测试ROM:Super Mario Bros. (World)D445F698.unh、Super Mario Bros. (World)3337EC46.nes、Super Mario Bros. (World)393A432F.nes
    引用
    unh格式:无Header,即无文件头
    nes格式:使用iNES 1.0标准,包含Header(16 bytes)
    unf格式:为了比iNES 1.0更好的描述Mapper,后来被NES 2.0取代
    nes格式:使用NES 2.0标准,包含Header(16 bytes),是对iNES 1.0的扩展

    修复工具:FCEUX
    修复步骤:[文件] → [打开] → [调试] → [iNES头部编辑器] → [版本] → [另存为...]
    相关链接:https://www.nesdev.org/wiki/INES
    相关链接:https://www.nesdev.org/wiki/UNIF
    相关链接:https://www.nesdev.org/wiki/NES_2.0


    [ 此帖被xiong_online在2026-04-04 18:02重新编辑 ]
    作為一個失敗的栗子,只要笑笑就好;
    大版權時代來臨,資源的儲備足夠嗎?
    级别: 模拟专家
    UID: 321536
    精华: 0
    发帖: 144
    威望: 0 星
    金钱: 33 浮游币
    贡献值: 28 点
    好评度: 426 点
    人气: 3 点
    在线时间: 572(时)
    注册时间: 2019-10-28
    最后登录: 2026-04-04
    9楼  发表于: 2025-04-05 20:04

    MD修复教程:
    引用
    修复工具:AFS FIX CheckSum MD 32X(多重保护的没效
    修复步骤:点击[OPEN ROM]按钮打开文件,勾上[Fix size on the ROM Header],点击[FIX CHECKSUM]按钮
    工具链接:https://www.romhacking.net/utilities/1610




    AFS_FIX_CS_MD_32X.zip (277 K) 下载次数:0
    [ 此帖被xiong_online在2026-04-04 21:28重新编辑 ]
    作為一個失敗的栗子,只要笑笑就好;
    大版權時代來臨,資源的儲備足夠嗎?
    级别: 模拟专家
    UID: 321536
    精华: 0
    发帖: 144
    威望: 0 星
    金钱: 33 浮游币
    贡献值: 28 点
    好评度: 426 点
    人气: 3 点
    在线时间: 572(时)
    注册时间: 2019-10-28
    最后登录: 2026-04-04
    10楼  发表于: 2025-04-05 20:11

    SFC修复教程:
    引用
    修复工具:Advanced SNES ROM Utility
    修复步骤:SFC转SMC,点击[Add Header]按钮;SMC转SFC,点击[Remove Header]按钮;
    扩容点击[Expand ROM]按钮;[GENERAL INFORMATION]栏修改信息;
    HiROM转LoROM,点击[LoROM<->HiROM]按钮;修复checksum,点击[Fix Checksum]按钮
    工具链接:https://www.romhacking.net/utilities/1638




    AdvancedSNESROMUtility.zip (595 K) 下载次数:0
    [ 此帖被xiong_online在2026-04-04 21:30重新编辑 ]
    作為一個失敗的栗子,只要笑笑就好;
    大版權時代來臨,資源的儲備足夠嗎?
    级别: 模拟小生
    UID: 318527
    精华: 0
    发帖: 49
    威望: 0 星
    金钱: 2 浮游币
    贡献值: 7 点
    好评度: 143 点
    人气: 0 点
    在线时间: 170(时)
    注册时间: 2010-06-26
    最后登录: 2026-04-04
    11楼  发表于: 2026-02-09 14:28

    试试马里奥rpg 模拟器不能问题
    导电橡胶
    级别: 模拟专家
    UID: 321536
    精华: 0
    发帖: 144
    威望: 0 星
    金钱: 33 浮游币
    贡献值: 28 点
    好评度: 426 点
    人气: 3 点
    在线时间: 572(时)
    注册时间: 2019-10-28
    最后登录: 2026-04-04
    12楼  发表于: 6小时前

    GBA相关:
    GBA游戏卡带的几种记忆类型:https://tieba.baidu.com/p/1513244819

    一、时钟补丁
    时钟补丁,是一种为了解决盗版卡带没有时钟芯片,无法在游戏内正常触发时间事件而出现的时间功能补丁

    测试ROM:Pocket Monsters - Ruby (Japan) (386) [CHS]B1BC56F6.gba
    引用
    修复工具:GBA Tool Advance
    修复步骤:[...]打开ROM文件,切换到[时钟补丁]选项,点击[打补丁]按钮,同目录生成“output-”开头的同名gba文件
    工具链接:https://www.romhacking.net/utilities/601




    绿宝石时钟补丁
    引用
    补丁内容:取消原ROM真实时钟功能,变更后按照游戏实际游玩的时间来1:1对应虚拟时钟,可以妆Ρπ设置倍率。如24倍速,则游玩一小时等于游戏中度过一天。
    工具链接:https://tieba.baidu.com/p/5314611312
    项目链接:https://github.com/enler/EmeraldRTCPatchTool


    二、SRAM补丁
    非1M Flash存档类型的大部分游戏,通过GBA Tool Advance打上SRAM补丁后,烧录进卡带才能正常存档

    测试ROM:Summon Night - Craft Sword Monogatari - Hajimari no Ishi (Japan) (v1.1) (Fix) [CHT]03103EA0.gba
    引用
    修复工具:GBA Tool Advance
    修复步骤:[...]打开ROM文件,切换到[SRAM补丁]选项,点击[打补丁]按钮,同目录生成“output-”开头的同名gba文件
    注意事项:[打补丁]按钮为灰色,表示ROM已打补丁或本身为SRAM存档类型;[Rom文件头]选项存档类型处显示(Patched),表示已打补丁
    工具链接:https://www.romhacking.net/utilities/601






    三、1M Flash转1M SRAM
    引用
    修复工具:Flash1M Repro SRAM Patcher
    修复步骤:把ROM文件拖动到程序上即可,程序会自动在同目录生成“[1MSRAM]”开头的同名gba文件
    工具链接:https://github.com/bbsan2k/Flash1M_Repro_SRAM_Patcher


    四、免电池补丁
    免电池补丁是一种用于在没有电池的情况下保存游戏存档的技术

    引用
    修复工具:gba auto batteryless
    修复步骤:首先打SRAM补丁,然后把ROM文件拖动到程序上即可,自动模式(每次游戏存档都会自动将存档复制到ROM内),手动模式(按下L+R+Start+Select组合键,将存档复制到ROM内)
    注意事项:提示ROM alraedy max size. Cannot expand. Cannot install payload,游戏ROM容量已达最大,没有空闲区域安装免电池补丁
    工具链接:https://github.com/metroid-maniac/gba-auto-batteryless-patcher


    GBAToolAdvance.7z (262 K) 下载次数:0
    绿宝石时钟补丁.7z (44 K) 下载次数:0
    Flash1M_Repro_SRAM_Patcher.7z (97 K) 下载次数:0
    gba_auto_batteryless.7z (69 K) 下载次数:0
    [ 此帖被xiong_online在2026-04-04 21:35重新编辑 ]
    作為一個失敗的栗子,只要笑笑就好;
    大版權時代來臨,資源的儲備足夠嗎?