RED-Project icon indicating copy to clipboard operation
RED-Project copied to clipboard

Created a tool to extract roms from NES Remix and NES Remix 2

Open Doodl0 opened this issue 1 year ago • 18 comments

I created a tool to extract the roms from NES Remix and NES Remix 2. In total, it extracts 48 USA and Japan roms that work flawlessly on all emulators that I have tried, and also extracts a Famicom Disk System bios. I have updated my readme to include inscrutions on how to do that. Here is a link to the repo, which also includes details on which roms and how to use it https://github.com/Doodl0/NES-Remix-Rom-Extractor

You can also extract a Famicom Disk System bios from the end of an unmodified FDS rom in the files, which I didn't mention in my repo. However, it is the Rev 1 Gamecude version, so a few bytes need to be modified.

Doodl0 avatar Oct 09 '23 17:10 Doodl0

Could you add support for Ultimate NES Remix? Its QD ROMs have an extra header so they can’t be converted into the FDS format without the header’s removal.

DrAzathoth avatar Oct 12 '23 20:10 DrAzathoth

Somebdy else has already made this. https://github.com/GlaZedBelmont/Ultimate-NES-Remix-Rom-Dumper You can run it in Godmode9. Here are the instructions on how to use it I also don't own Ultimate NES Rwmix currently, but if I get it, I may try to add support.

Doodl0 avatar Oct 13 '23 10:10 Doodl0

Also I'm not 100%, but if you have some basic Python knowledge, and the roms are formatted the same, you could try to repurpose my script for FDS roms. There is already a function you could attempt to use on UNR called fdsfix(). However, my code is not the greatest, so it may be confusing.

Doodl0 avatar Oct 13 '23 10:10 Doodl0

Is this for the Wii U?

kjetil-f avatar Oct 16 '23 10:10 kjetil-f

Is this for the Wii U?

Yes

Doodl0 avatar Oct 16 '23 12:10 Doodl0

Excellent, Do you know if it will work with a backup made with the Dumpling app from the Homebrew launcher, or do the game needs to be dumped in another way?

kjetil-f avatar Oct 17 '23 12:10 kjetil-f

That's what I tested it with, so it should work. However if it helps, I've only so far tested the European version and I'm not sure about the regional differences. If you need help, reply to this thread and I'll try my best to help

Doodl0 avatar Oct 17 '23 12:10 Doodl0

Thanks! Using the European version myself actually. I'll give it a go (when time allows).

kjetil-f avatar Oct 17 '23 13:10 kjetil-f

Just to clarify, this dumps the base roms and none of the actual remix roms/patched roms, correct?

Levine91 avatar Oct 27 '23 00:10 Levine91

Just to clarify, this dumps the base roms and none of the actual remix roms/patched roms, correct?

Yes. Remix patches are applied separately, so it would be almost impossible to recreate that in a regular emulator

Doodl0 avatar Oct 27 '23 14:10 Doodl0

It worked. However, I tested it in a couple of emulators and they didn't work. Comparing it to other dumps, I can see that they don't include any NES-headers. So I added it, and it works fine.

About the FDS bios. Exactly how can I extract one that will work?

kjetil-f avatar Nov 01 '23 12:11 kjetil-f

Sorry, I forgot to mention that the ROMs are unheadered, so they work on some emulators fine, but others not so much.

The FDS bios can be extracted from the last 8kb of any of the FDS games before they are edited. However, it is the version of the bios found in certain GameCube games, like Animal Crossing, so certain bytes are different. I was going to make a script to do this, but I have been putting it off.

If you want to attempt it yourself, you can use a hex editor to remove the game rom and some blank bytes, and then I would recommend using this Reddit post to find out which bytes need changing. If you encounter any trouble I am happy to help

Doodl0 avatar Nov 01 '23 15:11 Doodl0

Also, here are a list of all the unedited FDS ROMs so you know which file to use

F_ICEHOCKEYJ.bin WUP-FA8J.bin WUP-FA9J.bin WUP-FBAJ.bin WUP-FBBJ.bin WUP-FBCJ.bin

Doodl0 avatar Nov 01 '23 15:11 Doodl0

Also also, I updated the README to include instructions on how to add the headers

Doodl0 avatar Nov 01 '23 16:11 Doodl0

Awesome! I will check it out.

kjetil-f avatar Nov 01 '23 20:11 kjetil-f

I have just uploaded version 1.1 of the script. Here are the patch notes

  • Added NES Header Repair by Kitrinx into main Rom Extractor (make sure to download this database and place it into the same directory as the main Python file)
  • Added a Bios Extractor that removes the rom part of an FDS game and leaves the bios, and changes 7 bytes to make it match the original. For instructions on how to use, read README.md.
  • Combined the Bios Extractor and Rom Extractor into one file

Doodl0 avatar Nov 12 '23 15:11 Doodl0

Thank you. Works like a dream.

kjetil-f avatar Nov 15 '23 23:11 kjetil-f

Regarding the Ultimate NES Remix tool:

The Famicom games on the cart (Kid Icarus, Metroid, SMB: Lost Levels, and Zelda 2) are in the .qd format that Nintendo has been using for a while now. The extractor above adds iNES headers to the files, but if you remove them in a hex editor, the resulting .qd files are entirely playable on emulators that support it (such as PuNES). So if that program could be redone to not apply the headers to those, it would extract them more easily. And, in theory, could convert them to .fds if they included that. Though it would appear at least the one responsible for the version above is not interested in such.

TheNametag avatar Apr 09 '24 16:04 TheNametag