vita3k吧 关注:7,200贴子:16,203
  • 22回复贴,共1

终于《奇迹少女祭》也有60帧啦!!!eboot分享及自己动手教程

只看楼主收藏回复

多谢SEKIRO大佬的指引以及提供的大量解锁60帧的eboot.bin文件。

eboot.bin文件,以及动手改eboot.bin解锁60帧的教程(适用性不广,仅提供思路)在后面放以防被吞。
目前解锁60帧后的个人出现过的问题有:
1、大部分界面都是2倍速,例如选择歌曲时移动速度会很快。另外个人认为游戏中的一些图标(例如miracle fever发动后外面的光圈)也是2倍速,但其余例如倒计时转圈应该是正常的。
2、打开游戏是有概率会闪退。
3、开始时后面的屏幕好像有点与声音不是很同步(不知道是不是错觉)。
PS:简单测试了一下,总游玩时间应该是按照正常时间计算,不会加快。


IP属地:广东1楼2023-09-12 22:10回复
    eboot.bin文件(度盘):
    链: 13up6W1Kwgv4X18FXhhNJLg?pwd=24yj
    提: 24yj


    IP属地:广东2楼2023-09-12 22:12
    收起回复
      eboot.bin的位置,替换或者自己修改都适用。
      右键点击游戏,点打开文件夹,然后点应用程序。打开的文件夹里eboot.bin就是要替换/修改的文件。


      IP属地:广东3楼2023-09-13 18:59
      回复
        修改eboot.bin解锁60帧的教程(局限性很大):
        1、思路
        根据置顶贴的SEKIRO大佬介绍,尽管索尼官方提供了限制帧率的标准函数,但很多开发者不用(如《召唤之夜6》)。对于这类型的游戏,需要自己去找用的是什么函数,我个人也不清楚有什么具体办法。
        《奇迹少女祭》(以及《初音未来X》)用的都是索尼提供的标准函数sceDisplayWaitVblankStartMulti。当设置为2的时候,锁30帧;设置为1的时候,解锁60帧。因此我们的目的就是把eboot.bin中这个”2“改为”1“。对此,我们应该找出sceDisplayWaitVblankStartMulti调用的地址,然后上下查找常值2。
        但不幸的是,对于《奇迹少女祭》来说,这样做会直接变成两倍速(而对于《初音未来X》,就是表演中角色时不时只有嘴巴在动)。这是因为另一个函数sceDisplayGetRefreshRate后还会做一些处理。根据SEKIRO大佬在《初音未来X》的修改,应该在sceDisplayGetRefreshRate调用后把0.5改为1。因此,我们应该找出sceDisplayGetRefreshRate调用的地址,然后上下查找常值0.5。【不过对于实机可以直接调用VitaGrafix改帧率上限的游戏,这一步应该是不需要的。】
        2、工具
        IDA PRO 6.8(IDA版本不能7或者以上,应该必须6.x)、Vitaldr【用于检索修改地址】
        【选用】WinHex或者HxD等(因为我用IDA PRO修改后无法保存)【用于检索修改地址】
        vita-unmake-fself【用于转换成.elf文件以检索、修改】
        vita-make-fself【用于修改后转换为eboot.bin】
        其中的一些工具在上面的度盘里。


        IP属地:广东4楼2023-09-13 19:23
        回复
          具体操作:
          步骤一:事前准备
          1.1、安装IDA PRO 6.8,并把vitaldr.7z里的vita.ldw、vita.txt解压到程序的loaders文件夹
          1.2、把要修改的eboot.bin拖拽到vita-unmake-fself.exe文件上,得到eboot.bin.elf文件。
          1.3、打开IDA PRO 6.8里的idaq.exe【注意不是idaq64.exe】,点击new,选择刚刚的eboot.bin.elf。如果和下图一样,就可以点OK。注意加载时间可能比较长,请耐心等待。

          1.4、点击菜单栏里的Options->General,把里面的Number of opcode bytes改为8。

          步骤二:寻找并修改sceDisplayWaitVblankStartMulti的参数
          【注】如果加载完之后没找到下面的内容,请在IDA View窗口中点击右键,选择text view即可。
          2.1、在左侧中的function中找到sceDisplayWaitVblankStartMulti,双击后右面的窗口就会转到其位置。点击其上面的code xref右面的黄色地址,就会跳转到调用这个函数的地址。
          2.2、查看跳转后的地址上下有没有"井号2",如果没有,就点击上面code xref的黄色地址进行跳转。如此往复,直到找到"井号2"为止(一般就跳2~3次,不会太多,否则可能不是这么修改)。
          2.3、通过左侧看到"井号2"对应的HEX,然后把02修改为01即可。这里我用IDA PRO修改后无法保存,所以我用WinHex搜索附近的HEX串,从而找到02对应的位置来修改。

          【选做】步骤三:寻找并修改sceDisplayGetRefreshRate的参数
          【注】这一步并不是必须的。如果你在步骤二修改完并导出eboot.bin文件后,游戏能正常进行(游玩的部分即可,因为非官方解锁肯定有各种问题。只要不影响游玩即可),就可以忽略这一步。
          3.1、在左侧中的function中找到sceDisplayGetRefreshRate,双击后右面的窗口就会转到其位置。点击其上面的code xref右面的黄色地址,就会跳转到调用这个函数的地址。

          3.2、查看跳转后的地址上下有没有"井号0.5",如果没有,就点击上面code xref的黄色地址进行跳转。如此往复,直到找到"井号0.5"为止(一般就跳2~3次,不会太多,否则可能不是这么修改)。
          3.3、通过左侧看到"井号0.5"对应的HEX,然后把F6修改为F7即可。

          步骤四:导出eboot.bin
          4.1、打开cmd,找到vita-make-fself.exe的所在文件夹,输入vita-make-fself.exe eboot.bin.elf eboot.bin。
          如果不会,把eboot.bin.elf、vita-make-fself.exe均放在D盘根目录,按win+r,输入cmd。注意切换为英文输入法(Win11),然后输入d:并按回车,然后输入vita-make-fself.exe eboot.bin.elf eboot.bin并按回车,就可以得到新的eboot.bin。
          4.2、把新的eboot.bin替换原来的eboot.bin即可。(建议备份原来的eboot.bin)


          IP属地:广东5楼2023-09-13 19:57
          回复
            更新完毕,不过4楼被系统吞了,正在恢复中……


            IP属地:广东6楼2023-09-13 19:59
            收起回复
              码字辛苦了,已加精


              IP属地:广东来自Android客户端7楼2023-09-14 00:10
              回复
                这模拟器还爆音吗


                IP属地:河南来自Android客户端8楼2023-09-15 11:14
                收起回复
                  大佬可以帮忙做60帧的eboot么


                  IP属地:山西9楼2023-09-21 13:26
                  回复
                    哥们有空做灵魂献祭D的60帧boot吗?我研究半天没搞懂。


                    IP属地:江苏10楼2023-10-09 11:46
                    收起回复
                      讨鬼传系列能改么?


                      IP属地:吉林来自Android客户端11楼2024-01-14 19:44
                      回复
                        请问游戏闪退是什么情况啊,没打过任何补丁


                        IP属地:上海来自Android客户端12楼2024-01-16 15:07
                        收起回复
                          修改好了之后,不知道怎么在IDA里保存回eboot.bin.elf.
                          保存后,变成eboot.bin.idb了


                          IP属地:江苏13楼2024-03-18 20:10
                          收起回复
                            可以帮忙修改一下么?
                            WinHex我也装了,然后我发现我还是不会改...两者的HEX显示好像对不上...
                            1CSpsNjEFYZSRexY7DW6Etw?pwd=pjyn
                            包含需要修改的eboot.bin和eboot.bin.elf
                            改成改好地址的eboot.bin.elf就可以了,谢谢,谢谢

                            下图是我搜到的帧数限制地址



                            IP属地:江苏14楼2024-03-18 22:21
                            收起回复