fceux icon indicating copy to clipboard operation
fceux copied to clipboard

(Earthbound Beginnings/MOTHER) Anti-Piracy screen triggers on patched ROM

Open PerdGateEnjoyer opened this issue 1 year ago • 3 comments

Describe the bug I'm currently playing a patched version of MOTHER/Earthbound Beginnings (referred to as EB0 from here on out), and trying to start the dance sequence in the Live House.

Steps to reproduce the behavior:

  1. Apply the "EarthBound Beginnings Uncut" patch to a copy of EB0's US Localization prototype ROM
  2. Play the game up to Ellay/Valentine's
  3. Enter the Live House and talk to the blue man in front of the stage.
  4. Answer "Yes" to begin the dance sequence.
  5. Watch the game cut to an anti-piracy screen.

Expected behavior I expected the dancing sequence to proceed as normal, finishing with a boss battle against B.B. Boss.

Screenshot EB0 Hack Anti-Piracy

  • OS and Version: Windows 10
  • Version of FCEUX used: 2.6.6

Additional context From what I could gather, this happens because EB0 occasionally looks at the ROM Checksum and cuts to an anti-piracy screen if it's not what it's supposed to be. This issue was circumvented by patching the ROM to disable this check. My copy of EB0 has a "Date Modified" of 6/21/2017, so I assume it's already patched. I presume the problem lies in the fact that I patched my ROM once again, with Luffym17's "Earthbound Beginnings Uncut" patch to de-censor sprites and make names consistent with Earthbound/MOTHER 2.

PerdGateEnjoyer avatar Feb 25 '24 04:02 PerdGateEnjoyer

I looked it up and found this page. https://datacrystal.romhacking.net/wiki/EarthBound_Beginnings/Anti-Piracy

(begin excerpt)

In order to disable all of Earthbound Zero's anti-piracy screens, change the following bytes in the ROM:

$3247D: Change “D0-11” to “EA-EA”
$32485: Change “D0-09” to “EA-EA”
$3286A: Change “D0-11” to “EA-EA”
$32872: Change “D0-09” to “EA-EA”

(end excerpt)

I feel like, upon reading the ROM, FCEUX should check if these values are set, then ask the user if they want to change them to the specified value in order to circumvent Anti-Piracy.

(Pseudocode) Check if the specified bytes are D0-xx or EA-EA

  • If they're EA-EA, do nothing and load the ROM normally.
  • If they're D0-xx, bring up window explaining Anti-Piracy and ask the user if they would like to change them while bringing up two buttons that say "YES" and "NO".
    • If the user clicks "YES", close the window and change the bytes to EA-EA.
    • If the user clicks "NO", close the window and load the ROM normally.

PerdGateEnjoyer avatar Mar 08 '24 02:03 PerdGateEnjoyer

fceux is not a "game specific" emulator, so it will not handle game specific byte changes like this. ask the rom patcher creator if specific rom areas has not been patched properly.

negativeExponent avatar Mar 08 '24 02:03 negativeExponent