N64: WWF No Mercy NTSC ver1.1 - gameshark master code, or save file transfer

Discussion in 'Nintendo Game Development' started by Lum, Aug 18, 2012.

  1. Lum

    Lum Officer at Arms

    Joined:
    Sep 30, 2010
    Messages:
    3,233
    Likes Received:
    42
    I own an updated cartridge (aka "Rev A") now and would like to try enable the GBC story. Unfortunately I haven't made that gameshark code do anything on real hardware.
    Perhaps I need a different master code? If so I've got no idea about hacking one.

    Another option might be create and transfer the save file from emulation. Except I don't own any device to move N64 saves from PC...

    Of course there's other likely alternatives like Everdrive64.
     
  2. Zoinkity

    Zoinkity Site Supporter 2015

    Joined:
    Feb 18, 2012
    Messages:
    499
    Likes Received:
    108
    'Master codes' simply hook the GS. If your GS's display ticks in a circle, it is running. I fyou have a PC connection, you can also automatically search for them using GSCC2k instead of trying to find them through disassembly.
    What's the original code from v1.0? Memory shifted a little, but I could find the offset pretty quickly.
     
  3. Lum

    Lum Officer at Arms

    Joined:
    Sep 30, 2010
    Messages:
    3,233
    Likes Received:
    42
    F103E360 2400

    Yeah I'm not familiar with the technical details behind it.
     
  4. Zoinkity

    Zoinkity Site Supporter 2015

    Joined:
    Feb 18, 2012
    Messages:
    499
    Likes Received:
    108
    Being FLASHram there isn't a lot you can do to upload saves. If it was eeprom a GS can swap those around via mempak. Hardware access between FLASHram titles tended to differ, so no one solution was ever found.

    Your new code is:
    F103E2C0 2400


    Some external devices, such as the GS, hook themselves using the COP0 WatchLo/WatchHi register pair. To attempt to circumvent this, games started writting to these addresses with commands like:
    40849000 MTC0 A0,WatchLo

    The enabler codetypes are GS codes executed before the GS hands control back to the cart. They allow you to overwrite these little buggers. So, the code above would become:
    24009000 ADDIU R0,R0,9000
    Which would do nothing, but not as quickly as a NOP_NADA.
     
  5. Lum

    Lum Officer at Arms

    Joined:
    Sep 30, 2010
    Messages:
    3,233
    Likes Received:
    42
    Thanks, a step in the right direction.

    But again the GBC story code isn't doing much if anything noticeable on real hardware. Even though it works fine emulated.
    810AB0A0 0C00
    810AB0A2 0053
    810AB0A4 0009

    Perhaps my cartridge is different from that 1.1 rom floating around the web? I don't have a copier to compare.
     
  6. Zoinkity

    Zoinkity Site Supporter 2015

    Joined:
    Feb 18, 2012
    Messages:
    499
    Likes Received:
    108
    Well, a GS is a copier...

    The problem here is you're using an NTSC v1.0 code for NTSC v1.1. The version 1.1 code should be:
    810A9BC0 0C00
    810A9BC2 0053
    810A9BC4 0009
    Then generate your CAW and copy like with the original codeset.

    Oddly, it really should have started at 800A9B70, but this seems to work fine. Well, I'm staring at the option in the championship settings at least. If it doesn't, use the 70 range instead.

    For the record HLE N64 emulators do occationally push memory around, especially if it's basing memory allocations on detected ram size. I haven't heard of a case outside of a Rare title, but there's certainly enough of those: Banjo Tooie, Donkey Kong 64, with the worst culprit being Perfect Dark.
     
sonicdude10
Draft saved Draft deleted
Insert every image as a...
  1.  0%

Share This Page