Recently, I've been working on improving Dolphin's ability to tell users whether their dumps are good or not. (https://github.com/dolphin-emu/dolphin/pull/7922, if you're interested.) What really would be nice to have is the ability to check whether the user's hash matches the hash in the Redump database, but I'm not sure what the best way to do that would be.

What would be ideal is if Dolphin had a way to map game ID+revision+disc number to a hash, either using a local copy of a database or by querying redump.org through some kind of API. (In case you're not familiar with GameCube/Wii games, the game ID can be obtained from the Serial field in the Redump database.) The intended way of doing something like this seems to be to use the downloadable dat files, but they don't contain game IDs, so all Dolphin would be able to do is check whether the user's hash exists in the database. What this means is that if the user's hash isn't in the database, Dolphin can't tell whether this is because the user has a bad dump or because the user has a dump of a disc that isn't in the database yet. So I would like to avoid using a database that doesn't contain game IDs if possible.

The only currently available alternative I can see that would be able to do what I want is sending HTTP requests to redump.org like a normal user browsing the website and then parsing the results. This works, but having to parse the HTML is annoying and can lead to things breaking if the website changes the structure of its HTML. Does this sound like a good or bad idea, both in terms of whether the HTML structure can be expected to stay the same and whether redump.org is fine with the extra load? (If this is implemented, Dolphin would only connect to redump.org if the user specifically presses the verify button for a game, so I hope the load won't be too high.)

Or is there a possibility of Redump releasing dat files with additional fields (serial, version, etc...) or making a web API available?

A problem with this - the serial field is for the disc label serial, not the disc image header serial. It usually matches, but doesn't always. Maybe redump should start cataloging the header serials?

My want list
Able to dump: GC , Wii, Wii U | GBA, DS(i), 3DS

Hiccup wrote:

A problem with this - the serial field is for the disc label serial, not the disc image header serial. It usually matches, but doesn't always. Maybe redump should start cataloging the header serials?

I'm not aware of any discs like that other than http://redump.org/disc/10000/ (which seems like a somewhat suspicious dump since everything beyond the first four bytes apparently is identical to http://redump.org/disc/7249/). Do you have any examples, other than that one?

I would really like that our admin pays some atention, seems like a great iniciative and Jos has helped A LOT to the whole group.

A redump.org API in general would be absolutely great for emulators, ROM Managers, and many other uses. Please implement one! If you don't have the time to make it yourself, maybe consider granting someone else (such as fireball maybe?) access to the redump code so they can add such a feature?

PX-4824TA (offset +98), PX-716A (offset +30)

6 (edited by Landcross 2019-03-29 12:37:00)

I agree that any form of API would be a great, great addition to Redump.

Though, I can imagine there are also drawbacks to a Redump API. It would probably increase the server load (imagine all thousands of Dolphin users querying the API), especially when more rom managers/emulators/launchers will use it. And it would increase the 'risk' of someone scraping Redump and 'stealing' the data. Though, it's of course a point of discussion whether the data is really a property of Redump tongue

Or, maybe not an online API, but an 'offline' one that generates a json/xml file for offline use. Where a user would select which data (maybe even from a limited selection, e.g. only hashes, titles, editions and serials) he/she wants and then Redump generates a file. It would at the very least be much less of a strain on the server.

BUMP.

Calling iRobot.

JosJuice wrote:

is there a possibility of Redump releasing dat files with additional fields (serial, version)

If you want to have it, I can make it happen.

What will you do about discs which don't have a serial or version, though?
http://redump.org/discs/system/gc/sort/serial/?page=1

PX-760A (+30), PX-W4824TA (+98), GSA-H42L (+667), GDR-8164B (+102), SH-D162D (+6), SOHD-167T (+12)

iR0b0t wrote:
JosJuice wrote:

is there a possibility of Redump releasing dat files with additional fields (serial, version)

If you want to have it, I can make it happen.

That would be very nice. For Dolphin's purposes, the serial and version are the only things that really are needed (in addition to the hashes, of course). The disc number would also be convenient to have, but it can be determined based on the serial.

iR0b0t wrote:

What will you do about discs which don't have a serial or version, though?
http://redump.org/discs/system/gc/sort/serial/?page=1

I don't think there's anything we can do with those unlicensed discs other than checking whether the hash is in the database or not. A lot of those discs even share the name that is displayed in the GC IPL, so there really isn't anything good to go on other than hashes.