Thank youWill try it later, don't have my console with me atm
Thank youWill try it later, don't have my console with me atm
i am sad that i won't be able to use that feature, as my home button is dead, and according to this "Special HID status flags: bit0 = power button pressed, bit1 = power button pressed long, bit2 = home button pressed, bit3 = home button released, bit4 = wifi slider enabled, bit5 = shell got closed, bit6 = shell got opened. If nothing has changed this register is 0." there isn't really any other usable flag, bit0 would be on all the time, bit1 shouldnt have enough time to be set before the status is checked (?), bits 2-3 can't really help, bit 4 doesn't help with my N3DS and bits 5-6, according to the description, only get set when the action is done, => closing or opening the lid, so doesn't seem possible to lauch at boot. anything i misinterpreted ?Thank you
To be honest, having brick protection is a great thing to have especially if you're a gateway user, given that in the past they've bricked users 3dses not only for using competitor products, but also for "incorrectly" using their products.That much I understand, but it would make arm9hax a bit pointless for me. A whole lot of work, just for brick protection. I've never bricked a 3DS in my life so the chances are really low.
The best use of arm9hax is to primarily use sysnand 10.6, delete emunand, and just stick to using sysnand.
Since my main focus is Gateway, I'll be in emunand pretty much always, until Gateway fully supports coldbooting, making use of sysnand.
Until I can fully abandon emunand, I'll never be making use of arm9hax at all. So no benefits of getting my OTP.

Use dark samus updater.Which is the safest way to update arm9loaderhax? I think I have the earliest version. Also, which are the benefits of updating it?
https://gbatemp.net/attachments/installer-zip.40687/Can you send it to me please?
if(i2cReadRegister(I2C_DEV_MCU, 0x10) & 0x4) //if home button is pressed
{
//Jump to alternate stage2
sdmmc_nand_readsectors(0x5A000, 0x20, (u8*)0x08006000);
}
if(i2cReadRegister(I2C_DEV_MCU, 0x10) & 0x4) //if home button is pressed
{
//Jump to alternate stage2
sdmmc_nand_readsectors(0x5C000, 0x20, (u8*)0x08006000);
}
else
{
//jump to normal stage2
sdmmc_nand_readsectors(0x5A000, 0x20, (u8*)0x08006000);
}

There's no payload that launches from home button atm anyway.@dark_samus3
I've tested a littlebit, but i guess its this thats not working:
Code:if(i2cReadRegister(I2C_DEV_MCU, 0x10) & 0x4) //if home button is pressed { //Jump to alternate stage2 sdmmc_nand_readsectors(0x5A000, 0x20, (u8*)0x08006000); }
As test i've changed it to:
Code:if(i2cReadRegister(I2C_DEV_MCU, 0x10) & 0x4) //if home button is pressed { //Jump to alternate stage2 sdmmc_nand_readsectors(0x5C000, 0x20, (u8*)0x08006000); } else { //jump to normal stage2 sdmmc_nand_readsectors(0x5A000, 0x20, (u8*)0x08006000); }
That worked to load my self inserted loader pointing to bootctr, but i was unable to start from 5C000 with home button.
There's no payload that launches from home button atm anyway.
It's been working great here and for a few other people with hardmods who've tried it out... Are you sure you put it at the right address? Keep in mind that sector size is 0x200 bytes per sector so 0x5A000 * 0x200 = 0xB400000 just to be sure you have all of that rightI've inserted a modified stage as test.
It's been working great here and for a few other people with hardmods who've tried it out... Are you sure you put it at the right address? Keep in mind that sector size is 0x200 bytes per sector so 0x5A000 * 0x200 = 0xB400000 just to be sure you have all of that rightlastly the home button is kind of strange, so make sure you are holding it before turning on the console.... also, keep in mind that D9 and other payloads WILL NOT have screen init, as screen init is embedded in stage 2, which we aren't launching from
anyways, hope you get it worked out
also, one last thing, the updater that I previously put out won't update stage 1, so you'll have to reinstall by the .3dsx to get it working properly
![]()
just because it says 0x5A000 does NOT by any means mean it is correct... The block size can vary, so make sure the block size is 0x200 bytes (512 bytes) per sector... also, just to be sure, how did you update your stage 1 payload?Look @ my picture, it was @B400000 (sector 5A000) and it didn't work to press home button while booting :/
For a fast insert you can open the disk drive while 3ds is connected via usb either with Hex Workshop or HxD.
I've tried to switch home button to something else, but i don't know the button code.