From WikiTemp, the GBAtemp wiki
(Homebrew NSP TitleID List: added hbloader)
m (Homebrew Sysmodules TitleID List: add kip)
Line 74: Line 74:
 
|}
 
|}
  
==Homebrew Sysmodules TitleID List==
+
==Homebrew KIP Sysmodules TitleID List==
  
 
{| class="prettytable sortable" style="width:100%"
 
{| class="prettytable sortable" style="width:100%"

Revision as of 11:29, 9 November 2018


This page will maintain a list of TitleID used by Homebrew using the NSP format to prevent conflict with other packed homebrew, or even retail games.

Please, help maintaining it and add your own homebrew or any nsp you create to help other developers and users.


You can find retail TitleID for system file and games on switchbrew.


NSP creation for your homebrew

You can use HacBrewPack(Thread), or NSPBuild to create an installable nsp file for your homebrew.


You need a specific makefile for your homebrew in order to build a nsp, or you can generate a forwarder (nro loader) to install on your console.

A Homebrew Forwarder template is provided with HacBrewPack. Replace the path to the nro (sdmc:/hbmenu.nro) and the name and TitleID to use for your nsp, and the other parameters if needed.

The nro loader will have the advantage of not needing any update and reinstall when you release a new homebrew revision, it will always load the .nro file on your SD card.


HacBrewPack recommendations

  • Always use lower-case titleid
  • Valid titleid range is: 0x0100000000000000 - 0x01FFFFFFFFFFFFFF


Choosing the titleID

When you create your nsp, you have to edit a setting file (npdm.json) and specify the homebrew's title, its TitleID, etc.


The Switch is using a TitleID protocol, and homebrew are encouraged to follow it too:

  • ALL current Titles for Switch begins with 0100
  • System Titles are all in "010000000000xxxx".
  • Games end with "x000". Pattern: TitleID & 0xFFFFFFFFFFFFE000 (AND operand).
  • DLCs ends with "1xxx" (001 - FFF). DLC is 0x1000 greater than base Title ID. Pattern: Base TitleID | 1xxx (OR operand).
  • Updates ends with "0800"


TitleID generators

You can get an unique TitleID based on your app name by using this Python3 script. It converts 5 ASCII characters to HEX values, and encapsulate in with 01 and 000.

You can generate a random TitleID using this MSDos batch script. It generates random TitleID and encapsulate it with 01 and 000.

Note: These generators are not taking care of the DLC flag on bit 13.


Homebrew NSP TitleID List

TitleID Homebrew name Description Link
010000000000100D nx-HBLoader The Homebrew Loader module used to replace the photo channel in cfw, loads sdmc:/hbmenu.nro github
0104444444444001 HBMenu Loader A forwarder to load sdmc:/hbmenu.nro Thread
0104561737950000 EasyPower A quick reboot utility thread

Homebrew KIP Sysmodules TitleID List

TitleID Homebrew name Description Link
0100000000000036 creport A sysmodule part of atmosphere cfw to redirect the errors report sent to Nintendo to the SD card. github
31200000000000AB Sys-play A sysmodule to play a music in HOS background. Thread
4200000000000000 nx-dreport A sysmodule to delete the errors report sent to nintendo. Deprecated. github
420000000000000E Sys-ftpd An FTP client. github
420000000000000F SlideNX A sysmodule to play a mp3 file at joycon attach/detach triggered event. Thread
420000000000001E SwitchPresence A discord client. github
430000000000000A sys-netcheat A real time memory editor using a remote debugger. Thread