snesrev / zelda3

https://discord.gg/AJJbJAzNNJ
Other
4.23k stars 348 forks source link

Swedish translation hash #289

Open virginviolet opened 1 month ago

virginviolet commented 1 month ago

Describe your bug here. And how to reproduce it.

Problem

I am trying to pick Swedish in the launcher's settings menu, but I can't get a rom with correct hash. It won't accept the rom I select.

Patching

The game requires the hash for the Swedish rom to be 43CD3438469B2C3FE879EA2F410B3EF3CB3F1CA4. The Romhacking.net page for the translation says you should use a 6D4F10A8B10E10DBE624CB23CF03B88BB8252973 rom (same as Zelda 3 reimplementation). Patching this rom with Flips or Rom Patcher JS results in a broken rom with the hash 15EEE6E260C5800B936EF2A23F337D82016B22D8.

If I just leave the IPS file in the same folder as the USA rom, both with the same name, bsnes-hd will patch the rom at runtime, but first it will ask you if the patch expects a headered rom, and if you pick yes, it will work.

If you pick "Add temporary header" in Rom Patcher JS, it will create a functioning rom with the hash D45F706334FD346A08538C8933D63B4DA665525A.

Using ipsbehead on the IPS and patching with the output IPS file results in a functioning rom with the same hash as when I added temporary hash in Rom Patcher JS.

Correct rom

So, I guess my rom does not have a header and I need a rom with header. I don't know where to get one. I've looked at multiple sources. And if I do find one, how do I know if I have the correct header (if it matters?), since (I'm pretty sure) the hash on the Romhacking.net page is for a headerless rom (or if it's the hash before adding a header).

Solution

Here are some solutions I can think of. Any of them will do.

  1. Help me find the correct rom (please).
  2. Make a patch that I can use that adds the header onto my rom.
  3. Upload the correct rom to archive.org.
  4. Upload the patched Swedish translation rom to archive.org.
  5. Make the game compatible with D45F706334FD346A08538C8933D63B4DA665525A.
  6. Maybe it's possible for someone to make a version of the translation hack that works with the headerless rom?
  7. Someone with the correct rom could perhaps make a BPS patch for the translation? Would that help?
  8. Something else?

What is your build target?

Windows

virginviolet commented 1 month ago

Okay, I finally got it! I read that roms with headers have .smc extensions rather than .sfc. Googling zelda link to the past smc led me to a rom hosted on this website, actually. I finally got the *1CA4 hash. The launcher requires you to choose a sfc file though, so I guess you need to change the extension, or do as I did, paste the full path to the file and hit Enter.

Not everything is in Swedish though... Like the player select screen, for example. Even though everything is translated in the rom.

Here are the hashes for the USA rom with headers, in case anyone needs it: CRC32: DD42510E MD5: 1A74468291B02729329DD1357AFB45AF SHA-1: 8288B4BC88052A3CF4EFFED3ACD6A498847BFB95 SHA-256: D9C69C5270B2F7EAC54F254688A43CC767FD5CB4F21FC079A0F9FBE09978EAEC

impeeza commented 1 month ago

The extension has nothing to do, but if you compare bit to bit both files, you will find more likele a extra set of bit at start of end of file, that are put by some sites or dumpers.