a tool to make converting dsiware from 3ds to dsi easier

Discussion in '3DS - Games & Content' started by MarioMasta64, Aug 7, 2017.

  1. MarioMasta64
    OP

    MarioMasta64 hi. i make batch stuff and portable shiz

    Member
    1,888
    408
    Dec 21, 2016
    United States
    warnings:
    do not edit anything while this is running; its mostly only a poc atm it can have its moments.
    the script for the most part is finished but still dont edit anything while its running. thats an obvious nono.
    if you mount via ofs dont use the automatic copier. inject 1 title at a time. im unsure why this happens but idk. ofsmount is buggy.
    despite my issues it seems that someone else used this successfully with the copy portion (even tho i havent). this is only 1 confirm plz wait for more before you try it unless you know what youre doing and how to unbrick e.e

    instructions:
    launch gm9 by holding start and selecting it in the chainloader
    afterwards goto twln:
    press r+a on twln:\title\ or twln:\title\00030004\
    select copy to sd:\gm9out\ (sd:\gm9\out\ if youre using the newer build)
    shutdown and put your sd card into the pc

    get the tmd pack from and extract it to the same directory as everything else
    title.tmd files can be downloaded straight from nus ;P

    get twtool from:
    https://gbatemp.net/threads/release-twltool-dsi-downgrading-save-injection-etc-multitool.393488/
    https://github.com/Nuck-TH/fwTool/releases/ (maintained by Nuck-TH with added safety checks use the above link if youre using ugopwn or 4swordshax)
    and extract all the files from it with the rest of the stuff (everything is on root. yea. might change in the future)

    dump your dsi nand (i wont cover this)
    decrypt your dsi nand (also wont cover it)
    mount your dsi nand (i could cover this but eh.)
    decrypt any ticket from your mounted nand (also wont be covering it)
    for above items see: https://gbatemp.net/threads/photo-g...backups-on-real-hardware-and-emulator.476817/

    run start.bat and have fun. once its finished any titles that tmd files werent found for will be stored in .\error\
    titles that sha-1 didnt match the one contained in the downloaded title.tmd are stored in .\risky\ for manual install.
    you can now copy .\title\ to dsi nand

    after this you can reencrypt your tickets and nand and restore to dsi

    thanks to @Larsenv for the .py files. if it werent for those this project wouldve never been finished.

    the project can now copy things to nand without worrying about space restrain. it will now not copy if theres not enough room for it ;P

    included within the archive is an encrypt.bat simply change the drive letter to your nand mount and the long string to your console id

    just to make things *extra* clear. you dont do this on the 3ds you only dump the folders to sd with 3ds. everything is done on dsi.
     

    Attached Files:

    Last edited by MarioMasta64, Aug 18, 2017


  2. Jhynjhiruu

    Jhynjhiruu GBAtemp Fan

    Member
    454
    92
    Dec 31, 2016
    Wow.
     
    MarioMasta64 likes this.
  3. MarioMasta64
    OP

    MarioMasta64 hi. i make batch stuff and portable shiz

    Member
    1,888
    408
    Dec 21, 2016
    United States
    theres a guide that exists (one i linked) that shows you how to do this. i was too lazy to edit like 48 files tho. so i decided to make this. most of the more needed stuff was made by larsenv (hex editing with python and stuff) i just made some batch stuff.
     
  4. MarioMasta64
    OP

    MarioMasta64 hi. i make batch stuff and portable shiz

    Member
    1,888
    408
    Dec 21, 2016
    United States
    seems i forogt a think. i forgot to put the ticket files into their title-id high folders. will update post with this implemented.

    — Posts automatically merged - Please don't double post! —

    updated archive with folder tickets:

    — Posts automatically merged - Please don't double post! —

    i need to put in a create folder thingy
     

    Attached Files:

  5. Ryccardo

    Ryccardo WiiUaboo

    Member
    3,026
    1,458
    Feb 13, 2015
    Italy
    Imola
    Interesting! Python 2 or 3 required?
     
    MarioMasta64 likes this.
  6. MarioMasta64
    OP

    MarioMasta64 hi. i make batch stuff and portable shiz

    Member
    1,888
    408
    Dec 21, 2016
    United States
    yes. however i could make a version that doesnt require it. im working on fixing the code that moves the tickets atm. currently they all go in .\ticket\ however they should be like .\ticket\0030004\
     
  7. Ryccardo

    Ryccardo WiiUaboo

    Member
    3,026
    1,458
    Feb 13, 2015
    Italy
    Imola
    Oh, I meant, which one of 2 vs 3? or any of the two doesn't matter? :)
     
    MarioMasta64 likes this.
  8. MarioMasta64
    OP

    MarioMasta64 hi. i make batch stuff and portable shiz

    Member
    1,888
    408
    Dec 21, 2016
    United States
    2 should work. however this was made with 3 in mind (all that was done was parenthesis were added so it should be fine with 2)

    — Posts automatically merged - Please don't double post! —

    code change: tickets are now stored in their proper directories

    — Posts automatically merged - Please don't double post! —

    just got done injecting these into my nand. gonna test it with no$gba and post results.
     

    Attached Files:

    Ryccardo likes this.
  9. MarioMasta64
    OP

    MarioMasta64 hi. i make batch stuff and portable shiz

    Member
    1,888
    408
    Dec 21, 2016
    United States
    can some dsiware titles just not be installed onto a dsi?

    — Posts automatically merged - Please don't double post! —

    some titles tend to freeze up the emulator if installed.
     
  10. MarioMasta64
    OP

    MarioMasta64 hi. i make batch stuff and portable shiz

    Member
    1,888
    408
    Dec 21, 2016
    United States
    okay nvm i just had the wrong firmware files. so yea this works as far as ive tested.

    — Posts automatically merged - Please don't double post! —

    btw i forgot to mention. you still have to manually reencrypt the tickets.

    — Posts automatically merged - Please don't double post! —

    welp. some dsi titles cant be copied like this. so the whole purpose of this is defeated.

    — Posts automatically merged - Please don't double post! —

    if anyone could tell me which things cant be copied maybe i could fix this.
     
  11. MarioMasta64
    OP

    MarioMasta64 hi. i make batch stuff and portable shiz

    Member
    1,888
    408
    Dec 21, 2016
    United States
    heres my specific question that i need answered:
    if a ticket is invalid and a dsi app is installed. will it boot to "an error has occured" or just not show the title
    im asking that not if a ticket doesnt exist. but if its invalid.
    say if theres 1 byte too short or if a value was put in a different place.
     
    Last edited by MarioMasta64, Aug 7, 2017
  12. MarioMasta64
    OP

    MarioMasta64 hi. i make batch stuff and portable shiz

    Member
    1,888
    408
    Dec 21, 2016
    United States
  13. Trumpasaurus

    Trumpasaurus GBAtemp Regular

    Member
    167
    57
    Jul 8, 2017
    United States
    If you have CFW, the game will work. You have to check the compatibility list though. Not all games will work. Honestly? It's not worth it to play most DS games on the 3DS via TWLoader. They've made tremendous progress with it, but unfortunately stupid Nintendo designed it so its limited to that NAND. It's so unstable. I ended up buying a R4 from that site that advertises here. Kek. I guess ads work.
     
    MarioMasta64 likes this.
  14. MarioMasta64
    OP

    MarioMasta64 hi. i make batch stuff and portable shiz

    Member
    1,888
    408
    Dec 21, 2016
    United States
    okay one step closer: https://cdn.discordapp.com/attachments/246367059389317120/344267825868701706/image.png
    it boots now. no "an error has occured" turns out i forgot to reencrypt the tickets as per my own instructions lol.
    however. the injected titles still arent showing up. im working on this now.

    — Posts automatically merged - Please don't double post! —

    yea no. thats not what im doing. this is something to transfer dsiware from 3ds to dsi.
     
  15. Trumpasaurus

    Trumpasaurus GBAtemp Regular

    Member
    167
    57
    Jul 8, 2017
    United States
    Kudos to you if you can make it work. The file systems are completely different, so it's tough to get them running right unless they sit down and comb out the issues. Otherwise, Nintendo would have just released all DS games on the eshop (aside from the rights-related issues). It would have made them a lot more money.

    But it's kind of like XBox One's backwards compatibility program. It's possible to get stuff running, but software engineers just have to get the kinks worked out. And that takes time and time is money.
    It still would have been amazing to have all DS games released for 3DS. I wonder how much more money they would have made?
     
    MarioMasta64 likes this.
  16. MarioMasta64
    OP

    MarioMasta64 hi. i make batch stuff and portable shiz

    Member
    1,888
    408
    Dec 21, 2016
    United States
    im pretty sure i found the problem: upload_2017-8-7_20-7-59.png
    being the multiple .app files
     
  17. MarioMasta64
    OP

    MarioMasta64 hi. i make batch stuff and portable shiz

    Member
    1,888
    408
    Dec 21, 2016
    United States
    working on making it first delete the .app store for dsiware in nand and then copy the files. that way multiple .app files wont exist.
     
  18. MarioMasta64
    OP

    MarioMasta64 hi. i make batch stuff and portable shiz

    Member
    1,888
    408
    Dec 21, 2016
    United States
    well. i got the title in nand now. trying to figure out whats wrong. apparently something is wrong with the .tmd file.
     
  19. MarioMasta64
    OP

    MarioMasta64 hi. i make batch stuff and portable shiz

    Member
    1,888
    408
    Dec 21, 2016
    United States
    the .app files were corrupt:
    progress is being made and fast:
    upload_2017-8-7_21-57-44.png
    now i just need to figure out how much space is free so i can know how much i can copy

    — Posts automatically merged - Please don't double post! —

    because if too much is copied "an error has occured" happens. this shouldnt be too hard tho. i might add in a selection thing too.

    — Posts automatically merged - Please don't double post! —

    heres an updated archive if you wish to test it out. (id reccomend against using it to install the files to nand after its done as xcopy ignores filesize limits) also if you would like to inject your tickets heres a script to make encrypting faster:
    Code:
    @echo off
    cls
    Color 0A
    title encrypt tickets
    
    cd ticket
    for /D %%A IN ("*") DO (
      cd %%A
        for /F %%B IN ('dir /b *.tik') DO (
          :: change to your console id
          ..\..\twltool syscrypt --consoleid <console id> --in %%B --out <drive letter of dsi nand mount>:\ticket\%%A\%%B --encrypt
        )
      )
      cd ..
    )
    cd ..
    pause
    — Posts automatically merged - Please don't double post! —

    place this file as <any name>.bat in the same folder as everything else

    — Posts automatically merged - Please don't double post! —

    also thank you @Robz8 for sitting with me and helping me find out the things i was doing wrong and the things i was doing right. if it werent for you answering my questions this wouldve taken weeks and i wouldve probably given up.
     

    Attached Files:

  20. Diego788

    Diego788 GBAtemp Fan

    Member
    329
    114
    Jun 27, 2014
    Chile
    Santiago, Chile
    woah!
    very nice
     
    MarioMasta64 likes this.