请求神奇误差修复牧场物语GB3最新ROM支持女孩版 烧录卡问题

  • 你好 谢谢回复 用皮特烧录卡烧录完成后会显示校验失败 插GB玩白屏 EDGB可以玩但不显示文字 我看见你修复的旧版ROM 这个新版ROM对应一下应该可以解决吧 谢谢了 但我用另一个人开发的烧录卡烧录可以正常玩 可能是没有校验游戏的关系?

  • 谢谢你提供的信息。


    这不是个对烧录卡友好的汉化卡带。除非特别定制的卡带,要运行此ROM并不容易。


    获知此卡带为MBC5型,原始卡带最大支持2MiB ROM, 32KiB RAM。


    分析该rom,发现


    LD A $50
    LD [A000] A


    代码中使用到了0x51, 0x50。0x50即10进制的80,80 x 8 KiB = 640 KiB。80 x 16KiB = 1280KiB


    该汉化版使用了超过640KiB的RAM 尚无定论),这远远超过了Gameboy 游戏MBC5型卡带的上限128KiB。因此修改ROM头信息也无助于烧录卡选择正确的RAM尺寸。


    解决办法是在烧录时,尽可能大的选择RAM,如果有1024KiB或更大的,请毫不犹豫的选择。


    烧录卡实现原理各有不同,要运行此牧场物语3汉化ROM,请自求多福。

  • 我看了一下这个ROM……至少模拟正常
    虽然在007a那里有那句
    ld a,50
    ld (a000),a
    可是打了个断点,玩了半天,也没看到这个游戏真的去运行了这段指令…

    烧录卡在实现上各有取舍,不像模拟器依靠电脑/手机资源雄厚。


    你说的很对,确实没有运行到,这是我的疏忽。


    所以,暂时没发现RAM超标的证据。 :S:S:S


    不过在这里留下些记录,权且抛砖引玉。


    --------------------------------------


    在ROM0,搜索<EA 00 20>, <EA 00 30>,并打上断点,可以观察到


    在子程序(ROM0:099E ~ ROM0:09B8)段,


    ROM0:09A4
    ROM0:09A8
    ROM0:09B1
    ROM0:09B5


    上面这些语句控制了CPU访问ROM0,ROM1, ROM7D,ROM7E,ROM7F。


    如果同时观察显存的变化,可以发现,文字处理部分以ROM7D为主。

  • 如果真的开启Debugger的所有报警,这个游戏简直是群魔乱舞……
    汉字程序似乎一直在尝试读取DE54和DE49这个开机没初始化的地址的值,其中DE49如果写入了01,程序甚至就崩溃了……
    还有些程序不知道怎么想的,去内存的镜像区(E000-FDFF)进行读写
    甚至还有一些写入目标为DE或者HL地址的指令,不知道发了什么疯,执行时DE或HL的数值指向MBC端口……
     ?(

Join us

Have your own thoughts on this discussion? Wanna help others, avoid the mistakes you met before? Wanna contribute more to this or other topic? Just join us! Registration is free. Join us!