Hacking (Request) Could someone make a A9LH usable payload that turns off the 3ds when booted into?

  • Thread starter Deleted User
  • Start date
  • Views 2,910
  • Replies 27

Link.

Member
Newcomer
Joined
Jan 23, 2016
Messages
23
Trophies
0
Age
33
XP
262
Country
United States
I don't see the purpose of this, though maybe i'm missing something??
Perhaps this?


But honestly, if you want to have the 3DS shut down on boot (for prank or other reasons), why don't you just remove the SD card? Arm9LoaderHax will shut the 3DS down upon boot if you do that.

Edited for formatting, but I see that the above suggestion won't work for you.
 
Last edited by Link.,

Zan'

2F88744FEED717856386400A44BBA4B9CA62E76A32C715D4F
Member
Joined
Oct 8, 2015
Messages
387
Trophies
0
Age
32
XP
271
Country
I'm using a N3DS. I'm just trying to make it as safe as possible in case my sister comes around to destroy it
She could just drop it.
But I guess I get the point of this. I guess you could just use a faulty payload for the time being. Should just crash.
 

zhdarkstar

Well-Known Member
Member
Joined
Jan 30, 2008
Messages
573
Trophies
1
XP
566
Country
United States
Actually, integrating Quick Shutdown into an A9LH boot manager as a way to prevent booting into 3DS Recovery Mode would be a useful feature for childproofing. I would like to see it added, as I plan on modding my cousins' 3DSes the next time I go over there.
 
  • Like
Reactions: Deleted User

Wolfvak

nyaa~
Member
Joined
Oct 25, 2015
Messages
918
Trophies
1
XP
3,386
Country
Uruguay
Could someone make a A9LH usable payload that turns off the 3ds when booted into?

Maybe make this a A9LH usable .bin? https://github.com/thedax/3DS_Quick_Shutdown/

It uses this main code:
Code:
#include <3ds.h>
#include <stdio.h>

// http://3dbrew.org/wiki/NSS:ShutdownAsync
void NSS_ShutdownAsync(void)
{
    Handle nssHandle = 0;
    Result result = srvGetServiceHandle(&nssHandle, "ns:s");
    if (result != 0)
        return;

    u32 *commandBuffer = getThreadCommandBuffer();
    commandBuffer[0] = 0x000E0000;

    svcSendSyncRequest(nssHandle);
    svcCloseHandle(nssHandle);
}

int main(int argc, char **argv)
{
    NSS_ShutdownAsync();

    // Hack: the 3ds crashes ("An error has occcurred.") for some reason
    // without one iteration of the APT main loop.
    aptMainLoop();
    return 0;
}
You can't do that, because FIRM doesn't exist yet when using A9LH.
If you give me a second I'll be able to upload a little payload that powers off the 3DS, but the gist of it is

Code:
i2cWriteRegister(DEVICE_MCU, 0x20, 1);

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

Actually, integrating Quick Shutdown into an A9LH boot manager as a way to prevent booting into 3DS Recovery Mode would be a useful feature for childproofing. I would like to see it added, as I plan on modding my cousins' 3DSes the next time I go over there.
SaltFW does this by default now
 

daxtsu

Well-Known Member
Member
Joined
Jun 9, 2007
Messages
5,627
Trophies
2
XP
5,194
Country
Antarctica
Since the 3DS OS services aren't running during A9LH, it's not possible to adapt my shutdown homebrew. However, it's one line of code to turn the 3DS off (not counting the code that actually implements i2cWriteRegister):

Code:
i2cWriteRegister(I2C_DEV_MCU, 0x20, 1);

A bare-bones A9LH payload could easily be written to do it.

Edit: Ninja'd.
 

daxtsu

Well-Known Member
Member
Joined
Jun 9, 2007
Messages
5,627
Trophies
2
XP
5,194
Country
Antarctica
I applaud you kind Wolfvak! May I link this in OP? And THANK YOU!

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


hmm... wasn't able to get it working. I loaded into it but it just froze

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

i2cWriteRegister(DEVICE_MCU, MCU_POWER, 1); // Shutdown

I noticed in main.c you left out
0x20 and put in MCU_POWER. Intentional?

He defined it in the i2c header.

Code:
typedef enum {
    MCU_VOLUME = 0x09,
    MCU_BATTERY = 0x0B,
    MCU_POWER = 0x20
} I2CRegister;
 
  • Like
Reactions: Deleted User

Wolfvak

nyaa~
Member
Joined
Oct 25, 2015
Messages
918
Trophies
1
XP
3,386
Country
Uruguay
:( Wasn't able to compile, can you please? Sorry. Does it depend on the type of 3ds you have?
There you go, hopefully it works. By the way, what's your a9lh version? As in, initial no screen-init, dark-samus with screen-init, delebile's latest, etc.
 

Attachments

  • shutdown.zip
    579 bytes · Views: 178

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    Xdqwerty @ Xdqwerty: aeiou