Pokemon X/Y retail on GW 2.0 *ONLINE WORKING*

Discussion in '3DS - Flashcards & Custom Firmwares' started by Luizim, Dec 2, 2013.

  1. Luizim
    OP

    Luizim Newbie

    Newcomer
    8
    6
    Nov 3, 2012
    Brazil
    OK, I've seen a lot of people wanted to know about this, myself included. So I went ahead and bought a Pokemon X retail cartridge at the store.

    I was able to connect normally to the internet on GW emuNand. I've received my Mystery Gift already, and was also able to connect to GTS, Wonder Trade, add friends, etc.

    Hope this helps clear things out about online playing with RETAIL GAMES on emuNand.

    Cheers!

    UPDATE:
    Patched X to 1.1 and it's still working normally/online.

    Apparently there's still no way to get X/Y with saves from real nand consoles working on emuNand. If a way is found, I'll update here.
     
    DarkKnigh_t likes this.


  2. JonnyMohawk

    JonnyMohawk Member

    Newcomer
    49
    29
    Feb 24, 2012
    United States
    Strange, I can't get my retail copy of X to work.

    Others seem to be having the same issue, it looks like it may only affect those who already started a game on another system.


    I attached an image of the error I get, works fine on my 2DS....
     

    Attached Files:

  3. DarkKnigh_t

    DarkKnigh_t GBAtemp Fan

    Member
    409
    55
    Oct 30, 2013
    Croatia
    Zagreb, Croatia
    Thank you very much this is a big thing i was wondering about this and nice to see someone tested it out and posted thank you again! :)
     
    Luizim likes this.
  4. Luizim
    OP

    Luizim Newbie

    Newcomer
    8
    6
    Nov 3, 2012
    Brazil
    Yes, I've read about this on another topic.

    Apparently it will work fine with a brand new Pokemon X/Y cartridge, while it might give errors for cartridges that have been used before.
     
  5. Keylogger

    Keylogger GBAtemp Advanced Maniac

    Member
    1,714
    365
    May 3, 2006
    France
    I'll try with MarioKart 7 online
     
  6. Pong20302000

    Pong20302000 making notes on everything

    Member
    8,076
    1,931
    Sep 8, 2009
    One's inner self
    its the Save KeyY used, if you have a existing save the KeyY is wrong
    but on a new cart it will use the 4.5.0 KeyY
    so if those people where to then use the cart on a official 6.3.0 they would get the same error
     
    tHciNc likes this.
  7. mathieulh

    mathieulh GBAtemp Fan

    Member
    330
    383
    Feb 28, 2008
    France
    As far as I've tested, online works fine as long as the game you are using is from the same region as your 3DS. I could be wrong though, all the EU games I tested on my EU 3DS worked fine online. I could even purchase phoenix wright 5's in-game DLC.
     
  8. Snailface

    Snailface My frothing demand for 3ds homebrew is increasing

    Member
    4,324
    1,983
    Sep 20, 2010
    Engine Room with Cyan, watching him learn.
    My retail card works too although it can't read the game's save.
     
  9. mathieulh

    mathieulh GBAtemp Fan

    Member
    330
    383
    Feb 28, 2008
    France

    Ironically, it'd most likely load fine on a real 6.x.x system because the old KeyY is still present in it's keyslots.
    You are right though, you pinpointed the issue as that's exactly what's going on.
    Since the KeyY slot is "write only" the only way to get the key is to dump or decrypt the new bootloader (the keyslot is written/set by the bootloader) as you can't read the slot directly on a live system (the decryption goes through the AES hardware engine)
     
  10. DarkKnigh_t

    DarkKnigh_t GBAtemp Fan

    Member
    409
    55
    Oct 30, 2013
    Croatia
    Zagreb, Croatia
    Well thats still something as long as it works thats the main thing.
     
  11. Arras

    Arras GBAtemp Guru

    Member
    5,840
    2,659
    Sep 14, 2010
    Netherlands
    Yeah, pretty much. The retail game will work 100% okay on an emuNAND, but it will fuck up save files from 6.3 3DSes.
     
  12. mathieulh

    mathieulh GBAtemp Fan

    Member
    330
    383
    Feb 28, 2008
    France
    Hum... I guess that as soon as it detects an application compiled with the 6.x.x SDK it forces the use of the new KeyY, either that or a new save function that only uses the KeyY slot is used and GW somewhat patches it to use the old slot because the new KeyY doesn't exist on emuNAND, that would explain why the save encrypted with the older key doesn't load on newer firmwares.
     
  13. Arras

    Arras GBAtemp Guru

    Member
    5,840
    2,659
    Sep 14, 2010
    Netherlands
    I was guessing and just edited my post to change it. Sorry for the confusion :P
     
  14. mathieulh

    mathieulh GBAtemp Fan

    Member
    330
    383
    Feb 28, 2008
    France
    Ok, then as I've said, although I have not tested this, it's likely a save encrypted with the old KeyY would load just fine on an official 6.x.x firmware (but not the other way around)
     
  15. Arras

    Arras GBAtemp Guru

    Member
    5,840
    2,659
    Sep 14, 2010
    Netherlands
    That would make sense, otherwise it might screw over people who are using a regular 3DS, create a save file and then update it to some firmware that uses a newer KeyY, right? Then again Pokemon was never intended to run on 4.5 anyway.
     
  16. Snailface

    Snailface My frothing demand for 3ds homebrew is increasing

    Member
    4,324
    1,983
    Sep 20, 2010
    Engine Room with Cyan, watching him learn.
    I got a save corruption error right as the game booted on 6.3 emunand. I just turned the power off immediately and the save still worked on my official 6.3 system. Thank goodness.
     
  17. mathieulh

    mathieulh GBAtemp Fan

    Member
    330
    383
    Feb 28, 2008
    France
    It doesn't work that way, only games compiled using SDK 6.x.x use the new KeyY, older games still use the old key, even on newer firmwares.
     
  18. Arras

    Arras GBAtemp Guru

    Member
    5,840
    2,659
    Sep 14, 2010
    Netherlands
    As long as you don't give it the chance to re-initialize the save file or whatever it does it's fine, yeah. I'm not sure whether it does that automatically when it detects a corrupted save or only when you actually try to save though.
     
  19. tHciNc

    tHciNc Total Random

    Member
    853
    178
    Jan 14, 2006
    New Zealand
    the KeyY is firmware dependant as no SDK 6.x games have shown up yet, aslong as game has 6.X update or was finalized after 6.x release, it will use new flags to determine new keyY method, i think highest sdk for a game i have seen is 5.2.2
    6.0.0-11 Savegame keyY
    6.0.0-11 implemented support for generating the savegame keyY with a new method, this method is much more complex than previous keyY methods. This is enabled via new NCSD partition flags, all retail games which have the NCSD image finalized after the 6.0.0-11 release(and 6.0.0-11+ in the system update partition) will have these flags set for using this new method.

    [​IMG]

    I think since EmuNAND is using 4.5 base like pong said, it doesnt know any of the new flags and will just save using the old KeyY method, not sure if this means its corrupt if you then try to play on a 6.3 system, but more than likely it will as flags will expect the newer KeyY, not the old, EmuNAND is like a chameleon, 4.5 masquarading as 6.3 :)
     
  20. mathieulh

    mathieulh GBAtemp Fan

    Member
    330
    383
    Feb 28, 2008
    France

    Ok that makes more sense, the firmware simply enforces the use of a new key with a NCSD partition flag.
    They actually patched this routine in the GW payload to use the old savedata generation since the new key doesn't exist in the emuNAND and the new 6.x.x most likely does not ignore that flag anymore.

    This also means the key generation isn't game code dependent, as one could just flag an old game to use it, as long as the firmware supports it, it would, no matter what SDK it's been compiled with or libs/functions it's using.

    P.S. Thanks, that's very useful information, where did you get it from ? (I don't have a copy of the official sdk or the like to see changelogs)