mirror of
https://github.com/SabreTools/MPF.git
synced 2026-02-08 21:31:47 +00:00
Extract DMI String to !submissionInfo.txt #112
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @Whovian9369 on GitHub (Mar 22, 2019).
Originally assigned to: @mnadareski on GitHub.
Extract the "DMI String" from DMI.bin automatically.
Maybe not automatically do "Serial"/"Version"/etc but having the string would help many.
@ajshell1 commented on GitHub (Mar 26, 2019):
[NOTE: This only applies to Xbox and Xbox 360 discs]
I agree with this, except I think automatically extracting the serial and version would be trivial once you get the DMI string.
Here's some basic info about DMI strings:
For Xbox, let's consider Fuzion Frenzy (USA). It's DMI string is formatted like this:
MS00202A
An identical string can be found on the ringcode.
This can be broken down as follows:
The first two characters are the publisher ID. In this case, it's MS (Microsoft)
The next three numbers are used to uniquely identify each game. In this case, it means that this is Microsoft's 002nd game for the system (or at least to be added to the serial system). The numbers themselves aren't unique. There can also be EA0002, AV0002. Unlike Playstation serials, this serial is the same for US and European versions of the game.
Those first two parts come together to form what Redump considers the serial. However, we format it like "MS-002".
The next two numbers are stored in Redump as the version. In this case it's 02. Thus, we store it as version 1.02. Is this really the way that Xbox developers thought of it? Possibly. I also suspect it may be used to indicate the region it was released in, as the European version is 1.03. However, there seems to be no pattern of which region gets which version number.
Following that is letter that indicates the disc region. This only determines if a disc will play in a region's console or not. We used to use this to say which region a game was, but now we only list it as the region(s) it was dumped in. It's still handy to know I guess, so I'll list what they mean. (taken from here: http://forum.redump.org/topic/6073/xbox-1-360-dumping-instructions/ )
W = World
A = USA (America)
J = Japan (or Asia)
E = Europe (might be Germany only for example, or any other European country)
K = (USA, Japan) or (USA, Asia)
L = (USA, Europe)
H = (Japan, Europe)
I've also seen the "E" region be listed as "Rest of the World", in the sense of "Everything other than USA/America and Japan/Asia".
Xbox 360 DMI strings are rather similar.
Let's consider Lost Odyssey (Disc 1) (USA, Europe)
Unfortunately, that game's ringcodes don't match the string (368DE6DD). However, each database entry corresponds to one set of ringcodes. So any 360 disc with "368DE6DD" on the ringcodes will match, regardless of disc manufacturer.
MS204203W0X14
This looks similar to the Xbox DMI string, but longer
MS is still the publisher, but the game# is now 4 characters long. It's MS-2042 this time. The version numbers follow, so it's 1.03, and the internal region is World. I don't know what the 0 and X stand for, but the two numbers at the end only apply for multi-disc games. In this case it means "Disc 1 of 4".