本帖最后由 william 于 2025-9-20 08:19 编辑
lrf739146825 发表于 2025-9-11 02:00
新版的金手指是多种格式并存的,没有前缀是不清楚这条金手指是出自哪里的。你可以修改 /src/burner/libret ...
我写了一个前端程序EzMAME(详见(9月15日更新)EzMAME0.08i,支持其它核心的游戏进度保存,暂停等 - 模拟FAQ - 肖琪模拟游戏站 - Powered by Discuz! (xqemu.cn)),已经实现支持FBNeo的IPS运行,现在正在寻找打开FBNeo_libretro核心支持ROMDATA的功能,可否给一点提示信息?
原生FBNeo_libretro是支持IPS后的文件的,文件只要放在 系统目录下的 fbneo/patched ,然后在环境回调里要设置环境变量
当核心发送RETRO_ENVIRONMENT_GET_VARIABLE(十进制15号命令)前端返回'fbneo-allow-patched-romsets'为enabled
这样FBNeo在路径搜索时候,多了一个搜索路径,优先搜索系统目录下的 fbneo/patched,然后将其中文件保留,不足的文件会在其他路径搜索,并且构成完整文件,并且不验证系统目录下的 fbneo/patched获得文件的CRC,与核心交互日志如下(以运行游戏1943kai的IPS为例):: Using ROM with unknown crc 0x03036734 and name bmk01.12d from archive D:/MAMEROMs\fbneo\patched\1943kai ,核心返回一个告警,然后使用这个打过补丁的,CRC和FBNeo数据中不一样的CRC的文件继续运行。我现在找的是我需要设置什么环境回调参数,类似于'fbneo-allow-patched-romsets' ,而打开ROMDATA的功能。(补充:从FBneo的路径搜索日志可以看到 ,FBNeo核心默认是搜索当前目录和系统目录下的romdata子目录的)附,FBNeo_libretro的完整路径搜索日志:
: Searching all possible locations for romset 1943kai
: Patched romset found at D:/MAMEROMs\fbneo\patched\1943kai
: No romset found at .\1943kai
: No romset found at .\arc\1943kai
: No romset found at .\arcade\1943kai
: No romset found at .\romdata\1943kai
: No romset found at .\coleco\1943kai
: No romset found at .\colecovision\1943kai
: No romset found at .\gamegear\1943kai
: No romset found at .\megadriv\1943kai
: No romset found at .\megadrive\1943kai
: No romset found at .\genesis\1943kai
: No romset found at .\msx\1943kai
: No romset found at .\msx1\1943kai
: No romset found at .\pce\1943kai
: No romset found at .\pcengine\1943kai
: No romset found at .\sg1000\1943kai
: No romset found at .\sgx\1943kai
: No romset found at .\supergrafx\1943kai
: No romset found at .\sms\1943kai
: No romset found at .\mastersystem\1943kai
: No romset found at .\snes\1943kai
: No romset found at .\spectrum\1943kai
: No romset found at .\zxspectrum\1943kai
: No romset found at .\tg16\1943kai
: No romset found at .\nes\1943kai
: No romset found at .\fds\1943kai
: No romset found at .\ngp\1943kai
: No romset found at .\chf\1943kai
: No romset found at .\channelf\1943kai
: No romset found at D:/MAMEROMs\fbneo\1943kai
: No romset found at D:/MAMEROMs\fbneo\arc\1943kai
: No romset found at D:/MAMEROMs\fbneo\arcade\1943kai
: No romset found at D:/MAMEROMs\fbneo\romdata\1943kai
: No romset found at D:/MAMEROMs\fbneo\coleco\1943kai
: No romset found at D:/MAMEROMs\fbneo\colecovision\1943kai
: No romset found at D:/MAMEROMs\fbneo\gamegear\1943kai
: No romset found at D:/MAMEROMs\fbneo\megadriv\1943kai
: No romset found at D:/MAMEROMs\fbneo\megadrive\1943kai
: No romset found at D:/MAMEROMs\fbneo\genesis\1943kai
: No romset found at D:/MAMEROMs\fbneo\msx\1943kai
: No romset found at D:/MAMEROMs\fbneo\msx1\1943kai
: No romset found at D:/MAMEROMs\fbneo\pce\1943kai
: No romset found at D:/MAMEROMs\fbneo\pcengine\1943kai
: No romset found at D:/MAMEROMs\fbneo\sg1000\1943kai
: No romset found at D:/MAMEROMs\fbneo\sgx\1943kai
: No romset found at D:/MAMEROMs\fbneo\supergrafx\1943kai
: No romset found at D:/MAMEROMs\fbneo\sms\1943kai
: No romset found at D:/MAMEROMs\fbneo\mastersystem\1943kai
: No romset found at D:/MAMEROMs\fbneo\snes\1943kai
: No romset found at D:/MAMEROMs\fbneo\spectrum\1943kai
: No romset found at D:/MAMEROMs\fbneo\zxspectrum\1943kai
: No romset found at D:/MAMEROMs\fbneo\tg16\1943kai
: No romset found at D:/MAMEROMs\fbneo\nes\1943kai
: No romset found at D:/MAMEROMs\fbneo\fds\1943kai
: No romset found at D:/MAMEROMs\fbneo\ngp\1943kai
: No romset found at D:/MAMEROMs\fbneo\chf\1943kai
: No romset found at D:/MAMEROMs\fbneo\channelf\1943kai
: Romset found at D:/MAMEROMs\1943kai
本帖最后由 william 于 2025-9-20 09:17 编辑
lrf739146825 发表于 2025-9-11 02:00
新版的金手指是多种格式并存的,没有前缀是不清楚这条金手指是出自哪里的。你可以修改 /src/burner/libret ...
另外有个问题,这个改版dll额外需要一个依赖dll,否则会加载失败
我解析的依赖如下:
DLL依赖项检查:
需要: KERNEL32.dll
需要: msvcrt.dll
需要: libwinpthread-1.dll
加载核心: D:\PyCode\ezmame\cores\fbneo_plus_libretro.dll
游戏运行异常: Could not find module 'D:\PyCode\ezmame\cores\fbneo_plus_libretro.dll' (or one of its dependencies). Try using the full path with constructor syntax.
而原版的依赖检查结果如下:
DLL依赖项检查:
需要: KERNEL32.dll
需要: msvcrt.dll
加载核心: D:\PyCode\ezmame\cores\fbneo_libretro.dll
核心加载完成
就是说使用这个改版核心需要额外增加 MinGW的运行时库 libwinpthread-1.dll,让我来上传补充一下这运行时库,这是一个很小的库文件,补充后,就可以加载fbneo_plus_libretro.dll了
william 发表于 2025-9-20 08:12
我写了一个前端程序EzMAME(详见(9月15日更新)EzMAME0.08i,支持其它核心的游戏进度保存,暂停等 - 模拟 ...
fbneo-allow-patched-romsets这个开关的主要目的是防止应用RetroArch的成就系统时使用作弊。 同时管控 patched目录 ,ips 和 romdata 的功能的启用。
本帖最后由 william 于 2025-9-20 09:59 编辑
lrf739146825 发表于 2025-9-20 09:25
fbneo-allow-patched-romsets这个开关的主要目的是防止应用RetroArch的成就系统时使用作弊。 同时管控...
那现在我把romdata的文件放到patched目录下,核心就会自动把romdata文件应用到rom并运行了?:)
弄了一下,感觉机制不是这样,运行游戏不会自动搜索romdata下文件并应用补丁。执行逻辑应该是直接运行romdata下的文件,让我试一下.....
本帖最后由 lrf739146825 于 2025-9-21 09:17 编辑
william 发表于 2025-9-20 09:41
那现在我把romdata的文件放到patched目录下,核心就会自动把romdata文件应用到rom并运行了?
弄了一下,感 ...
你应该看github的release配套的文档。
本帖最后由 william 于 2025-9-20 12:33 编辑
@lrf739146825搞定了,感谢
CORE INFO]: Driver captcommkr was successfully started : game's full name is Captain Commando (World 911014)
名将扩容看不出来是不是成功了,显示信息如上....怎么能够看出来是扩容成功了呢?是Driver captcommkr was successfully started么?就是这个扩容rom用了 captcomm的启动?是不是要通关后看看有新的关出现?
william 发表于 2025-9-20 08:12
我写了一个前端程序EzMAME(详见(9月15日更新)EzMAME0.08i,支持其它核心的游戏进度保存,暂停等 - 模拟 ...
你这里理解的IPS有误,patched目录是运行 hack rom 的地方,这个地方的缺陷很明显,不能共存多个hack版本。因为是对原版的硬替换。FBNEO IPS 允许运行时切换版本,这需要你下载RetroArch实际体验。
一个小问题,能不能在源代码里把版本号更新一下,打开快捷菜单的底部信息一直都是1.0.0.03没变。
lrf739146825 发表于 2025-9-20 13:04
你这里理解的IPS有误,patched目录是运行 hack rom 的地方,这个地方的缺陷很明显,不能共存多个hack版本 ...
这是很古老的方式,这种方式,为了达到运行多个hack rom目的 ,还需要设置RetroArch的动态BIOS目录,然后每个rom用不同名称的文件夹隔离。相当麻烦。
william 发表于 2025-9-20 12:02
@lrf739146825搞定了,感谢
扩容只是增加了空白冗余,用来承载哪些扩容rom生成的ips的内容,本身内容和原版没有区别。