Open w33ble opened 1 day ago
You are providing a DAT that catalogs headerless ROMs, so Igir is removing the header from files before writing. If you don't want headerless ROMs, you should exclude the DAT with --dat-name-regex-exclude "/headerless/i"
.
This may happen with any of the ROM headers that Igir supports, though No-Intro only separates headered/headerless Lynx and NES DATs right now.
copy
should just copy the ROM without changing it.
Please let me know what page(s) might be confusing, I can update them. Other options such as ROM patching can also cause changes to ROMs during writing.
Paste the command
igir copy --dat "No-Intro/Nintendo - Nintendo Entertainment System.dat" --input "/roms/.nes" --output "/output" --dir-dat-name --temp-dir "/output/tmp" --cache-path "/output/cache" --single --filter-language EN --filter-region USA,WORLD,EUR,JPN --prefer-region USA,WORLD,EUR --prefer-verified --prefer-good --prefer-retail --prefer-revision newer --reader-threads 10 --writer-threads 6 -v
Describe the bug
I tried a lot of incantations of this command. I also tried it both with extracted
.nes
files and with the GoodMerge 7z sources. The results are always the same, the output roms are modified and do not load in retroarch. Here is one example, but this happens with all my NES ROMs.Input SHA1:
2e9897846e54a4a9865e87de7517c6710bdec255 roms/Excitebike (JU) [!].nes
Output SHA1:ba8d9227a0d02b62ee6cb9e691fa5a5134c303a8 output/Nintendo - Nintendo Entertainment System (Headerless)/Excitebike (Japan, USA) (En).nes
The output of the
file
command in linux also indicates that the ouput is no longer an NES ROM.I originally thought it was related to an issue with 7z extraction, which is why I extracted the files myself, but the result was the same. This also only seems to be happening with NES roms, all the other system ROMs I tried worked as expected.
Of note I think; while I was writing up this issue, I noticed that while the output does not match the source, the SHA1 of the output does match what's in the "Headerless" DAT file (neither match what's in the "Headered" DAT file). Maybe there is some change taking place because of the DAT file?
Expected behavior
copy
should just copy the ROM without changing it. That's what the docs seem to indicate too.Debug logs
DAT(s) used
igir version
tried 3.0.0 and 2.11.0
Node.js version
N/A
Operating system
ubuntu 24.10
Additional context
I tried running this with just one of the DAT files at a time, only the Headerless one matches the ROMs.