GerbilSoft / rom-properties

ROM Properties Page shell extension
GNU General Public License v2.0
466 stars 35 forks source link

[Feature Request] Add Hash and Other Information #408

Open mightymo77 opened 7 months ago

mightymo77 commented 7 months ago

ROM Properties is an excellent tool. Please consider adding more information, such as the CRC32, SHA-1, MD5, region (this is implemented for some file types already), year of release, etc. That would make this tool really exceptionally helpful.

cheatfreak47 commented 7 months ago

rom-properties doesn't contain a database of data to operate (for the most part) stuff like release date would need something like that, which is not really within it's scope I'd imagine. As for Hash data, that's a cool idea but a more general use hash extension exists already for Windows at least here.

mightymo77 commented 7 months ago

rom-properties doesn't contain a database of data to operate, stuff like release date would need something like that, which is not really within it's scope I'd imagine. As for Hash data, that's a cool idea but a more general use hash extension exists already for Windows at least here.

OK thank you, and completely understandable about the database. Open Hash Tab is awesome, will replace my old tool with it. You should really consider displaying hashes within ROM Properties.

GerbilSoft commented 7 months ago

To add on to this: File types that support region codes or copyright years have those values embedded in the file somewhere. For example, Mega Drive ROMs have a region code at 0x1F0.

Adding a HashTab-like function might be worth considering, though the question is which hashes should be included. GNU Nettle and Windows 7 both have native support for MD5, SHA-1, SHA-256, and SHA-512. (CRC32 is available through zlib.) [Windows XP has SHA-256 and SHA-512 only if SP3 is installed.] Newer algorithms like SHA-3 are supported by Nettle, but were only added in Windows in Windows 11, and require switching to CryptoAPI NG.

cheatfreak47 commented 7 months ago

I feel like a general purpose multiplatform open source hash-tab thing would be nice as a completely separate shell extension project from rom-properties, it makes more sense as a seperate thing in general I think

basically open hash tab but with the same portability and platform support as rp, and more options for hashing algos where possible or whatever

mightymo77 commented 7 months ago

To add on to this: File types that support region codes or copyright years have those values embedded in the file somewhere. For example, Mega Drive ROMs have a region code at 0x1F0.

Adding a HashTab-like function might be worth considering, though the question is which hashes should be included. GNU Nettle and Windows 7 both have native support for MD5, SHA-1, SHA-256, and SHA-512. (CRC32 is available through zlib.) [Windows XP has SHA-256 and SHA-512 only if SP3 is installed.] Newer algorithms like SHA-3 are supported by Nettle, but were only added in Windows in Windows 11, and require switching to CryptoAPI NG.

I would recommend including what the No-Intro .dat files search for, which are: CRC, SHA1 and SHA256. These hashes included in ROM Properties would be extremely helpful, or perhaps convenient.

GerbilSoft commented 7 months ago

I might consider adding a basic hash tab type thing for GTK+ and Windows that supports CRC32, MD5, SHA-1, SHA-256, and SHA-512. (KDE already has a Checksums tab with MD5, SHA-1, SHA-256, and SHA-512, so there's no point in duplicating that. Might submit some patches to add CRC32 later, though.)

60fpshacksrock commented 7 months ago

If this is added, could it be an option on the RP tab of Explorer? Otherwise, scanning all of the files in a Explorer windows consistently would really cause a lot of HDD/SSD I/O and stress/usage making the PC really sluggish.

GerbilSoft commented 7 months ago

I'm thinking of porting KDE's Checksums tab to Windows and GTK, plus CRC32. There's individual buttons to calculate each individual checksum.

Also looking into adding a progress bar to the KDE version and submitting that change upstream.

https://i.imgur.com/XTANn21.png XTANn21