ROM Mirroring (SNES)

Discussion in 'Modding and Hacking - Consoles and Electronics' started by jaskamakkara, Mar 19, 2018.

  1. jaskamakkara

    jaskamakkara Tinkering in the dark

    Joined:
    Aug 22, 2013
    Messages:
    140
    Likes Received:
    5
    Anyway, I think the game that I had with this problem was Demon's Crest (which is 16Mb), not King of Demons, so everything I wrote just now is probably irrelevant. I guess you simply need to double the ROM up when using a 32Mb EEPROM, that should get around any mirroring protection.
     
  2. MottZilla

    MottZilla Champion of the Forum

    Joined:
    Feb 1, 2006
    Messages:
    5,066
    Likes Received:
    102
    Yes there is. Demon's Crest and Mega Man X have copy protection measures that change things behind the scenes if the mapping of ROM to the SNES CPU address space is not correct. Demon's Crest make one boss unable to be defeated. It might do other things too. Mega Man X has a whole bunch of things it does. Randomly returning you to the intro stage, every other jump being as minimum jump height, losing 1 unit of life every time you grab a wall I think is one, etc. But it does not do them all at once. It lets you play normally for a time.

    Both games also I believe detect the presence of SRAM as part of determining copy protection status. But these again are the only two games that detect ROM mirroring being incorrect and act on that. Other games could still crash due to incorrect mapping. That again is why anytime you use a larger memory than needed you should mirror the data or tie the unused address lines to ground.
     
    zzattack likes this.
  3. Ice Man

    Ice Man Member

    Joined:
    Dec 4, 2017
    Messages:
    9
    Likes Received:
    0
    I know Demon's Crest checks for SRAM and if present, the game will become unbeatable. Also has region protection, iirc.
    For Mega Man X I only know the register checks for $213F (region protection) but that's it.

    Still good to know though. Thanks!
     
  4. Pikmin

    Pikmin Resolute Member

    Joined:
    Dec 23, 2009
    Messages:
    935
    Likes Received:
    95
    I used 29F033, tried it in my socketed test card and the game would show the Nintendo logo but then just freeze if I recall.

    Demon's Crest protection I've come across by accident since my cart had the SRAM, on the other hand Final Fight 3 will not boot at all if SRAM is present
     
  5. MottZilla

    MottZilla Champion of the Forum

    Joined:
    Feb 1, 2006
    Messages:
    5,066
    Likes Received:
    102
    Just for context the reason these things are problems is because "Backup Devices" or Copiers from the 90s that allowed you to copy to and load from floppy disks were designed a certain way which developers then used to detect them. The #1 method was by detecting how much SRAM was present because Copiers would typically always map their full amount whether the game used SRAM or not. It wasn't until later generations of Copiers that they would check the internal cartridge information header to only map the correct amount of SRAM. The ROM Mirroring was another way to detect things because the mapping of DRAM in the copier wasn't usually too complex so you could identify a copier this way which Mega Man X does and I think Demon's Crest too. I'm not sure but I think only the Game Doctor SF line of copiers properly implements ROM mirroring for Mega Man X. The GDSF series has a very flexible ROM mapping in its header. But generally any game with protection was probably cracked by pirates back in the 90s.
     
  6. zzattack

    zzattack Spirited Member

    Joined:
    Nov 19, 2014
    Messages:
    161
    Likes Received:
    62
    Yup, ucon64 correctly strips out these protection mechanisms on both games.
     
sonicdude10
Draft saved Draft deleted
Insert every image as a...
  1.  0%

Share This Page