Hacking Hack SXOS

lordelan

Well-Known Member
Member
Joined
Jan 4, 2015
Messages
5,840
Trophies
1
Age
44
XP
6,637
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,095
Trophies
1
XP
21,297
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,840
Trophies
1
Age
44
XP
6,637
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,095
Trophies
1
XP
21,297
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,778
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,840
Trophies
1
Age
44
XP
6,637
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,095
Trophies
1
XP
21,297
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,238
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,142
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
955
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,238
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
  • Xdqwerty @ Xdqwerty:
    updated ship of harkinian, gonna install some hd texture pack
  • Xdqwerty @ Xdqwerty:
    I might download rayman revolution for my ps3
  • BigOnYa @ BigOnYa:
    I may try the new ram site, and download more RAM to my Switch. Not sure if ddr3 is the right ram
    for it tho. Edit- no it uses floppy Ram, just like @AncientBoi
    +1
  • Xdqwerty @ Xdqwerty:
    aeiou
  • BigOnYa @ BigOnYa:
    And sometimes Z
  • SylverReZ @ SylverReZ:
    @K3Nv2, MAGA supporters be wearing tin foil hats lol.
    +1
  • Xdqwerty @ Xdqwerty:
    @SylverReZ, whats maga?
  • BigOnYa @ BigOnYa:
    It stands for Maniacs Against General Acceptance
    +1
  • Xdqwerty @ Xdqwerty:
    @BigOnYa, people rejecting general consensus about stuff?
    +1
  • BigOnYa @ BigOnYa:
    Yup, nuh its really just Trump followers
  • Xdqwerty @ Xdqwerty:
    @BigOnYa, im not american so i dont care about trump
    +1
  • Xdqwerty @ Xdqwerty:
    or us elections
  • BigOnYa @ BigOnYa:
    Me niether, us north Koreans don't care
  • Xdqwerty @ Xdqwerty:
    good night
  • BakerMan @ BakerMan:
    i don't care either, even if i'm american
  • BakerMan @ BakerMan:
    truth be told, i agree with psi, i dislike both candidates, but i'd probably vote trump simply because the economy was better during his presidency
    +1
  • AngryCinnabon @ AngryCinnabon:
    Just be careful, if trump ends up winning and using project 2025 America might really change...for the worse.
  • AngryCinnabon @ AngryCinnabon:
    I'm not american and even that sends shivers down my spine.
  • AngryCinnabon @ AngryCinnabon:
    anything that offers trump an opportunity to become an actual dictator
    is bad in my book, i could care less if it wasn't for that...
  • K3Nv2 @ K3Nv2:
    Canada: America's Russia
  • NinStar @ NinStar:
    people are so dramatic that I can't even tell if they are being serious
  • Psionic Roshambo @ Psionic Roshambo:
    Why so serious!
  • Psionic Roshambo @ Psionic Roshambo:
    @BakerMan, yeah that's about the only reason I would vote for Trump over Biden.
  • Psionic Roshambo @ Psionic Roshambo:
    In my opinion on all other factors they are pretty much the same.
    Psionic Roshambo @ Psionic Roshambo: In my opinion on all other factors they are pretty much the same.