Tutorial  Updated

Creating Hans Shortcuts

I could never find good documentation on HANS shortcuts, so I decided to document it myself!

This tutorial should allow you to easily create working hans shortcuts, capable of having multiple romhacks on the SD card at once (I use them mostly for VC injected romfs hacks)

Code:
<shortcut>
    <executable>/3ds/hans/hans.3dsx</executable>
    <icon>/3ds/eshop.smdh</icon>
    <arg>-f/3ds/hans/titles/eshop.txt</arg>
</shortcut>
<targets selectable="false">
    <title mediatype="0">0004001000020900</title>
    <title mediatype="0">0004001000021900</title>
    <title mediatype="0">0004001000022900</title>
    <title mediatype="0">0004001000027900</title>
    <title mediatype="0">0004001000028900</title>
</targets>

This is an example of the default eshop hans xml

First things first, the main shortcut to Hans

Code:
<executable>/3ds/hans/hans.3dsx</executable>

This is just a simple path to your hans executable, should generally always be the same, unless you're using special folders (Like with the gridlauncher HBL)

Code:
<icon>/3ds/eshop.smdh</icon>

Path to your SMDH (Icon, basic info) For your HANS Shortcut.

Code:
<arg>-f/3ds/hans/titles/eshop.txt</arg>

Path to the hans boot argument text
your romfs for romhacks should be named the same as your text file, no additional lines in the text file are needed for custom named romfs files. (IE: neoy.romfs will load from neoy.txt)

Code:
<title mediatype="0">0004001000020900</title>

This is the title you wish to launch, alone with the media type

For Mediatype there are 3 options
0 for a NAND title (eshop, System Settings, etc)
1 for SD card titles (Most games downloaded from the eshop)
2 for Gamecart (self Explanatory)

You can have multiple lines for alternate titles and locations

Code:
<title mediatype="1">0004001000020900</title>
<title mediatype="2">0004001000021900</title>

So this would first attempt to find the title on the SD card, and then move on to the game cart, should the SD title not be found.

For the title string, an easy eay to grab it is the folder name of your braindump.

Let's move on to the HANS title text file

Code:
region : 1
language : -1
clock : 0
romfs : 1
code : 1
nim_checkupdate : 1

This is a default launch text file(For USA) for a title

Code:
Region : 1

This is which region you'd like to launch from
0 - Japan
1 - USA
2 - Europe

Code:
Language : -1

This is the language in which to launch the title, there can be some conflicts with certain regions and languages that I have experienced.
-1 - System Default Language
0 - Japanese

Code:
Clock : 0

This specifies which clockrate the game runs with
0 - 268Mhz
1 - 804Mhz

Code:
romfs : 1

This line specifies whether to load the default romfs in the title, or another in the root/hans folder
0 - Custom romfs, named the same as the text file
1 - Default romfs

Code:
code : 1
The same as the romfs argument, but with the code file
0 - custom code, named the same as the text file
1 - Default code

Code:
nim_checkupdate : 1
Simple firmware spoofer for the title you are launching
0 - Spoofer active
1 - Default, no spoof



There are a few things I left out, such as all of the language settings, I didn't quite have the time to go through every language, heh.

And if it was confusing I'll reiterate a little bit of the file structure

shortcut.xml:
Location - /3ds
Description - Main shortcut to the hans executable with locations for the smdh, title ID, and boot arguments text file.

shortcut.smdh
Location - /3ds (Or somewhere else specified in the XML)
Description - Icon and info for the title/romhack

title.txt
Location - /3ds/hans/title
Description - Boot arguments for HANS when booting your title. Should be named the same as your romfs file when using romhacks. IE Neoy.romfs would have a complementary Neoy.txt in the /3ds/hans/title folder.
 
Last edited by Flerp,
Great guide! I set up a nice shortcut for Bravely Default: Uncensored a few days ago from these instructions... actually from the post over at se7ensins... was that you Flerp, or has someone else ripped off your guide?

Someone just copy/pasted this post, but I don't really mind, made this guide to help not get some sort of attention heh
 
  • Like
Reactions: Tony_93 and duwen
Can someone help me and make for me an icon for my GBAlpha Sapphire Hack?
I'm not good with this... Need it in 48x48
 
Hi.
I can't have my shortcut working, someone know why?

Here it's my BravelyDefaultUncensored.xml:
Code:
<shortcut>
    <executable>/3ds/HANS/HANS.3dsx</executable>
    <icon>/3ds/BravelyDefaultUncensored.smdh</icon>
    <arg>-f/3ds/HANS/titles/000FC600.txt</arg>
</shortcut>
<targets selectable=false>
    <title mediatype="1">00040000000FC600</title>
    <title mediatype="2">00040000000FC600</title>
</targets>

And the 000FC600.txt in the titles folder:
Code:
region : -1
language : -1
clock : 1
romfs : 0
code : 0
nim_checkupdate : 1

Maybe @duwen could help me?

I can't see the shortchut in my HBL

Edit: Solved, was a fail with <targets selectable=false> I forgotten the quotes
 
Last edited by Asia81,
Hi.
I can't have my shortcut working, someone know why?

Here it's my BravelyDefaultUncensored.xml:
Code:
<shortcut>
    <executable>/3ds/HANS/HANS.3dsx</executable>
    <icon>/3ds/BravelyDefaultUncensored.smdh</icon>
    <arg>-f/3ds/HANS/titles/000FC600.txt</arg>
</shortcut>
<targets selectable=false>
    <title mediatype="1">00040000000FC600</title>
    <title mediatype="2">00040000000FC600</title>
</targets>

And the 000FC600.txt in the titles folder:
Code:
region : -1
language : -1
clock : 1
romfs : 0
code : 0
nim_checkupdate : 1

Maybe @duwen could help me?

I can't see the shortchut in my HBL

Edit: Solved, was a fail with <targets selectable=false> I forgotten the quotes

Try with hans.3dsx/hans or with a short name to .xml/.smdh
 
Last edited by pinguino1234,
This is a very nice tutorial. Always wondered how to do shortcuts, but I do not think they would benefit me.

This might be unrelated, but is there a way to make HANS itself boot into the app using gamecart mode automatically, rather than having us cycle through game cart, eshop, etc, then pushing a to launch? I don't really own anything digital, so I have nothing to really cycle through. I just want to click HANS and get shot straight to the black menu.
 
Last edited by rimmyjustles,
I can't get this to work.

Code:
<shortcut>
    <executable>/3ds/hans/hans.3dsx</executable>
    <icon>/3ds/pokebank.smdh</icon>
    <arg>-f/3ds/hans/titles/pokebank.txt</arg>
</shortcut>
<targets selectable="false">
    <title mediatype=“1”>00040000000C9B00</title>
</targets>

This is the ID to the Pokémon Bank. The shortcut just doesn't show in HBL.

When manually using Hans and selecting the Pokémon Bank, the app says the 1.2 update is corrupt and when I remove that, it still says I need an update even though NIM is set to 0
 
What Am I Doing Wrong? I made this for the mystery machine homebrew. Since I have so many games I did not want to scroll though them all.
Code:
<targets selectable="true">
    <title mediatype="1">0004000000055D00</title>
    <title mediatype="2">0004000000055D00</title>
    <title mediatype="1">0004000000055E00</title>
    <title mediatype="2">0004000000055E00</title>
    <title mediatype="1">000400000011C400</title>
    <title mediatype="2">000400000011C400</title>
    <title mediatype="1">000400000011C500</title>
    <title mediatype="2">000400000011C500</title>
</targets>
 

Site & Scene News

Popular threads in this forum