Title

From WiiUBrew
Jump to navigation Jump to search

A title is a group of code and/or data. On the Wii U, titles generally represent apps such as OSes or apps on the System Menu, although other titles also exist, such as Version Data. The information on this page only applies to Wii U titles unless otherwise specified. For info about Wii and vWii titles, see WiiBrew: Title.

Title ID

Every title is given an 8-byte title ID that usually uniquely identifies the title. The upper title ID (the first 4 bytes) is a bitmask describing the category of the title, while the lower title ID (the last 4 bytes) is a unique identifier for the title itself.

A title's title ID is stored in the TMD, ticket, app.xml, and meta.xml. The title ID is stored in the TMD and ticket as 8 hexadecimal bytes, and it is stored in app.xml and meta.xml as the "title_id" 8-byte hexadecimal string (letters can be either uppercase or lowercase). Not all titles include all 4 files. At the very least, a complete title will always include either a TMD or app.xml.

Note that due to the way the Wii U handles game updates, the title ID in meta.xml for update titles will be the title ID of the base title. Separately, the title ID in meta.xml can be different from the actual title ID. The actual title ID of a title will always be in the TMD, ticket, and app.xml.

TODO: Do title IDs with uppercase/lowercase letters have anything in common? Might be tied to meta.xml format version. Why do some titles have incorrect title IDs in meta.xml?

If two titles have the same title ID, then they are usually different versions of the same title. However, it is possible for 2 clearly distinct titles to use the same title ID. In that scenario, they will often have unique product codes, although that alone is not sufficient to determine if they are separate titles. Ultimately, whether or not they can be considered as the same title is up to interpretation.

Upper Title ID

The following upper title IDs are known to exist.

Upper Title ID Description
00050000 Game Application Titles
00050001 Cafe SDK NDEBUG OS Titles (Pre-2.0)
00050002 Kiosk Interactive Demo and eShop Demo Titles
0005000B Shared User Data (FCT/Factory) Titles
0005000C Game DLC Titles
0005000E Game Update Titles
00050010 System Application Titles and Overlay Application Titles (OSv5, OSv6, OSv7)
00050011 Unconfirmed (Data, System)
00050012 Unconfirmed (Free, System)
00050013 Unconfirmed (Data, Free, System)
00050014 Unconfirmed (Patch, System)
00050015 Unconfirmed (Data, Patch, System)
00050016 Unconfirmed (Free, Patch, System)
00050017 Unconfirmed (Data, Free, Patch, System)
00050018 Unconfirmed (Add-On, System)
00050019 Unconfirmed (Data, Add-On, System)
0005001A Unconfirmed (Free, Add-On, System)
0005001B Shared Data Title
0005001C Unconfirmed (Patch, Add-On, System)
0005001D Unconfirmed (Data, Patch, Add-On, System)
0005001E Unconfirmed (Free, Patch, Add-On, System)
0005001F Unconfirmed (Data, Free, Patch, Add-On, System)
00050030 Overlay Application Titles (OSv9, OSv10, OSv255)
00050031 Unconfirmed (Data, System, Overlay)
00050032 Unconfirmed (Free, System, Overlay)
00050033 Unconfirmed (Data, Free, System, Overlay)
00050034 Unconfirmed (Patch, System, Overlay)
00050035 Unconfirmed (Data, Patch, System, Overlay)
00050036 Unconfirmed (Free, Patch, System, Overlay)
00050037 Unconfirmed (Data, Free, Patch, System, Overlay)
00050038 Unconfirmed (Add-On, System, Overlay)
00050039 Unconfirmed (Data, Add-On, System, Overlay)
0005003A Unconfirmed (Free, Add-On, System, Overlay)
0005003B Unconfirmed (Data, Free, Add-On, System, Overlay)
0005003C Unconfirmed (Patch, Add-On, System, Overlay)
0005003D Unconfirmed (Data, Patch, Add-On, System, Overlay)
0005003E Unconfirmed (Free, Patch, Add-On, System, Overlay)
0005003F Unconfirmed (Data, Free, Patch, Add-On, System, Overlay)
0005004E Disc Update Package Title
00058001 Cafe SDK DEBUG OS Title (Pre-2.0)
0005C001 Cafe SDK FDEBUG OS Title (Pre-2.0)

Upper title IDs listed as "Unconfirmed" do not have any known titles that use them. These upper title IDs are referenced in the "exceptions.txt" file used in memoryclear_exceptions and wagonu_specification. These upper title IDs are listed among others as folders to not be deleted in case of a formatted system memory or system transfer. They are almost certainly just placeholders in case those upper title IDs were used in the future. The parentheses for each upper title ID is a speculative guess based on the bitmask.

For upper title IDs labeled "Pre-2.0", this is mostly an assumption. Cafe SDK versions 1.7 and 1.8.1 are known to use these upper title IDs. At some point between 1.8.1 and 2.0, system application titles were reclassified as 00050010.

Overlay application titles running under OSv5, OSv6, and OSv7 have the same upper title ID as other system application titles. Overlay application titles running under OSv9, OSv10, and OSv255 were given a separate upper title ID of 00050030. It is unknown what upper title ID overlay application titles running under OSv8 would use (assuming any exist in the first place) as OSv8 itself has never been found.

The first 2 bytes are the platform ID, which is 5 for Wii U titles. The second 2 bytes are likely a bitmask. The following bits are recognized:

Mask Meaning
0x1 Non-executable data / SDK OS (Pre-2.0)
0x2 Free
0x4 Patch
0x8 Add-on content
0x10 System title
0x20 Runs in background
0x40 Disc GI partition title
0x4000 Cafe SDK FDEBUG enabled (Pre-2.0)
0x8000 Cafe SDK DEBUG enabled (Pre-2.0)

Lower Title ID

TODO: Have this section describe the ranges of lower title IDs and what they are used for. Figure out if this should cover de facto ranges or de jure ranges. The smallest lower title ID is "10000100" so is that the start of the section or should that section actually start at "10000000"?

Start End Description
00000000 100000FF Reserved
10000100 1FFFFFFF TODO
20000000 FFFFFFFF Reserved

vWii

vWii titles have 2 different title IDs, a Wii U mode title ID and a Wii mode title ID. The Wii U mode title ID is considered to be the correct title ID. vWii titles are stored under their Wii U mode title ID on CDNs. The Wii U mode title key is also used for generating the title key. The Wii mode title ID is used only in the context of Wii mode. The Wii mode title ID is stored inside of the TMD and ticket.

The following upper title IDs are used by vWii titles.

Upper Title ID (Wii U Mode) Upper Title ID (Wii Mode) Description
00000007 00000001 Essential System Titles
00070002 00010002 System Channel Titles
00070008 00010008 Hidden Channel Titles

The platform ID for vWii is 7, except for essential system titles which use a platform ID of 0. The second 2 bytes are likely a bitmask. The following bits are recognized:

Mask Meaning
0x1 Essential system title
0x2 System channel
0x6 Hidden channel / vWii essential system title

Title Database

In the title database, title IDs are written with uppercase letters and a hyphen between the upper title ID and the lower title ID. For example, the title ID for "New SUPER MARIO BROS. U (USA)" would be written as "00050000-10101D00". Notes should be added if the title ID in meta.xml is incorrect, and the incorrect title ID should be considered a separate reference title (if not used by a complete title). If this is the case, then the correct title ID of that title is taken (in order of priority) from its TMD, ticket, or app.xml.

Update titles have the title ID of the base title in meta.xml. This is not considered an incorrect title ID. However, if the base title has not been found, it will need a title entry of its own. Product code, company code, group ID, and region can all be inferred from the update title, although a note should be added saying that those values are all unconfirmed. The source of such a title would be undumped because it is almost a certain a base title existed at some point. For an example, see "Know Your Friends (USA)" and "Know Your Friends (EUR)".

Group ID

Most titles have a 4-byte group ID to categorize the title, with both an upper group ID (the first 2 bytes) and a lower group ID (the last 2 bytes).

A title's group ID is stored in its app.xml and meta.xml. The lower group ID is also stored in the TMD as 2 hexadecimal bytes. In app.xml and meta.xml, it is stored as the "group_id" 4-byte hexadecimal string (letters can be either uppercase or lowercase). For all known titles, the group ID in the app.xml and meta.xml are identical, and the lower group ID in the TMD always matches as well. If a title does not include an app.xml or meta.xml file, then the upper group ID can be assumed to be "0000".

TODO: Do group IDs with uppercase/lowercase letters have anything in common? Might be tied to app.xml and/or meta.xml format version.

The lower group ID will usually be the middle 2 bytes of the lower title ID. However, a title can also use the group ID of a different title. For example, the title ID of "Wii Fit U (USA)" is "00050000-10102300", and its group ID is "0000-1023". "Wii Fit U Quick Check (USA)", "Wii Fit U (Free) (USA)", and "Wii Fit U Info" all have a group ID of "0000-1023" due to their relation to "Wii Fit U (USA)".

TODO: A couple more examples could help. Many titles by Nintendo use the same group ID as "New Super Mario Bros. U (USA)" for some reason.

The upper group ID is likely meant to categorize the group ID. The following upper group IDs are used.

TODO: This table might be incomplete.

Upper Group ID Description
0000 Standard upper group ID used by most titles
0001 Used for most titles on the Dev CDN and always accompanied by a lower group ID of "0000"
000F Used for some titles on the Dev CDN that have a lower title ID beginning with "1F"

Title Database

Group IDs should be written with uppercase letters and a hyphen between the upper group ID and the lower group ID. For example, the group ID for "New SUPER MARIO BROS. U (USA)" would be written as "0000-101D".

If a title's group ID is not derived from its own title ID, a note should be added mentioning the title the group ID came from.

If a title does not include an app.xml or meta.xml, its upper group ID is "0000". If a title does not a TMD either, then its group ID should be left blank.

Version

TODO

Title Database

TODO

Name

TODO

Title Database

TODO

Product Code

A title's product code is stored in its meta.xml as the "product_code" string (letters are always uppercase). Product codes are usually stored with hyphens separating their 3 segments, but sometimes are stored without the hyphens. Titles that do not include a meta.xml do not have product codes.

TODO: Do product codes with no hyphens have anything in common? Might be tied to meta.xml format version.

The 3 segments that compose a product code are the platform (always "WUP" for Wii U), the app type, and a unique identifier provided to developers by Nintendo. The first 3 characters of the unique identifier is a combination of uppercase letters and numbers. The last character of the unique identifier is meant to represent the locale and/or the supported languages of the title. The following characters are used by at least one known title.

TODO: The following table is likely not comprehensive and further investigation is needed. Add all languages supported by that lo

Character Locale
A All
D Germany / Placeholder
E USA / USA & Europe
F France
I Italy
J Japan
P Europe
R Russia
S Spain
X Scandinavia / Australia
Y USA
Z USA / Europe / USA & Europe / Spain & Italy / Scandinavia & Finland

App Type

App types are not guaranteed to be accurate to the contents of the title. As an example, "N" is not universally used by digital-only titles.

Character Type
B Kiosk Interactive Demo
M Downloadable Content
N Digital-Only Titles
P Standard Titles
T eShop Demo
U Update

Placeholders

Product codes are meant to be unique for each title. However, "WUP-P-ABCD" is commonly used as a placeholder product code, and it is shared by many titles. The following table includes all product codes that are known to be used by multiple titles.

Product Code Description
WUP-P-ABCD Placeholder product code used by many titles

Title Database

If a product code is in meta.xml without the hyphens between the three segments, it should be written with hyphens for consistency. For example, if meta.xml contains "WUPMDHQA", it should be written as "WUP-M-DHQA".

If a title's product code changes between versions, then all values should be listed (in order of highest version to lowest version) with parentheses detailing what versions use each value.

If a title does not include a meta.xml, then its product code should be left blank.

Company Code

Every title that includes a meta.xml has a company code. Company codes uniquely identify the publisher of the title rather than the developers.

TODO: Verify this is correct.

A title's company code is stored in its meta.xml as the "company_code" string. Company codes are 4 characters long and only contain numbers and uppercase letters. Titles that do not include a meta.xml do not have company codes.

TODO: Verify letters in company codes are always uppercase. If not, it may be dependent on meta.xml version format.

A common placeholder company code is "ZZZZ". It is often seen in combination with a placeholder product code of "WUP-P-ABCD".

The following is a list of all company codes known to have been used.

TODO: This table is incomplete. Ideally, be sure to verify the publisher in multiple places and ideally with multiple titles. Different releases often have different publishers. Don't use the official Nintendo site for publishers as those are often abbreviated. Been going off of the publishers listed on Wikipedia, GameFAQs, Nintendo World Report etc.

Company Code Publisher/Description
0001 Nintendo
0002 Typo used by v2 of "c (CaffeineTestTool_For_Prod.rpx) (ALL)"
0008 Capcom
0013 Electronic Arts
002P The Pokémon Company
0036 Codemasters
0041 Ubisoft
004Q Disney Interactive Studios
0052 Activision
0054 2K
005G Majesco
0069 EA Sports
006H BBC
006V Nordic Games
0078 THQ
007W Carbon Fire Studio
007X Nyamyam
007Y RingZero Game Studio
007Z WaterMelon
008P Sega
008R Ludosity
008S From Nothing Game Studios
008U RCMADIAX
008V ZeNfA Productions
008Z 2020 Venture
0091 Spike Chunsoft
0099 XSEED Games
009T Fuzzy Wuzzy Games
009U Arbelos Interactive
009V Wales Interactive
009W BeautiFun Games
009X PhobosLab
009Y Eclipse Games
009Z Crunchyroll
00AF Namco Bandai Games
00AS Dark Roast Entertainment
00AT CoderChild
00AV Rain Games
00AW Henchmen Studios
00AY Yacht Club Games
00BR Maestro Interactive Games
00BU Ynnis Interactive
00BV Squids Odyssey
00BX CW-Games
00C8 Tecmo Koei
00CR Dark Horse Books
00CS Dakko Dakko Limited
00CX Black Forest Games
00CY Ripstone
00DU Mojang AB
00DV Farsight Studios
00DW Delirium Studios
00DY Keen Games
00DZ Moving Player
00E9 Natsume Inc.
00EB Atlus
00ET Joindots
00EX Tomorrow Corporation
00EY Vblank Entertainment
00FV Hörberg Productions
00FY BiP Media
00FZ Frozenbyte
00G9 D3 Publisher
00GD Square Enix
00GT 505 Games
00HF Level-5
00HL Frontier Developments
00HQ Abstraction Games
00J8 Konami
00JF Aksys Games
00JJ Deep Silver (USA)
00JR Engine Software
00JW Nacon
00JX Shin'en Multimedia
00KM Deep Silver (EUR)
00LF KEMCO
00LW
00LY
00ME
00NK
00NN
00NS
00NT
00NV
00Q4
00QC
00QE
00R0
00R5
00R7
00R8
00RG
00RV
00S6
00SA
00SE
00SF
00SS
00T2
00T6 Flyhigh Works
00TD
00TF
00TJ
00TL
00TW
00TY
00TZ
00U6
00UA
00UB
00UC
00UE
00UP
00UZ
00V0
00V3
00V4
00V9
00VA
00VB
00VC
00VD
00VE
00VF
00VW
00VZ
00W0
00W1
00W4
00W5
00W6
00W7
00W8
00W9
00WB
00WD
00WH
00WR
00WY
00X9
00XB
00XN
00XQ
00XS
00XT
00XY
00Y4
00YD
00YF
00YG
00YM
00YR
00YT
00YV
00ZR
0102
0103
0108
010C
010E
010L
010M
010N
010P
010Q
010V
010Z Unity Games Japan
0111
0113
0115
0116
0119
011A
011C
011D
011F
011H
011P
011R
011S
011X
011Y
0127
0128
0129
012A
012C
012F
012J
012P
012Q
012S
012U
012Y
0130
0134
0136
0137
013A SOEDESCO
013H
013J
013P
013Q
013R
013S
013T
0142
0146
0147
0148
0149
014A
014D
014J
014K
014L
014P
014T
014U
014V
014W
014Z
0157
015D
015G
015J
015K
015L
015R
015S
015U
015V
015W
015Y
0164
0167
0169
016D
016E
016G
016J
016V
016X
016Z
0170
0171
0172
0173
0175
017B
017C
017D
017E
017F Alliance Digital Media
017G
017H
017J
017K
017L
017M
017P
017T
017W
017X
017Y
017Z
0182
0183
0184
0185
0186
0188 Microsoft Japan
0189
018D
018G
018L
018P
018Q
018R
018S
018W
018X
018Z
0190
0191
0195
0198
0199
019A
019D
019G
019H
019K
019M
019P
019Q
019T
019X
0202
0206
0207
0209
020A
020K
020P
020Q
020V
020W
020X
020Z
0210
0212
0215
021D
021F
021G
021Q
021T
021V
0222
0225
022P
022Z
0231
0237
023A
023B
0246
024G
024V
024X
025N
025V
025X
026S
026Y
028N
029S
029Z
030Q
031J
0326
0339
ZZZZ Placeholder used by many titles

Title Database

If a title's company code changes between versions, then all values should be listed (in order of highest version to lowest version) with parentheses detailing what versions use each value.

If a title does not include a meta.xml, then its company code should be left blank.

Region

TODO

Title Database

TODO

Source

TODO

Title Database

TODO