[Solved] NES (fceumm) : soft patching?

Hi,

In RetroArch 1.4.1, soft patching does not happen with NES (fceumm). I have the following files in the same directory:

Final Fantasy II (J).nes Final Fantasy II (J).ips Puyo Puyo (J).nes Puyo Puyo (J).ips

among others.

I was expecting that when launching the nes file, the ips would be automatically loaded. Is an additional step / configuration required ?

Yeah, FCEUmm doesn’t support softpatching because it directly accesses the files on-disk, that is, it doesn’t just load the ROM into memory, so it apply the patch to the in-memory file.

retro-wertz is working on correcting this, though, so it might get changed/fixed before too long.

OK, and are there any other core which are soft patching NES games ? For SNES I tried Snex9x core with Ranma RPG game but it does not softpatch too.

I’ve the roms patched also, but to load the metadata it’s better if the original rom is scraped.

try running softpatch in nestopia if it runs without issues. else you can hard-patch the games if you really want to use fceumm.

softpatching should work with snes9x.

does the patch/rom run if you hard-patched it? if it still does not then it could be rom header issue.

if its SNES roms, these can run with header or without header. most emulators ignores headers now even no-intro dats are based on headerless snes rom.

use some tool like NSRT to check your rom. if it has header, remove it and try softpatching/hardpatch again. if it does not have header, add header and re-test.

if you find a combination that worked, then just recreate a new IPS/patch file if you want the patch to be compatible with your current-unmodified rom.

For Example: most FDS roms are now headerless, but patches and hacks needs headered-fds rom to work. so heres what i did: -create copy of rom > add header > hard path this rom-copy > remove header > create new patch/ips from this new headerless-rom-copy

Thanks for all the advises. I’ll try this today or tomorrow.

Still a question: how do you extract an ips from a patched rom ?

Lunar IPS should be able to patch and create patch, just be sure you have copies of original files to avoid accidental overwrites. just download the app and read the guide how to use it.

1 Like

So I tested few things:

  1. On NES, I tried with Nestopia

~/Roms/nes ---- Final Fantasy (U).nes ---- Final Fantasy (U).ips ---- Final Fantasy (U)(t_fr).nes ---- Final Fantasy II (J).nes ---- Final Fantasy II (J).ips ---- Final Fantasy II (J)(t_fr).nes ---- Final Fantasy III (J).nes ---- Final Fantasy III (J).ips ---- Final Fantasy III (J)(t_fr).nes

Result:

  • Soft patching does not work. I use command retroarch -L /usr/lib/x86_64-linux-gnu/libretro/fceumm_libretro.so %ROM%. Are other arguments required ?
  • Launching the hardpatched rom does work.
  1. On SNES I tried with Snes9x:

~/Roms/snes ---- Ranma Nibunnoichi - Akanekodan Teki Hihou (J).nes ---- Ranma Nibunnoichi - Akanekodan Teki Hihou (J).ips ---- Ranma Nibunnoichi - Akanekodan Teki Hihou (J)(t_fr).nes ---- Dragon Ball Z - Super Saiya Densetsu (J).nes ---- Dragon Ball Z - Super Saiya Densetsu (J).ips ---- Dragon Ball Z - Super Saiya Densetsu (J)(t_fr).nes

Same result as for NES: solft patching does not happen but launching the patched rom does work.

The command I use for SNES is : retroarch -L /usr/lib/x86_64-linux-gnu/libretro/snes9x_libretro.so %ROM%

Is there an option in RetroArch to enable in order to get soft patching working ?

Get a verbose log and you should see some messages about whether or not it’s finding and IPS patch. You can also try adding to your command line: --ips /path/to/patch.ips to try and force patch-loading.

I’ll check the logs.

Problem solved ! Extension “ips” was in upper case. I made it in lower case and problem got solved !

w00t! glad you got it going.

1 Like

In the logs I just see an info entry about a fatal CRC thing but eveything loads perfectly.

that CRC thing is normal(for some reasons), must be just some rouring checking gone wild.

are you by any chance on linux?

Hi, sorry for the delay. Yes I’m on Linux.

1 Like