Giter VIP home page Giter VIP logo

threesd's People

Contributors

zhaowenlan1779 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

threesd's Issues

Implement Dump and Decrypt CXI/CIA

Would be a cool addition. In the Select Contents list, add a context menu on titles. Probably say: Dump CXI file and Build CIA (standard) to match GodMode9.

However, this would require me to add all the NCCH decryption types (and seed encryption) in.

Unjustified "Version dismatch"

I did use the files from the same release of ThreeSD, yet the software still detects a "Version Dismatch" what could I do to fix this ? Also, I noticed that, when it is done dumping, GodMode9 (I'm using version 1.7.0) shows an error message saying "unknown cmd", does that perhaps have something to do with my initial problem ? Thanks in advance for any help.

boot9.bin is not in VRAM if fastboot3DS is used

fastboot3DS is a bootloader for the 3DS recommended by GodMode9. In a vanilla installation of fastboot3DS, boot9.bin is not in VRAM. The script will fail every time when trying to copy boot9.bin.

In a normal installation of fastboot3DS (at least on my 3DS), boot9.bin should already be in /gm9/out.

Workarounds

My hotfix was to comment the line that performs the boot9 copy operation and manually copy over boot9.bin. I personally recommend:

  • Modifying the GM9 script to check if boot9.bin is in /gm9/out second (fastboot3DS is optional) and copy when found.
  • Changing the wiki to notify the user to either change fastboot3DS settings (untested and lacks documentation) or to chainload GM9 through Luma3DS instead of fastboot3DS.

ThreeSD won't detect content in the SD card

I select the SD card, click ok, but the program says there're no contents available
threesd_1
threesd_2

The files dumped by the .gm9 script are present, but it still won't detect any contents, is it because my SD card is detected as an USB device? (I'm using a micro SD to USB adapter)
threesd_3

crash on batch build cia

I am able to import my games into citra sucessfully using threesd 6.1. However when trying to build cia's using the batch build cia option the program crashes. It doesn't matter what titles i select it always crashes on import. Also, I'm using the "standard" build option. Please help, thanks. Here is the log
threeSD_log.txt
please take a look and let me know what can be done. Thanks

Mac application won't boot

When I try to open the macOS release of threeSD, I just get the message, "The application "threeSD" can't be opened." I get the same error with the older releases that have a Mac port as well. I'm running macOS Mojave, version 10.14.6.

Add instructions for FTP users, or an FTP mode

I unfortunately didn't have an SD card reader to plug my SD card into my computer, so I had to resort to FTP. It is indeed possible to do it via FTP by following these steps:

  • Copy the script to the gm9/scripts folder (like normal) and run it
  • When done, create a new folder on the computer and download the threeSD folder to it
  • Recreate the folder structure up to the ID1 folder, so create a Nintendo 3DS folder, then a folder with the ID0, and inside that a folder with the ID1
  • Run the exe and point it to the folder that was created folder

Alternatively the program could connect to the 3DS via FTP and do everything automatically, but that's probably not worth the work since it's pretty easy to do it manually

Files not found

Ok, first, it could not get "zlib1.dll" and "libzstd.dll." I added those and now I get this.

Okay button greyed out

Okay button greyed out on select contents window on the last step of the guide

Using MacOS 14.1
godmode9 2.1.1

Importer Error

threeSD Importer Error
Followed the instructions but I keep getting this error.

Imports to wrong folder for Flatpak install on Fedora 33

Hello,

I installed Citra via Flatpak on my Fedora 33 machine. Its Citra folder is:

~/.var/app/org.citra_emu.citra/data/citra-emu

However, threeSD imports content into:

~/.local/share/citra-emu/

This was surprising to me because the QuickStart Guide said to open the binary directly when using Flatpak, and the app UI itself said "Import destination: User-wide Citra install."

I worked around this issue by creating a symlink.

Thanks for making this tool! It worked fantastically. Looking forward to playing my 3DS games at high resolution.

Extdata Corruption

Tested on Windows 11 with versions 0.6.1 and 0.5.4.

Pokemon main-series games, at least, report extdata corruption when using this tool. This is particularly observable with user/filelist.txt, which corrupts about 4000 characters in.

Crash when opening Jap filesystem folder linked to rednand

The app works when I select the folder of my EU nand, but it insta-crashes when selecting the japanese one, altough it's reported as "good", because it's the one linked to my regionchanged rednand.
Would it be possible to dump the files in the rednand in the future too?
Thanks.

[Help] Importing threeSD's NCCH files back unto an SD Card

ThreeSD worked fine dumping SD Card 1[NAmerica3DS] titles to Citra.
Is there a way to batch import those same titles that are on Citra to SD Card 2[JapanNew3DS]?

Simply copying the NCCH folder for a title -> the SD/Nintendo 3DS folder won't display the title on the 3DS home screen.

5VizqaH9T5

Where is the Save Location?

I don't know where threeSD (the Windows exe) exports files to. I know it's in C: (which isn't ideal, because I don't have any space there) but it's not written anywhere where exactly it saves to.
Might be obvious to some but... not to me.

Script can't run in GM9

Hey, I was following along to the guide here, but when i try to run the script, GM9 just says this:
0:/gm9/scripts/threeSDumper.gm9 line 9: too many arguments if not find $[OUT] NULL (<A> to continue)

I'm not sure if the fault is mine, or if there's a problem with the script, but it might be worth looking into.

Error when building on Manjaro Linux

On Manjaro Linux, when I try to compile, I get lots of errors.
I've only included the first few errors. I can provide the rest if needed.
Error:

[1/100] Building CXX object externals/cryptopp/CMakeFiles/cryptopp.dir/cryptopp/base64.cpp.o
FAILED: externals/cryptopp/CMakeFiles/cryptopp.dir/cryptopp/base64.cpp.o
/usr/bin/c++ -DARCHITECTURE_x86_64=1  -fPIC -std=gnu++20 -MD -MT externals/cryptopp/CMakeFiles/cryptopp.dir/cryptopp/base64.cpp.o -MF externals/cryptopp/CMakeFiles/cryptopp.dir/cryptopp/base64.cpp.o.d -o externals/cryptopp/CMakeFiles/cryptopp.dir/cryptopp/base64.cpp.o -c threeSD/externals/cryptopp/cryptopp/base64.cpp
In file included from threeSD/externals/cryptopp/cryptopp/basecode.h:10,
                 from threeSD/externals/cryptopp/cryptopp/base64.h:10,
                 from threeSD/externals/cryptopp/cryptopp/base64.cpp:5:
threeSD/externals/cryptopp/cryptopp/filters.h:1357:49: error: expected ‘)’ before ‘*’ token
 1357 |         SourceTemplate<T>(BufferedTransformation *attachment)
      |                          ~                      ^~
      |                                                 )
threeSD/externals/cryptopp/cryptopp/filters.h: In constructor ‘CryptoPP::StringSource::StringSource(CryptoPP::BufferedTransformation*)’:
threeSD/externals/cryptopp/cryptopp/filters.h:1386:57: error: no matching function for call to ‘CryptoPP::SourceTemplate<CryptoPP::StringStore>::SourceTemplate(CryptoPP::BufferedTransformation*&)’
 1386 |                 : SourceTemplate<StringStore>(attachment) {}
      |                                                         ^
threeSD/externals/cryptopp/cryptopp/filters.h:1350:7: note: candidate: ‘CryptoPP::SourceTemplate<CryptoPP::StringStore>::SourceTemplate()’
 1350 | class SourceTemplate : public Source
      |       ^~~~~~~~~~~~~~
threeSD/externals/cryptopp/cryptopp/filters.h:1350:7: note:   candidate expects 0 arguments, 1 provided
threeSD/externals/cryptopp/cryptopp/filters.h: In constructor ‘CryptoPP::StringSource::StringSource(const char*, bool, CryptoPP::BufferedTransformation*)’:
threeSD/externals/cryptopp/cryptopp/filters.h:1393:57: error: no matching function for call to ‘CryptoPP::SourceTemplate<CryptoPP::StringStore>::SourceTemplate(CryptoPP::BufferedTransformation*&)’
 1393 |                 : SourceTemplate<StringStore>(attachment) {SourceInitialize(pumpAll, MakeParameters("InputBuffer", ConstByteArrayParameter(string)));}
      |                                                         ^
threeSD/externals/cryptopp/cryptopp/filters.h:1350:7: note: candidate: ‘CryptoPP::SourceTemplate<CryptoPP::StringStore>::SourceTemplate()’
 1350 | class SourceTemplate : public Source
      |       ^~~~~~~~~~~~~~
threeSD/externals/cryptopp/cryptopp/filters.h:1350:7: note:   candidate expects 0 arguments, 1 provided
threeSD/externals/cryptopp/cryptopp/filters.h: In constructor ‘CryptoPP::StringSource::StringSource(const byte*, size_t, bool, CryptoPP::BufferedTransformation*)’:
threeSD/externals/cryptopp/cryptopp/filters.h:1401:57: error: no matching function for call to ‘CryptoPP::SourceTemplate<CryptoPP::StringStore>::SourceTemplate(CryptoPP::BufferedTransformation*&)’
 1401 |                 : SourceTemplate<StringStore>(attachment) {SourceInitialize(pumpAll, MakeParameters("InputBuffer", ConstByteArrayParameter(string, length)));}
      |                                                         ^
threeSD/externals/cryptopp/cryptopp/filters.h:1350:7: note: candidate: ‘CryptoPP::SourceTemplate<CryptoPP::StringStore>::SourceTemplate()’
 1350 | class SourceTemplate : public Source
      |       ^~~~~~~~~~~~~~
threeSD/externals/cryptopp/cryptopp/filters.h:1350:7: note:   candidate expects 0 arguments, 1 provided
threeSD/externals/cryptopp/cryptopp/filters.h: In constructor ‘CryptoPP::StringSource::StringSource(const string&, bool, CryptoPP::BufferedTransformation*)’:
threeSD/externals/cryptopp/cryptopp/filters.h:1408:57: error: no matching function for call to ‘CryptoPP::SourceTemplate<CryptoPP::StringStore>::SourceTemplate(CryptoPP::BufferedTransformation*&)’
 1408 |                 : SourceTemplate<StringStore>(attachment) {SourceInitialize(pumpAll, MakeParameters("InputBuffer", ConstByteArrayParameter(string)));}
      |                                                         ^
threeSD/externals/cryptopp/cryptopp/filters.h:1350:7: note: candidate: ‘CryptoPP::SourceTemplate<CryptoPP::StringStore>::SourceTemplate()’
 1350 | class SourceTemplate : public Source
      |       ^~~~~~~~~~~~~~
threeSD/externals/cryptopp/cryptopp/filters.h:1350:7: note:   candidate expects 0 arguments, 1 provided
threeSD/externals/cryptopp/cryptopp/filters.h: In constructor ‘CryptoPP::RandomNumberSource::RandomNumberSource(CryptoPP::RandomNumberGenerator&, int, bool, CryptoPP::BufferedTransformation*)’:
threeSD/externals/cryptopp/cryptopp/filters.h:1423:63: error: no matching function for call to ‘CryptoPP::SourceTemplate<CryptoPP::RandomNumberStore>::SourceTemplate(CryptoPP::BufferedTransformation*&)’
 1423 |                 : SourceTemplate<RandomNumberStore>(attachment)
      |                                                               ^
threeSD/externals/cryptopp/cryptopp/filters.h:1350:7: note: candidate: ‘CryptoPP::SourceTemplate<CryptoPP::RandomNumberStore>::SourceTemplate()’
 1350 | class SourceTemplate : public Source
      |       ^~~~~~~~~~~~~~
threeSD/externals/cryptopp/cryptopp/filters.h:1350:7: note:   candidate expects 0 arguments, 1 provided

imported files successfully, but citra remains blank

I went through the steps in the quickstart guide, and was able to successfully see my SD card and activate the program to import the data on it. But opening Citra prompts me to add a new folder to the game list, with a completely empty interface. I don't know where the files get imported to, and going through the appdata folder and adding those to the game list didn't seem to work at all. The guide didn't have any further information, and I'm not sure where else to ask.

Does it not work that way with the Citra Nightly 1966 version at present? If so, that's on me and I'll go swap out to the stable build. I still don't know where threeSD put the files or how to access them, though.

Change import destination based on Citra's config

I'm having trouble using threeSD due to low disk space. I use a small solid-state drive to boot up my operating system some important applications I use.

Because Citra installs its virtual SD card and NAND to the main drive's AppData folder by default, whenever I try to run threeSD, it stops due to low disk space on the main drive. However, I changed the Citra config so that the virtual SD and NAND are put onto another drive. For whatever reason, this is not reflected within threeSD, and the program tries to import my files to the default AppData directory anyways...

Is there any way I can change where exactly threeSD imports its files to?

Devil Survivor 2 not launching when dumped with threeSD

Hello there, back again.

As the title says, Devil Survivor 2 (EU) is not launching when dumped with threeSD. To make relatively sure it's not a corrupt image, I dumped it thrice with threeSD. None of which launched. Dumping with GM9 does seem to work though. Just thought you'd want to know, since this seems like there's something wrong with how threeSD does things, somehow. Not sure, I'm no programmer. Hope this is useful, and if you need more details, just ask.

Import prioritizes global Citra installation over portable

I have two SD cards with 3ds data, with some applications having save data on both cartridges. As Citra does not support having multiple instances of save data per application, I wanted to use a portable installation to store the extra data.

Unfortunately, threeSD seem to prioritize the global installation over the portable one, even when the threeSD executable is in the same folder as the citra-qt executable. This makes it impossible to import data to a portable Citra installation when a global one is present.

Bulk options for building CIAs?

As far as I know, this is the only PC-based tool for managing a 3DS formatted SD card. It has the really useful feature of being able to right click a game and build a backup CIA file, but only one at a time and the name for the file must be manually entered for each game. Would it be possible to allow the selection and batch creation of CIAs for multiple games in one task, or perhaps some command line options for it?

Unable to import files on Linux with Flatpak

I have tried opening and running 3sd in a number of directories on my Steam Deck, including home/deck/.local/share/citra-emu/ but it simply says "import successful" and I get no data. The available storage space on the destination does not change, indicating that no files actually transferred anywhere.

I made sure to select all items for importing including System Archives and System Data, but not System Applets as this gave a warning that I shouldn't do that one.

My ultimate goal here is that I'm trying to get Smash Bros 3DS fighter DLC imported so I can use Mewtwo and Cloud Strife. I previously set up Citra via Emudeck and imported the decrypted game files into the respective roms folder for 3DS. I can run Citra in Desktop mode successfully, but when doing so I don't see the "Ver 1.1.7" on top of Smash Bros like I have on the actual 3DS or on the Windows version of Citra. (I ran the Windows version of 3sd successfully and have all my data imported)

Build failure on linux in import_dialog.cpp

On Kubuntu 19.10 with kde backports (Qt 5.12) I get the following error while building:

`[ 91%] Building CXX object src/frontend/CMakeFiles/threeSD.dir/import_dialog.cpp.o
/home/faith/projects/3DS/threeSD/src/frontend/import_dialog.cpp: In member function ‘void ImportDialog::InsertSecondLevelItem(std::size_t, const Core::ContentSpecifier&, std::size_t, QString, QPixmap)’:

/home/faith/projects/3DS/threeSD/src/frontend/import_dialog.cpp:194:35: error: conversion from ‘std::size_t’ {aka ‘long unsigned int’} to ‘const QVariant’ is ambiguous

194 | checkBox->setProperty("id", id);
| ^
compilation terminated due to -Wfatal-errors.

make[2]: *** [src/frontend/CMakeFiles/threeSD.dir/build.make:76: src/frontend/CMakeFiles/threeSD.dir/import_dialog.cpp.o] Error 1

make[1]: *** [CMakeFiles/Makefile2:455: src/frontend/CMakeFiles/threeSD.dir/all] Error 2

make: *** [Makefile:84: all] Error 2
`

Unable to extract release archive

I do not know how to extract the release archive to obtain the .exe file, as I am unable to do anything with the .7z file

Edit: I should also mention that I am using Windows 10

Ability to Dump DSi software

Pretty much self explanatory. I'd like to request the ability to dump DSi software off my 3DS. Is there any chance this functionality can be implemented?

Script failed due to missing sdump

GodMode v1.9.0
threeSD v0.2.1

After some lines that execute, I get a

0:/gm9/scripts/threeSDumper.gm9
line 47: build failed
sdump -w seeddb.bin

Looking at https://github.com/d0k3/GodMode9/releases it seems this was included from 1.7.0 onwards. And checking recent sources at https://github.com/d0k3/GodMode9/blob/760052f20de51b81c418fbbfade13f5c7032b774/arm9/source/utils/scripting.c#L115 indicates the command is still mapped. Am I missing something obvious? Sorry, rather new to the homebrew scene.

Random crash

Apparently random crashes when importing. Tried to import from 3DS via microSD management tool, by copying the whole MicroSD onto my hard drive and choosing the root of the micro SD and by copying the microSD card content onto a USB stick formatted as FAT32. All resulted in crash. I have followed the quickstart guide and have run the script before doing any of the other things. It does not appear to crash on a specific file. Running as admin changes nothing. Forgot to mention that it takes longer for it to crash if I use MicroSD Management to slowly process the files over WiFi.

EDIT:
I got it working, but only for smaller files over WiFi with MicroSD Management. The larger files (the games) still crash it. Cut-off for crash seems to be around 150MB. I managed to import the game Harvest Moon:Skytree Village, which is only 90MB and it works.

ThreeSD does not recognize portable installation/changed folders

In Citra you can create a "user" folder to have all folders in a subdirectory instead of C:\Users[Name]\AppData\Roaming\Citra
and you can set nand/sdmc folders seperately

ThreeSD recognized neither and just created a new folder in C:\Users[Name]\AppData\Roaming\Citra with subdirectories
Manually merging nand, sdmc, and sysdata folders solved it

But either something that checks citra's settings (if that is accessible) to determine the path, or a manual path selection for nand,sdmc and sysdata would be useful

Version mismatch error

I'm trying to access the games from my 3ds backup, but don't have it on me. I (think) I have all the necessary files from my backup to be able to do this (movable.sed and boot9.bin) but I cant quite figure out how to get it working without my 3ds. Whenever I try to use threesd it gives me the error "version mismatch". Any workarounds?

Importer does not initialize

Hi, I've been trying to use threeSD to dump updates and DLCs from my 3DS. I'm using the latest verstion of both GodMode9 and threeSD. The threeSDumper scrpit seems to work correctly, since after the process is completed no error messages are shown and a threeSD folder is created inside the SD card (which has 3.2 Gb of free space before performing the dump and around 2.9 Gb when the dump is finished).

The problem comes when I try to use threeSD.exe (in Windows 10). After selecting the SD root folder and clicking on "Ok" I get the following error message:

Importer Error
Failed to initalize the importer. Refer to the log for details.

I have tried to execute the .exe directly and I have also tried to execute it after copying it to the same folder as my citra-qt executable. I've also tried to look for the aforementioned log without success, I don't know where it is nor where it should be.

.gm9 script appears to do nothing

Running on an o3DS using GodMode9 v2.1.1. I copied the script to gm9/scripts, and I can select the script within GM9. Pressing A to run it gives me no prompt nor error but just goes right back to normal GM9 operation. Is there something I'm doing wrong? Thanks!

Freezes when boot9 is selected

hello! i'm hoping this isn't a big issue- but the title explains itself. When i select the boot9.bin file it freezes the application, and i'm not sure how long it takes. It does accept the movable.sed file easily, though! Any help is appreciated, thank you in advance.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.