Hacking Hack SXOS

lordelan

Well-Known Member
Member
Joined
Jan 4, 2015
Messages
5,835
Trophies
1
Age
44
XP
6,619
Country
Germany
XCI are cartridge dump, NSP are eshop dump. We are not going to get XCI mounting from Team Reswitch, another developer probably have to do it, Xortroll tried but ultimate archived his fsp-usb project.
Did you even notice that I quoted you here?
https://gbatemp.net/threads/hack-sxos.582831/page-57#post-9483202
Please stop spreading false info about XorTroll. He was never interested to bring XCI mounting to Atmosphère. Not even for a second. He considers that to be piracy related and he hates piracy.
He "just" worked on USB support for homebrew in general which DarkMatterCore eventually achieved later on with his library (which for example pPlay is using now).
 

Hayato213

Newcomer
Member
Joined
Dec 26, 2015
Messages
20,075
Trophies
1
XP
21,245
Country
United States
Did you even notice that I quoted you here?
https://gbatemp.net/threads/hack-sxos.582831/page-57#post-9483202
Please stop spreading false info about XorTroll. He was never interested to bring XCI mounting to Atmosphère. Not even for a second. He considers that to be piracy related and he hates piracy.
He "just" worked on USB support for homebrew in general which DarkMatterCore eventually achieved later on with his library (which for example pPlay is using now).

https://github.com/XorTroll/fsp-usb

Perhaps you are blind, he was working on fsp-usb to mount and access drive and then he archived the project.
 
  • Like
Reactions: BaamAlex

lordelan

Well-Known Member
Member
Joined
Jan 4, 2015
Messages
5,835
Trophies
1
Age
44
XP
6,619
Country
Germany
https://github.com/XorTroll/fsp-usb

Perhaps you are blind, he was working on fsp-usb to mount and access drive and then he archived the project.
Perhaps you didn't read what I wrote.
"Enabling USB support for Atmosphère" and "XCI mounting from USB" are two different things. XorTroll tried to achieve the first (what DarkMatterCore later actually did) but he was never interested in the latter!
No offense here buddy. Just sayin'. Both your posts read like XorTroll tried to achieve XCI mounting from USB while he certainly did not.
 

Hayato213

Newcomer
Member
Joined
Dec 26, 2015
Messages
20,075
Trophies
1
XP
21,245
Country
United States
Perhaps you didn't read what I wrote.
"Enabling USB support for Atmosphère" and "XCI mounting from USB" are two different things. XorTroll tried to achieve the first (what DarkMatterCore later actually did) but he was never interested in the latter!
No offense here buddy. Just sayin'. Both your posts read like XorTroll tried to achieve XCI mounting from USB while he certainly did not.

You know you need access to drive in order to mount content from that drive, you said he hate piracy why he created goldleaf, that is a title installer. ScireM would be a better example of someone who doesn't support piracy.
 
Last edited by Hayato213,
  • Like
Reactions: Imancol and Cylent1

Imancol

Otak Productions
Member
Joined
Jun 29, 2017
Messages
1,376
Trophies
0
XP
2,774
Country
Colombia
nobody said anything when popstarter was modified to support HDD, just like Nintendont. The idea of being persecuted and imprisoned only applies if you market how I use Xecuter, the rest is already the responsibility of the user if you use what you modify from said chargers, and in this case, SXOS. For now, no one wants to support HDD emulators, much less NSP-XCI for the same reason, even though that library already exists.

--------------------- MERGED ---------------------------

XorTroll never tried to achieve XCI mounting. He only tried to make USB accessable from within Atmosphère which now is the case thanks to DarkMatterCore and his library.
If I can emulate Amiibos, you can do it with cartridges. Maybe he is already doing it personally ... oh, and when someone does, he will come saying that he is surprised that they have not done it before.
 

lordelan

Well-Known Member
Member
Joined
Jan 4, 2015
Messages
5,835
Trophies
1
Age
44
XP
6,619
Country
Germany
If I can emulate Amiibos, you can do it with cartridges.
lol
Because man-in-the-midd'ling the NFC background service is the same cup of tea as fooling the system into thinking an XCI file is a cartridge that I put in. :D
The latter is locked up behind keys and not as much researched as Amiibos which are literally hacked since the 3DS/Wii U era.
Of all persons capable of providing an XCI mounter I think the only one that really would do it (from a moral perspective) might be Blawar.

You know you need access to drive in order to mount content from that drive, you said he hate piracy why he created goldleaf, that is a title installer. ScireM would be a better example of someone who doesn't support piracy.
I don't second XorTroll's opinion about what piracy is and what not (he considers NSZ files to be piracy thus he didn't include NSZ support in Goldleaf while he - as you stated - supported NSP files ever since) but in general he is strictly against piracy.
As is SciresM and as is m4xw (the dev of Horizon's RetroArch port).
All of them have different opinions about what counts as piracy and what not.
As mentioned, XorTroll approves NSP while he dislikes NSZ.
m4xw ported multiple emulators but he refused to include USB support into RetroArch for - as he said - anti-piracy reasons.
You might think "lol", especially about the latter, but yeah. They are individuals and have their individual definition about what piracy includes and what not. I personally don't see why it's a difference for RetroArch whether I can use a 1 TB mSD card or an external 1 TB SSD for my roms and many people might agree with me here (especially since for example the Wii U port of RetroArch does support USB) but it's not for us to decide.
Still everyone is free to create a pull request with a USB support implementation for RetroArch. I for myself am not able to do so though.

But yes (to answer your question), I know that USB access is needed for XCI mounting (obviously). Still XorTroll only wanted USB access in general for things like pPlay or other homebrews but definitely never for XCI mounting (although it could have lead to it). On the other hand, we have it now thanks to DarkMatterCore and it hasn't lead to it yet.
 
Last edited by lordelan,

Hayato213

Newcomer
Member
Joined
Dec 26, 2015
Messages
20,075
Trophies
1
XP
21,245
Country
United States
lol
Because man-in-the-midd'ling the NFC background service is the same cup of tea as fooling the system into thinking an XCI file is a cartridge that I put in. :D
The latter is locked up behind keys and not as much researched as Amiibos which are literally hacked since the 3DS/Wii U era.
Of all persons capable of providing an XCI mounter I think the only one that really would do it (from a moral perspective) might be Blawar.


I don't second XorTroll's opinion about what piracy is and what not (he considers NSZ files to be piracy thus he didn't include NSZ support in Goldleaf while he - as you stated - supported NSP files ever since) but in general he is strictly against piracy.
As is SciresM and as is m4xw (the dev of Horizon's RetroArch port).
All of them have different opinions about what counts as piracy and what not.
As mentioned, XorTroll approves NSP while he dislikes NSZ.
m4xw ported multiple emulators but he refused to include USB support into RetroArch for - as he said - anti-piracy reasons.
You might think "lol", especially about the latter, but yeah. They are individuals and have their individual definition about what piracy includes and what not. I personally don't see why it's a difference for RetroArch whether I can use a 1 TB mSD card or an external 1 TB SSD for my roms and many people might agree with me here (especially since for example the Wii U port of RetroArch does support USB) but it's not for us to decide.
Still everyone is free to create a pull request with a USB support implementation for RetroArch. I for myself am not able to do so though.

But yes (to answer your question), I know that USB access is needed for XCI mounting (obviously). Still XorTroll only wanted USB access in general for things like pPlay or other homebrews but definitely never for XCI mounting (although it could have lead to it). On the other hand, we have it now thanks to DarkMatterCore and it hasn't lead to it yet.

Because NSZ and XCZ are not official formats, XCI and NSP are official formats. Websites that host warez doesn't allow compressed format. You said he doesn't support piracy then why he created Goldleaf.
 

mrdude

Developer
Developer
Joined
Dec 11, 2015
Messages
3,071
Trophies
1
Age
56
XP
8,237
Because NSZ and XCZ are not official formats, XCI and NSP are official formats. Websites that host warez doesn't allow compressed format. You said he doesn't support piracy then why he created Goldleaf.
Look guys, you are going WAY OFF topic, this thread is about SXOS hacking - so start a new thread for your petty squabbles and keep it out of this one. Now try and get back on topic, you know - about SXOS.
 

mspy

Well-Known Member
Member
Joined
Jul 29, 2018
Messages
339
Trophies
0
XP
2,141
Country
Brazil
lol
Because man-in-the-midd'ling the NFC background service is the same cup of tea as fooling the system into thinking an XCI file is a cartridge that I put in. :D
The latter is locked up behind keys and not as much researched as Amiibos which are literally hacked since the 3DS/Wii U era.
Of all persons capable of providing an XCI mounter I think the only one that really would do it (from a moral perspective) might be Blawar.


I don't second XorTroll's opinion about what piracy is and what not (he considers NSZ files to be piracy thus he didn't include NSZ support in Goldleaf while he - as you stated - supported NSP files ever since) but in general he is strictly against piracy.
As is SciresM and as is m4xw (the dev of Horizon's RetroArch port).
All of them have different opinions about what counts as piracy and what not.
As mentioned, XorTroll approves NSP while he dislikes NSZ.
m4xw ported multiple emulators but he refused to include USB support into RetroArch for - as he said - anti-piracy reasons.
You might think "lol", especially about the latter, but yeah. They are individuals and have their individual definition about what piracy includes and what not. I personally don't see why it's a difference for RetroArch whether I can use a 1 TB mSD card or an external 1 TB SSD for my roms and many people might agree with me here (especially since for example the Wii U port of RetroArch does support USB) but it's not for us to decide.
Still everyone is free to create a pull request with a USB support implementation for RetroArch. I for myself am not able to do so though.

But yes (to answer your question), I know that USB access is needed for XCI mounting (obviously). Still XorTroll only wanted USB access in general for things like pPlay or other homebrews but definitely never for XCI mounting (although it could have lead to it). On the other hand, we have it now thanks to DarkMatterCore and it hasn't lead to it yet.
Are we to believe that it is all about the morality of being against 'piracy' and not about wanting to incur on nintendo wrath by crossing this imaginary line that people for whatever reason seem to believe nintendo has put in place regarding XCI loading despite the fact that one can already perfectly play all games on NSP format and at the same time install XCI games? In a world where nintendo didn't care and 'piracy' was totally legal would anyone really think that 'morality reasons' for not developing an XCI loader would even be consider?
Bottom line is it seems any dev that can do XCI loading is afraid of getting sued. Still I don't get why as of today no one did it without taking the credit and dropped it anonymously on the internet... I guess going by without any epeen is too much to ask this days.
 

Teddie

Member
Newcomer
Joined
Oct 29, 2020
Messages
23
Trophies
0
Age
25
XP
944
Country
Argentina
Beautiful work! Only problem i have is that everytime i try chainloading sx payload with latest hekate the screen goes black after nintendo logo. And also sometimes it throws me error 2162-0002 when loading list of xci games on my hdd. But i think those are sx fw problems rather than this script. I love the gbatemp community!
 

mrdude

Developer
Developer
Joined
Dec 11, 2015
Messages
3,071
Trophies
1
Age
56
XP
8,237
It doesn't crash for me, you can compile yourself - and mod what you need:
Code:
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <direct.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <iostream>
#include <cstdint>

#include <filesystem> // C++17 standard header file name
using namespace std::filesystem;


const char gfxin[13][20] = { {"themes/menu_bg.bmp"},
                            {"themes/bootcfw.bmp"},
                            {"themes/holder.bmp"},
                            {"themes/bootofw.bmp"},
                            {"themes/options.bmp"},
                            {"themes/core.bmp"},
                            {"themes/autorcm.bmp"},
                            {"themes/nand.bmp"},
                            {"themes/emunand.bmp"},
                            {"themes/repair.bmp"},
                            {"themes/launch.bmp"},
                            {"themes/poweroff.bmp"},
                            {"themes/splash.bmp"} };

const char gfxout[13][20] = { {"out/menu_bg.bin"},
                                {"out/bootcfw.bin"},
                                {"out/holder.bin"},
                                {"out/bootofw.bin"},
                                {"out/options.bin"},
                                {"out/core.bin"},
                                {"out/autorcm.bin"},
                                {"out/nand.bin"},
                                {"out/emunand.bin"},
                                {"out/repair.bin"},
                                {"out/launch.bin"},
                                {"out/poweroff.bin"},
                                {"out/splash.bin"} };

int size_gfx[13] = { 0x3c1000,0x41000,0x41000,0x41000,0x41000,0x5000,0x5000,0x5000,0x5000,0x5000,0x5000,0x5000,0x3c1000 };
int size_gfx_reso_x[13] = { 0x2D0,0x100,0x100,0x100,0x100,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x2D0 };
int size_gfx_reso_y[13] = { 0x500,0x100,0x100,0x100,0x100,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x500 };
int size;

int main()
{
    int count;
    const char* directory = "out";
   
    if (!_mkdir(directory) == 0)
    {
        for (const auto& entry : std::filesystem::directory_iterator(directory))
            std::filesystem::remove_all(entry.path());       
        rmdir(directory);
    }
   
    for (count = 0; count < 13; count++)
    {
        int i;
        int j;
        int x;
        int y;
        //int z;
        int size_header;

        char* tmp_in;
        char* tmp_out;

        FILE* file_in;
        FILE* file_out;

        if ((file_in = fopen(gfxin[count], "rb")) == NULL) { printf("no file: %s \n", gfxin[count]); continue; }

        tmp_in = (char*)malloc(size_gfx[count] * sizeof(char));
        fread(tmp_in, size_gfx[count], 1, file_in);
        size_header = tmp_in[0xa] & 0xff;

        file_out = fopen(gfxout[count], "wb");
        tmp_out = (char*)malloc(size_gfx[count] * sizeof(char));

        if (count == 12) {
            j = 0;
            i = 0;
            for (x = 1; x < (size_gfx_reso_y[count] + 1); x++)
            {

                for (y = size_gfx_reso_x[count]; y > 0; y--)
                {
                    tmp_out[j + 0] = tmp_in[size_header + ((size_gfx_reso_y[count] * y * 4) - (x * 4)) + 2];
                    tmp_out[j + 1] = tmp_in[size_header + ((size_gfx_reso_y[count] * y * 4) - (x * 4)) + 1];
                    tmp_out[j + 2] = tmp_in[size_header + ((size_gfx_reso_y[count] * y * 4) - (x * 4)) + 0];
                    tmp_out[j + 3] = tmp_in[size_header + ((size_gfx_reso_y[count] * y * 4) - (x * 4)) + 3];
                    j += 4;
                }

                for (i = 0; i < 0xC0; i += 1)
                {
                    tmp_out[j + i] = 0x0;
                }
                j += i;
            }

        }
        else {
            j = 0;
            for (x = size_gfx_reso_x[count]; x > 0; x--)
            {
                for (y = size_gfx_reso_y[count]; y > 0; y--)
                {
                    tmp_out[j + 0] = tmp_in[size_header + ((size_gfx_reso_y[count] * x * 4) - (y * 4)) + 2];
                    tmp_out[j + 1] = tmp_in[size_header + ((size_gfx_reso_y[count] * x * 4) - (y * 4)) + 1];
                    tmp_out[j + 2] = tmp_in[size_header + ((size_gfx_reso_y[count] * x * 4) - (y * 4)) + 0];
                    tmp_out[j + 3] = tmp_in[size_header + ((size_gfx_reso_y[count] * x * 4) - (y * 4)) + 3];
                    j += 4;
                }
            }
        }

        fwrite(tmp_out, (size_gfx[count] - 4096), 1, file_out);
        fclose(file_out);
        fclose(file_in);
        free(tmp_in);
        free(tmp_out);
        printf("file convert success : %s \n", gfxin[count]);
    }
    printf("success !!!\n");
}
 
Last edited by mrdude,
  • Like
Reactions: chronoss

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • Psionic Roshambo @ Psionic Roshambo:
    Sentinel of the stary skies
  • K3Nv2 @ K3Nv2:
    Ds is 20 years old this year
  • Psionic Roshambo @ Psionic Roshambo:
    So MJ no longer wants to play with it?
  • K3Nv2 @ K3Nv2:
    He put it down when the 3ds came out
  • SylverReZ @ SylverReZ:
    @K3Nv2, RIP Felix does great videos on the PS3 yellow-light-of-death.
  • Jayro @ Jayro:
    Eventhough the New 3DS XL is more powerful, I still feel like the DS Lite was a more polished system. It's a real shame that it never got an XL variant keeping the GBA slot. You'd have to go on AliExpress and buy an ML shell to give a DS phat the unofficial "DS Lite" treatment, and that's the best we'll ever get I'm afraid.
    +1
  • Jayro @ Jayro:
    The phat model had amazingly loud speakers tho.
    +1
  • SylverReZ @ SylverReZ:
    @Jayro, I don't see whats so special about the DS ML, its just a DS lite in a phat shell. At least the phat model had louder speakers, whereas the lite has a much better screen.
    +1
  • SylverReZ @ SylverReZ:
    They probably said "Hey, why not we combine the two together and make a 'new' DS to sell".
  • Veho @ Veho:
    It's a DS Lite in a slightly bigger DS Lite shell.
    +1
  • Veho @ Veho:
    It's not a Nintendo / iQue official product, it's a 3rd party custom.
    +1
  • Veho @ Veho:
    Nothing special about it other than it's more comfortable than the Lite
    for people with beefy hands.
    +1
  • Jayro @ Jayro:
    I have yaoi anime hands, very lorge but slender.
  • Jayro @ Jayro:
    I'm Slenderman.
  • Veho @ Veho:
    I have hands.
  • BakerMan @ BakerMan:
    imagine not having hands, cringe
    +1
  • AncientBoi @ AncientBoi:
    ESPECIALLY for things I do to myself :sad:.. :tpi::rofl2: Or others :shy::blush::evil:
    +1
  • The Real Jdbye @ The Real Jdbye:
    @SylverReZ if you could find a v5 DS ML you would have the best of both worlds since the v5 units had the same backlight brightness levels as the DS Lite unlockable with flashme
  • The Real Jdbye @ The Real Jdbye:
    but that's a long shot
  • The Real Jdbye @ The Real Jdbye:
    i think only the red mario kart edition phat was v5
  • BigOnYa @ BigOnYa:
    A woman with no arms and no legs was sitting on a beach. A man comes along and the woman says, "I've never been hugged before." So the man feels bad and hugs her. She says "Well i've also never been kissed before." So he gives her a kiss on the cheek. She says "Well I've also never been fucked before." So the man picks her up, and throws her in the ocean and says "Now you're fucked."
    AncientBoi @ AncientBoi: :O:ohnoes::lol::rofl::rofl2: