GameID Confirmation Guide

From Dolphin Emulator Wiki
Revision as of 22:25, 3 December 2017 by Kolano (talk | contribs) (Source with caution)
Jump to: navigation, search

This will be an in-depth guide going through all the steps to quickly and consistently add reliable GameIDs to the wiki. It's not particularly hard to do, however it can be tedious and sometimes requires investigation for obscure titles. However, once an understanding is reached of how IDs work and how best to use the resources available, most GameCube or Wii IDs can be added or confirmed without too much trouble.

How are IDs formatted?

Every ID is a unique six-character code made up of letters and numbers which identifies a specific version of every Wii or GameCube title. Each character holds its own meaning in the ID, as follows:

  • Character 1 says what console the title was released on, or in the case of the Wii, it can be used to determine whether it's a WiiWare title, a Virtual Console title (and which Virtual Console specifically), or a retail title.
  • Characters 2 and 3 are the two unique characters which identify the actual title. Though there are some rare exceptions (usually Japanese releases), this normally stays consistent through all the different versions of a specific title. This can be used to find out when the wiki is in error, and two titles with separate pages are actually the same. See R8XE52 and R8XZ52 as an example.
  • Character 4 is the region code. This is the most common changed character between different IDs for a single title and probably the most useful. By knowing the regions a title is released in, looking for missing region codes can help greatly in spotting missing IDs. Therefore, knowing correct release data for a title is crucial to knowing which IDs are valid and which IDs are missing.
  • Characters 5 and 6 reflect publisher, and these are the most confusing of all characters as they can be all over the place depending on the title. Sometimes titles will have different publishers for each region, the same publishers in all regions except one, all the same publisher, the same publisher but with a different last two characters that's actually valid, etc. However, they do follow patterns, even though they may be confusing; see GameIDs for a listing of known IDs.
  • Note that for Virtual Console titles, each emulated console gets a unique publisher ID that stays uniform for the console. For example, all Sega titles have publisher code 8P. This means that only the prefix is needed for confirmation of Virtual Console IDs as the final two characters can be filled in without much hassle. The chart below shows all known Virtual Console publisher IDs.
Virtual Console Publisher IDs
System Code
Commodore 64 GX
Neo Geo, MSX J8
Sega Master System, Sega Genesis 8P
NES, Super Nintendo, Nintendo 64 01
TurboGrafx-16, TurboGrafx-16 CD 18

How does the wiki handle IDs?

The ID database here works off of redirect pages, each ID being its own wiki page which simply contains a redirect to the page of the game the ID is for. This makes adding a GameID to the wiki rather simple on a technical level. As an example, suppose ID "GALE01" was for the game Super Smash Bros. Melee; it was created simply as a new page on the wiki titled exactly "GALE01", and then its contents were written as #REDIRECT [[Super Smash Bros. Melee]].

The game page will pick up the IDs automatically within {{Infobox VG}} with the help of DPL. It works by looking through redirect pages to find the matching title it's about to redirect to itself, and then output the titles of those redirect pages.

  • Please note that when adding a new ID it takes a little while for the page's infobox to pick it up, so don't be alarmed if it doesn't pop up right away. For those who are impatient, a new ID can be forced to show up with purge.

Good sources

The following is a list of publicly available sources for obtaining both GameCube and Wii IDs, in order of complete to incomplete ID.

A personal dump

Since GameIDs are used for integration between Dolphin and the wiki, the database here has to align to what Dolphin gives for different games (given that the dump is valid). Therefore, the perfect source of IDs for the wiki is by obtaining them through Dolphin itself. However, this requires owning a copy of the game, being capable of dumping it, and viewing its properties within Dolphin.

Nintendo's Update Server

Nintendo's update server is publicly accessible from any web browser, and allows anyone to freely download TMD files with title information. This can be done by using the following link:

http://ccs.cdn.shop.wii.com/ccs/download/00010001<ID prefix>/tmd

The <ID prefix> bit needs to be replaced with the first four characters of the ID being confirmed in hex (here is a working link for prefix JALT as an example). If the prefix exists, a download will begin for an extensionless file named "tmd"; otherwise, a 404 will be reached. This file can then be opened with a hex editor, and the full ID can be seen (with a small gap between the prefix and publisher code) around halfway through the file in cleartext.

The major problem with this method is that it can only be used for ID confirmation and not addition, since the prefix must be known ahead of time. There's been efforts to scrape the entire update server for all TMDs and therefore never run into this problem, but the work is still pending.

Redump.org (incomplete ID)

Redump.org is a trustworthy site dedicated to disc preservation across many different game consoles; its archives can be considered close to the game's cover in validity. When there's no good cover scans available for a title, this is the next most verifiable source for IDs available. The site itself also includes some helpful formatting, such as showing region flags next to the IDs in the database and listing game languages to pinpoint where European IDs had their release. Redump's main flaws are: a) it uses the same four character prefixes that game covers do, and b) it only includes GameCube games, no Wii data is available. On top of having only the four character prefixes, Redump doesn't document any publisher data like the cover does, so piecing together the last two characters is even more challenging. In conclusion, Redump is a great place to check outlier GameCube IDs, but it doesn't quite have enough information on its own overall to be a good main source.

The game's cover/disc (incomplete ID)

On the back of all GameCube and Wii games (besides Asian releases where it's on the front), near the barcode, the Game's ID will actually be printed out. This makes searching for a scan of the game's cover a viable means of confirming IDs. The ID is also printed directly on the disc as well, in the little subscript text along the edge. This can be considered a perfectly reliable source, however the ID on the cover uses a different format from those used in Dolphin; namely, the four character product code is used, which leaves out the publisher code. The publisher code can be pieced together using the publisher information on the cover, separate sources like GameTDB, and the GameIDs page if need be, however complete reliance on these sources is not recommended.

While this may theoretically be a good source of IDs, in many cases certain games just might not have high quality cover scans publicly available. If a cover scan for a game cannot be acquired using normal sources (GameFAQs, GameTDB, MobyGames, etc.), eBay is another possible option. A lot of listings use high resolutions pictures of both sides of the game's box or the disc, from which the ID prefix can be obtained. By knowing the regions of a game's release, region-specific eBays can be used to further narrow the search; for example, there's an Australian eBay, a British eBay, a German eBay, and a Swedish eBay called Tradera, among others. Since these aren't databases, keep in mind listings will come and go and results may vary, so results may be hit or miss. Note also that for the best results it's more effective to use the title of the game in the language of the region, which can be obtained from GameTDB or Redump. Below is a chart listing online auction sites in various countries for convenience.

List of online auction sites by region
Region Site
Australia eBay
France eBay
Germany eBay
Ireland eBay
Italy eBay
Japan Yahoo!
Netherlands eBay
North America eBay
Spain eBay
Sweden Tradera
Taiwan Yahoo!
United Kingdom eBay

Source with caution

GameFAQs

GameFAQs, on the whole, is a terrible place to get IDs, plagued with filled-in ID characters and false assumptions between different regions. But as it is recommended to find release data for games while doing ID confirmation, GameFAQs ends up being a high priority visit anyways as their release information is extremely good. The rule of thumb here is, never trust GameFAQs' IDs without a second source. The first three characters are all that can reliably be obtained from them; not only do they omit the publisher code again, they also just fill in the region code by the region of release, NOT what the ID actually is. So do NOT blindly trust the region codes from GameFAQs; instead check their uploaded covers instead.

GameTDB

GameTDB is huge and contains almost all GameCube and Wii IDs and covers, along with some other miscellaneous data like game languages similar to Redump. The problem though is that GameTDB is not as reliable. There are invalid entries on GameTDB, low resolution/wrong covers making it hard to check entry validity (___X__ region European IDs having ___P__ region covers as a consistent problem), questionable developer and publisher information, etc. The actual IDs though are generally correct, and this is the only source other than a personal dump or the NUS that contains full 6 character IDs like the Dolphin wiki uses. Because this is pretty trustworthy but not perfectly so, it is still recommended to check against one of the more reliable sources above before mindlessly posting IDs from GameTDB onto the wiki. However, in the case of a retail Wii game with no good cover scans for example, this becomes the most reliable source and there's no choice but to trust it until someone with the game can confirm/deny the ID directly.

Keep in mind that the way the website is organized, every single ID has a set of links at the top that allows instantly browsing to the next or previous ID alphabetically. At first this might seem like an oddity but it's one of the best features of the site. This can be useful for example in cases where the wiki erroneously contains two separate pages for the same game, as they will often come next to each other in an alphabetical listing. Multi-region releases of games often don't share a name between countries, so sometimes overseas if a publisher is not clear that it's the same title, databases can get confused and list them as separate. The one flaw with the next/previous ID system is that GameTDB lists hacked IDs in along with their normal IDs, so for very popular titles like New Super Mario Bros. Wii for example, many page loads would have to be gone through to reach the official IDs for the game. In these situations, try and use GameTDB's .txt inventory of all IDs instead, which can be acquired here (starts download).

ID abnormalities

Currently the wiki is undergoing an effort to try and understand some of the odd IDs that can appear. Examples of this would be games which have a different first three characters for different region releases (usually happens with Japanese versions), special Walmart/Best Buy release versions, strange region codes, etc. In these cases, it's recommended to add a little sentence on the ID's page below the redirect with a few details about the ID (however it is not required). It won't interfere with the function of the ID or with the redirect, unless a second [[link]] is added to the ID page after the redirect. This currently breaks some wiki functionality and should not be done.

Miscellaneous tips

DPL

Because this is a wiki, there's a nearly Turing-complete scripting language and all its extensions available to find patterns in the wiki's IDs. The most useful of those extensions is DPL. DPL is the primary method used on the wiki for interacting with IDs both inside and outside of templates, and a familiarity with it is almost crucial. Take the following as a small example of what be done:

{{#dpl:titlematch=____28|ordermethod=lastedit|order=ascending|redirects=only|mode=inline|inlinetext=<nowiki>, </nowiki>|notcategory=Not GameID|notcategory=Unofficial GameID}}

This gives an output of:

GEMJ28, GBMJ28, GUSJ28, GP9J28

What this does, is finds all IDs on the wiki with publisher ID 28 (i.e. Kemco), and lists them from the last edited to the most recent. With this someone could easily go through and add an edit to each ID, and the same DPL would update during the process to keep the oldest edit on top.