[Realease]Card1 <-> Card2 Converter

Discussion in '3DS - Homebrew Development and Emulators' started by onepiecefreak, Dec 15, 2015.

  1. onepiecefreak
    OP

    onepiecefreak The Special One

    Member
    381
    129
    Aug 12, 2015
    Germany
    This is a script to convert card1 to card2 games and vice versa.

    What is?
    Card1:
    Played on a flash card or similar systems, card1 games store their savegames on the internal (micro)SD.
    In the case of Gateway3DS for example this savegame will be lost if you power off your system ingame without exiting it through the home menu.​
    Card2:
    These games store their savegame in the game itself.
    Means the savegame won't be found on the internal (micro)SD.
    In the case of Gateway3DS you can power off your system ingame after saving without exiting the game through the home menu and without any risk for your progress to get lost.​

    Benefits?
    • Your progress won't get lost with card2 games.
    • You take your savegames with you in the games. So you can play your games with your savegames on every console on which you're using the flashcard.
    Functions:
    • convert card1 games to card2 games
    • convert card2 games to card1 games
    Work in Progress:
    • Compatibility with Python 3.5.1
    • Possibility to extract savegames out of card2 games and use them with card1 games.
    • Maybe import savegames from card1 to card2 games.
    • give a little information about the game before converting

    Changelog:
    Version 1.2: http://www.file-upload.net/download-11528965/cardTypeConverter.py.html
    Added compatibility for Python 3.5.1.
    Due to this the support for Python 2.7 is dropped!

    Version 1.1: http://www.file-upload.net/download-11132197/cardTypeConverter.py.html
    Now you can convert trimmed card1 types to card2.
    Your game will have a bigger filesize than before!

    Version 1.01b: http://www.file-upload.net/download-11127309/cardTypeConverter.py.html
    I wrote a blockade that you can't convert trimmed card1 games.​

    Version 1.0: http://www.file-upload.net/download-11126680/cardTypeConverter.py.html
    Release​
     
    Last edited by onepiecefreak, Apr 28, 2016
    tivu100, cynosura, I pwned U! and 7 others like this.


  2. hug0-a7x

    hug0-a7x GBAtemp Fan

    Member
    337
    82
    Jan 19, 2013
    Brazil
    Thanks, amazing tool :D
     
  3. Xenon Hacks

    Xenon Hacks GBAtemp Guru

    Member
    7,041
    3,347
    Nov 13, 2014
    United States
    Can anyone explain what the benefit is between card1 and card2 simply?
     
    PabloMK7 and peteruk like this.
  4. onepiecefreak
    OP

    onepiecefreak The Special One

    Member
    381
    129
    Aug 12, 2015
    Germany
    The difference between these two types is, that you can hold your savegame in the gamefile itself. Means you can take your Gateway or other flashcart with you and can play your games with your saves on any console.
    Are the games in card1 the saves are on the built-in SD card in the 3DS.
     
  5. Ammako

    Ammako GBAtemp Guru

    Member
    6,404
    3,535
    Dec 22, 2009
    Canada
    Card1 saves to a .sav file or something on the Gateway, while Card2 appends the save directly to the rom itself.
    I don't have a GW myself so I'm not 100% sure of how this works, but from what I can read, Card1 has to copy the save back over to the microSD card after saving while Card2 will just save directly to the rom. This means if your GW or your 3DS crashes or something when it would have to transfer the save to the microSD, or anything like that, you'd lose your progress since the last save pretty much. Card2 prevents that.

    Card1 the saves are in a .sav file image to emulate the actual save chip on a real cartridge (EEPROM or flash or whatever.)
     
  6. Stecker8

    Stecker8 Plug

    Member
    460
    118
    Oct 9, 2015
    Here
    Realease ? :rofl2: Also great tool
     
  7. Xenon Hacks

    Xenon Hacks GBAtemp Guru

    Member
    7,041
    3,347
    Nov 13, 2014
    United States
    How does this work on a Gateway card though for example let's say Pokemon Y.3DZ converted to card2?
     
  8. onepiecefreak
    OP

    onepiecefreak The Special One

    Member
    381
    129
    Aug 12, 2015
    Germany
    Isn't Pokemon Y card2 already?
    And whats so funny about Release :D
     
  9. cvskid

    cvskid GBAtemp Addict

    Member
    2,156
    772
    Apr 13, 2014
    United States
    The pokemon games should already be in card 2 type for saving by default.
     
  10. Stecker8

    Stecker8 Plug

    Member
    460
    118
    Oct 9, 2015
    Here
    You wrote realease:rofl2:
     
  11. Ruby Gloom

    Ruby Gloom GBAtemp Maniac

    Member
    1,553
    505
    Sep 25, 2015
    Dalvík, Iceland
    While I admire the work here, I just don't see much of a real use for such a tool. ( Don't get me wrong, great work. I thought this would be impossible. ) But, there's no real benefits. ( For me. ) The amount of Gateway users to regular 3DS users is probably 2% or less. You ask the common 3DS owner about Gateway 3DS, he/she won't know what you're talking about. So, I guess it may make SDF much easier to use now. But that's about it.
     
  12. Ammako

    Ammako GBAtemp Guru

    Member
    6,404
    3,535
    Dec 22, 2009
    Canada
    The same as a retail game.

    Makes it safer to save save files using GW if you ask me.
    But at the same time you never have direct access to your .sav files and have to use SDF or something every time if you want to just keep them backed up safely somewhere.
     
    Last edited by Ammako, Dec 15, 2015
  13. Ruby Gloom

    Ruby Gloom GBAtemp Maniac

    Member
    1,553
    505
    Sep 25, 2015
    Dalvík, Iceland
    I've never had an issue with my Gateway saves. So, if you're implying that Gateway can corrupt your saves, I yet have to face this issue. I guess since I'm here and all, what cardX should I convert my roms into...?
     
  14. Ammako

    Ammako GBAtemp Guru

    Member
    6,404
    3,535
    Dec 22, 2009
    Canada
    It normally shouldn't, it's just, the way GW works I believe is it loads the .sav file to the cartridge when you select a game, and when you save, once you go back to home menu it would copy the save data from the Gateway's save data to the .sav file on the microSD card.
    What happens is if something messes up, let's say your GW crashes or your 3DS crashes, you may lose your progress, since the next time you load a game, even if it's the same one, it'll overwrite the save data in memory with the .sav on the microSD without really giving you a chance to save to the microSD first. You wouldn't be losing your saves, it wouldn't be corrupting them. But you'd be losing any progress since last loading that game.

    It is also possible for someone's GW to have faulty SPI which would make it impossible to play -any- Card1 type game. They would play fine if converted to Card2, however.
     
    Last edited by Ammako, Dec 15, 2015
  15. Ruby Gloom

    Ruby Gloom GBAtemp Maniac

    Member
    1,553
    505
    Sep 25, 2015
    Dalvík, Iceland
    I'm pretty careful with my system. It shouldn't give me an issue. My SPI is functioning properly. I'll still keep watch over this in any accident my systems falls into, I'll just convert to needed cardX rom.
     
  16. onepiecefreak
    OP

    onepiecefreak The Special One

    Member
    381
    129
    Aug 12, 2015
    Germany
    Yeah Ruby, you see... maybe its a tool for a very small community of users but maybe they need a tool like this sometimes. I mean it's there, it exists, and thats the reason behind it. For people they do want to convert the card type because of reasons they have an easy solution with this script.
    And I prefer card2 type for all games. I faced that issue many times now in a game called Zero Escape: Virtues Last Reward. This game has some bugs that causes it to freeze at some points. After I played 5 hours it freezes and I saved 2 hours before. After I returned to the game the save was at a point past of these 5 played hours. So it didn't saved the game correctly because of this card1 thing.
    Good for you, you havn't faced it yet, but it pissed me off, so I wanted my games as card2. And after I wrote a universal script for that conversion I thought: "Hey, why not releasing it. Maybe others need it too."
     
    Last edited by onepiecefreak, Apr 25, 2016
    Ammako likes this.
  17. Ruby Gloom

    Ruby Gloom GBAtemp Maniac

    Member
    1,553
    505
    Sep 25, 2015
    Dalvík, Iceland
    I'm not saying it's a bad tool. I'm saying it's amazing work, but I was stating I didn't a use for it until now.
     
  18. onepiecefreak
    OP

    onepiecefreak The Special One

    Member
    381
    129
    Aug 12, 2015
    Germany
    No, no you got me wrong. I didn't see your post as a critic. If you never faced that issue it's good for you. Really. And if you don't need it. It's fine. But if you ever want to convert, then... here it is. Come here and get the script. ;)
     
    Last edited by onepiecefreak, Apr 25, 2016
    Voxel and Ruby Gloom like this.
  19. cvskid

    cvskid GBAtemp Addict

    Member
    2,156
    772
    Apr 13, 2014
    United States
    So i use this to convert card 1 type to card 2 type. Does the .sav file that goes with the card type 1 game get injected into the rom when it is converted to card 2 type? If so do you lose your .sav file from when it was a card 1 type rom?
     
  20. onepiecefreak
    OP

    onepiecefreak The Special One

    Member
    381
    129
    Aug 12, 2015
    Germany
    The .sav you created with a card1 game won't be touched by that conversion. You didn't lose your savegame but you havn't it in the card2 game either. It's laying on the SD Card and won't be used.
    If you want to get it in the card2 converted game, follow this tutorial to extract the save files from the .sav, used in card1 game:
    http://gbatemp.net/threads/tutorial-export-import-save-games-to-3ds-3dz-retail-carts.391154/

    The step you have to follow is Step A. Then you have extracted the .sav file.
    After that you load the ROM from your card2 game and just import the extracted save into the CTR Card with a tool like SaveGameFiler.

    Thats it. So you can export/import your savefile.

    If you need help, I had to use it since I want my saves in card2 games, too.

    P.S: I thought it would be nice that a conversion from card2 to card1 didn't erase your save.
    Look, if you don't delete it, the game doesn't work after the conversion. That's the reason why it has to be erased. But I can try to write a little bit extra code for that script to copy the data that will be erased into a separate file or something like that.
    I don't know if this is a valuable savefile. That needs some research. But if you want that feature I will try my best to realize it.
     
    Last edited by onepiecefreak, Apr 25, 2016
    cvskid likes this.