Hardware Left joycon bricked using a tool called "Joycon toolkit"

Noah932282

Member
OP
Newcomer
Joined
Oct 10, 2019
Messages
6
Trophies
0
XP
78
Country
United States
So I was using a windows tool called joycon toolkit and what I've been doing with it is avoiding the link from my hacked switch and clean switch
basically I made a backup of both my joycon SPI's before doing any of this, when I use my hacked switch I change my joycon SNs to something fake and when
I use my clean switch I restore the backup I made, well I was doing this last night and in the middle of an SPI restore on my left joycon the program crashed
now this had some pretty weird results, my joycon is now detected by my switch and by the computer as a right joycon instead of a left joycon and the controls are inverted
and the left joycon can no longer be used attached to the console and the lights don't stay lit up when connected to the switch
so I tried restoring an SPI backup of the left joycon again hoping it would fix things
only to get an error from joycon toolkit saying that I cannot restore a backup for a left joycon onto a right joycon even though this is actually a left joycon
I'm lost and have no idea what to do, the joycon is basically bricked because joycon toolkit wont let me restore the proper backup
I was wondering if someone that knows how could mod the program to get rid of the restore limits?

EDIT:
My left joycon is now fixed
:) thank you CTCaer (dev) and moneyman4412
 
Last edited by Noah932282,
D

Deleted User

Guest
So I was using a windows tool called joycon toolkit and what I've been doing with it is avoiding the link from my hacked switch and clean switch
basically I made a backup of both my joycon SPI's before doing any of this, when I use my hacked switch I change my joycon SNs to something fake and when
I use my clean switch I restore the backup I made, well I was doing this last night and in the middle of an SPI restore on my left joycon the program crashed
now this had some pretty weird results, my joycon is now detected by my switch and by the computer as a right joycon instead of a left joycon and the controls are inverted
and the left joycon can no longer be used attached to the console and the lights don't stay lit up when connected to the switch
so I tried restoring an SPI backup of the left joycon again hoping it would fix things
only to get an error from joycon toolkit saying that I cannot restore a backup for a left joycon onto a right joycon even though this is actually a left joycon
I'm lost and have no idea what to do, the joycon is basically bricked because joycon toolkit wont let me restore the proper backup
I was wondering if someone that knows how could mod the program to get rid of the restore limits?
Why did you change the SN.... anyways I think you should contact the dev of the app and hope he can tell you how to restore
 

Noah932282

Member
OP
Newcomer
Joined
Oct 10, 2019
Messages
6
Trophies
0
XP
78
Country
United States
Why did you change the SN.... anyways I think you should contact the dev of the app and hope he can tell you how to restore
It was because I only have one pair of joycon and want to keep any trace of my hacked switch behind when using my clean switch
I asked for help on the switch haxing subreddit and someone told me there might be some people that could recompile the joycon toolkit without the restrictions
 
D

Deleted User

Guest
It was because I only have one pair of joycon and want to keep any trace of my hacked switch behind when using my clean switch
I asked for help on the switch haxing subreddit and someone told me there might be some people that could recompile the joycon toolkit without the restrictions
there is no data that can be stored on a joycon to be told if it was hacked or not.
 

Noah932282

Member
OP
Newcomer
Joined
Oct 10, 2019
Messages
6
Trophies
0
XP
78
Country
United States
there is no data that can be stored on a joycon to be told if it was hacked or not.
oh...well In that case it was just a dumb idea..:( but that's besides the point I need to fix this..because I don't have $80 to spend on new joycon...
do you know anything I can try in the mean time while I'm waiting for a reply from the dev?
 

JustBrandonT

Well-Known Member
Newcomer
Joined
Mar 11, 2018
Messages
75
Trophies
0
Age
34
XP
518
Country
Canada
oh...well In that case it was just a dumb idea..:( but that's besides the point I need to fix this..because I don't have $80 to spend on new joycon...
do you know anything I can try in the mean time while I'm waiting for a reply from the dev?

What's the EXACT message you got because there's no validation I can see in the source code that says "Cannot restore a left joycon onto a right joycon"..

I'd imagine it MIGHT be there but there's thousands (13K+) of lines of code..
 
Last edited by JustBrandonT,

Noah932282

Member
OP
Newcomer
Joined
Oct 10, 2019
Messages
6
Trophies
0
XP
78
Country
United States
What's the EXACT message you got because there's no validation I can see in the source code that says "Cannot restore a left joycon onto a right joycon"..

The exact message when attempting to load the backup file is: "The file is a "Joy-Con (L)" backup but your device is a "Joy-Con (R)"!

"Please try with a "Joy-Con (R)" SPI backup."
 

JustBrandonT

Well-Known Member
Newcomer
Joined
Mar 11, 2018
Messages
75
Trophies
0
Age
34
XP
518
Country
Canada
The exact message when attempting to load the backup file is: "The file is a "Joy-Con (L)" backup but your device is a "Joy-Con (R)"!

"Please try with a "Joy-Con (R)" SPI backup."
You can comment out lines:

4887 to 4901 of FormJoy.h, recompile it with Visual Studio 2017 or later and restore. You've got nothing more to lose so..

The exact lines are:

Code:
for (int i = 20; i < 22; i++) {
    if (validation_magic[i] != this->backup_spi[0x6012 + i - 20]) {
        MessageBox::Show(L"The file is a \"" + str_backup_dev_type
            + "\" backup but your device is a \"" + str_dev_type + "\"!\n\nPlease try with a \""
            + str_dev_type + "\" SPI backup.", L"Wrong backup!", MessageBoxButtons::OK, MessageBoxIcon::Stop);
        this->txtBox_fileLoaded->Text = L"No file loaded";
        this->lbl_rstDesc->Visible        = false;
        this->comboBox_rstOption->Visible = false;
        this->btn_restore->Visible        = false;
        this->grpBox_RstUser->Visible     = false;
        this->lbl_rstDisclaimer->Visible  = true;

        return;
    }
}
 
Last edited by JustBrandonT,

Noah932282

Member
OP
Newcomer
Joined
Oct 10, 2019
Messages
6
Trophies
0
XP
78
Country
United States
You can comment out lines:

4887 to 4901 of FormJoy.h, recompile it with Visual Studio 2017 or later and restore. You've got nothing more to lose so..
Never really recompiled anything before, I've always used releases, I could try but I don't wanna screw up..

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

You can comment out lines:

4887 to 4901 of FormJoy.h, recompile it with Visual Studio 2017 or later and restore. You've got nothing more to lose so..

The exact lines are:

Code:
for (int i = 20; i < 22; i++) {
    if (validation_magic[i] != this->backup_spi[0x6012 + i - 20]) {
        MessageBox::Show(L"The file is a \"" + str_backup_dev_type
            + "\" backup but your device is a \"" + str_dev_type + "\"!\n\nPlease try with a \""
            + str_dev_type + "\" SPI backup.", L"Wrong backup!", MessageBoxButtons::OK, MessageBoxIcon::Stop);
        this->txtBox_fileLoaded->Text = L"No file loaded";
        this->lbl_rstDesc->Visible        = false;
        this->comboBox_rstOption->Visible = false;
        this->btn_restore->Visible        = false;
        this->grpBox_RstUser->Visible     = false;
        this->lbl_rstDisclaimer->Visible  = true;

        return;
    }
}

so uh my visual studio trial expired and I cant use it...just my luck :l
 
D

Deleted User

Guest
Never really recompiled anything before, I've always used releases, I could try but I don't wanna screw up..

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



so uh my visual studio trial expired and I cant use it...just my luck :l
you could just use the comminuty version. don't need professional
 
D

Deleted User

Guest
You can comment out lines:

4887 to 4901 of FormJoy.h, recompile it with Visual Studio 2017 or later and restore. You've got nothing more to lose so..

The exact lines are:

Code:
for (int i = 20; i < 22; i++) {
    if (validation_magic[i] != this->backup_spi[0x6012 + i - 20]) {
        MessageBox::Show(L"The file is a \"" + str_backup_dev_type
            + "\" backup but your device is a \"" + str_dev_type + "\"!\n\nPlease try with a \""
            + str_dev_type + "\" SPI backup.", L"Wrong backup!", MessageBoxButtons::OK, MessageBoxIcon::Stop);
        this->txtBox_fileLoaded->Text = L"No file loaded";
        this->lbl_rstDesc->Visible        = false;
        this->comboBox_rstOption->Visible = false;
        this->btn_restore->Visible        = false;
        this->grpBox_RstUser->Visible     = false;
        this->lbl_rstDisclaimer->Visible  = true;

        return;
    }
}
You sure it's 4887-4901?
 

KuranKu

I am KranK
Developer
Joined
Jan 13, 2019
Messages
367
Trophies
0
Age
34
Location
Israel
XP
1,181
Country
Israel
FormJoy.h, on line 4888 change this
Code:
if (validation_magic[i] != this->backup_spi[0x6012 + i - 20])
{
MessageBox::Show(L"The file is a \"" + str_backup_dev_type
+ "\" backup but your device is a \"" + str_dev_type + "\"!\n\nPlease try with a \""
+ str_dev_type + "\" SPI backup.", L"Wrong backup!", MessageBoxButtons::OK, MessageBoxIcon::Stop);
this->txtBox_fileLoaded->Text = L"No file loaded";
this->lbl_rstDesc->Visible = false;
this->comboBox_rstOption->Visible = false;
this->btn_restore->Visible = false;
this->grpBox_RstUser->Visible = false;
this->lbl_rstDisclaimer->Visible = true;

return;
}

to this , maybe it will pass
Code:
if (validation_magic[i] != this->backup_spi[0x6012 + i - 20])
{
this->txtBox_fileLoaded->Text = L"File Force sloaded";
this->lbl_rstDesc->Visible = true;
this->comboBox_rstOption->Visible = true;
this->btn_restore->Visible = true;
this->grpBox_RstUser->Visible = true;
this->lbl_rstDisclaimer->Visible = false;

return;
}
 
Last edited by KuranKu,
D

Deleted User

Guest
FormJoy.h, on line 4888 change this
Code:
if (validation_magic[i] != this->backup_spi[0x6012 + i - 20])
{
MessageBox::Show(L"The file is a \"" + str_backup_dev_type
+ "\" backup but your device is a \"" + str_dev_type + "\"!\n\nPlease try with a \""
+ str_dev_type + "\" SPI backup.", L"Wrong backup!", MessageBoxButtons::OK, MessageBoxIcon::Stop);
this->txtBox_fileLoaded->Text = L"No file loaded";
this->lbl_rstDesc->Visible = false;
this->comboBox_rstOption->Visible = false;
this->btn_restore->Visible = false;
this->grpBox_RstUser->Visible = false;
this->lbl_rstDisclaimer->Visible = true;

return;
}

to this , maybe it will pass
Code:
if (validation_magic[i] != this->backup_spi[0x6012 + i - 20])
{
this->txtBox_fileLoaded->Text = L"File Force sloaded";
this->lbl_rstDesc->Visible = true;
this->comboBox_rstOption->Visible = true;
this->btn_restore->Visible = true;
this->grpBox_RstUser->Visible = true;
this->lbl_rstDisclaimer->Visible = false;

return;
}
I'm viewing this in microsoft visual studios. And that line is 4908. Did you copy master (the current state of the github) or did you copy the source code part of the last release? or maybe not ingore me.
 
Last edited by ,

KuranKu

I am KranK
Developer
Joined
Jan 13, 2019
Messages
367
Trophies
0
Age
34
Location
Israel
XP
1,181
Country
Israel

KuranKu

I am KranK
Developer
Joined
Jan 13, 2019
Messages
367
Trophies
0
Age
34
Location
Israel
XP
1,181
Country
Israel
That is a strange issue, I'm surprised it's still working at all. Luckily the program is open source, or this might be way harder to fix.
indeed , i dont know how this could happened, but my best guess will be some exeption hapened just on that part of code or around and likely the person by mistakes being sleepy flashed the wrong side while .net being dump and havent handeled the exeption and program started the flash of the wrong side
 
Last edited by KuranKu,
D

Deleted User

Guest
seems to work
indeed , i dont know how this could happened, but my best guess will be some exeption hapened just on that part of code or around and likely the person by mistakes being sleepy flashed the wrong side while .net being dump and havent handeled the exeption and program started the flash of the wrong side
So as far as I can tell some pieces need to be adjusted still. (because I like breaking things as well. and was my only means of checking if things worked) I restored a right joycon flash onto my left. And it does work. Problem is joycon toolkit doesn't want to pick up that joycon, post flash. (I obivously have a back up of the left. Not stupid)

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

So I was using a windows tool called joycon toolkit and what I've been doing with it is avoiding the link from my hacked switch and clean switch
basically I made a backup of both my joycon SPI's before doing any of this, when I use my hacked switch I change my joycon SNs to something fake and when
I use my clean switch I restore the backup I made, well I was doing this last night and in the middle of an SPI restore on my left joycon the program crashed
now this had some pretty weird results, my joycon is now detected by my switch and by the computer as a right joycon instead of a left joycon and the controls are inverted
and the left joycon can no longer be used attached to the console and the lights don't stay lit up when connected to the switch
so I tried restoring an SPI backup of the left joycon again hoping it would fix things
only to get an error from joycon toolkit saying that I cannot restore a backup for a left joycon onto a right joycon even though this is actually a left joycon
I'm lost and have no idea what to do, the joycon is basically bricked because joycon toolkit wont let me restore the proper backup
I was wondering if someone that knows how could mod the program to get rid of the restore limits?
This should let you fix your joycon assuming the computer still picks it up and allows it. (Now I just have to undo my fuckery with mine)
 

Attachments

  • Release.zip
    241.8 KB · Views: 205

KuranKu

I am KranK
Developer
Joined
Jan 13, 2019
Messages
367
Trophies
0
Age
34
Location
Israel
XP
1,181
Country
Israel
I'm going to compile it for him. I was just looking at the wrong line.
seems to work

So as far as I can tell some pieces need to be adjusted still. (because I like breaking things as well. and was my only means of checking if things worked) I restored a right joycon flash onto my left. And it does work. Problem is joycon toolkit doesn't want to pick up that joycon, post flash. (I obivously have a back up of the left. Not stupid)

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


This should let you fix your joycon assuming the computer still picks it up and allows it. (Now I just have to undo my fuckery with mine)
oh so your the one of the taff guys ,, ggod luck fixing your mistakes ... hope it turns out to be ok, but as i can tell it checks for size at point after the code ive changed and maybe the next code got messed up the things ^^

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

i wouldnt risk flashing my self ...
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • Psionic Roshambo @ Psionic Roshambo:
    Tandem even
  • The Real Jdbye @ The Real Jdbye:
    i think i heard of that, it's a good idea, shouldn't need a dedicated GPU just to run a LLM or video upscaling
  • The Real Jdbye @ The Real Jdbye:
    even the nvidia shield tv has AI video upscaling
  • The Real Jdbye @ The Real Jdbye:
    LLMs can be run on cpu anyway but it's quite slow
  • BakerMan @ BakerMan:
    Have you ever been beaten by a wet spaghetti noodle by your girlfriend because she has a twin sister, and you got confused and fucked her dad?
  • Psionic Roshambo @ Psionic Roshambo:
    I had a girlfriend who had a twin sister and they would mess with me constantly.... Until one chipped a tooth then finally I could tell them apart.... Lol
  • Psionic Roshambo @ Psionic Roshambo:
    They would have the same hair style the same clothes everything... Really messed with my head lol
  • Psionic Roshambo @ Psionic Roshambo:
    @The Real Jdbye, I could see AMD trying to pull off the CPU GPU tandem thing, would be a way to maybe close the gap a bit with Nvidia. Plus it would kinda put Nvidia at a future disadvantage since Nvidia can't make X86/64 CPUs? Intel and AMD licensing issues... I wonder how much that has held back innovation.
  • The Real Jdbye @ The Real Jdbye:
    i don't think nvidia wants to get in the x64 cpu market anyways
  • The Real Jdbye @ The Real Jdbye:
    you've seen how much intel is struggling getting into the gpu market
  • The Real Jdbye @ The Real Jdbye:
    and nvidia is already doing ARM
  • The Real Jdbye @ The Real Jdbye:
    i don't think they want to take more focus away from their gpus
  • Psionic Roshambo @ Psionic Roshambo:
    Yeah I think Nvidia s future lays in AI GPU acceleration stuff if they can get that going it's going to be super interesting in the long term
  • Psionic Roshambo @ Psionic Roshambo:
    AI assisted game creation might become a thing
  • Psionic Roshambo @ Psionic Roshambo:
    At least that's something I think would be pretty cool.
  • Psionic Roshambo @ Psionic Roshambo:
    Don some VR glasses and gloves and talk to the computer and paint entire worlds
  • Psionic Roshambo @ Psionic Roshambo:
    "OK Cortana I want that mountain a little taller and more snow on top, and I would like some random ancient pine forest around the bottom"
  • Psionic Roshambo @ Psionic Roshambo:
    "Now we need a spring fed river flowing down the north side and add some wild life appropriate for the biome"
  • Psionic Roshambo @ Psionic Roshambo:
    Many TBs of assets and the programming of something like that is going to be tough but I think it's something we might see in 20 years maybe sooner
  • The Real Jdbye @ The Real Jdbye:
    @Psionic Roshambo AI assisted game creation is kinda already here, there was recently that AI that can turn any 2D image into a fully modeled 3D object, it's not perfect, but it's a starting point, beats starting from zero
  • The Real Jdbye @ The Real Jdbye:
    before that there was one to generate a fully modeled scene from a 2D image
  • The Real Jdbye @ The Real Jdbye:
    but most recently, there was one that actually generates a working unity scene with terrain and textures already set up that you can import right into unity, that's a huge time saver right there
  • The Real Jdbye @ The Real Jdbye:
    and using LLMs to generate NPC dialogue and even dynamically generated quests is something i'm sure is already happening
  • The Real Jdbye @ The Real Jdbye:
    will just take some time for games made using those things to be completed and released
    The Real Jdbye @ The Real Jdbye: will just take some time for games made using those things to be completed and released