SmartIdentifer: Heuristically determine ROM information by analyzing the ROM file.
Closed this issue · 1 comments
chyyran commented
Identifiers are redundant for many ROMs and require knowledge of the ROM type.
The SmartIdentifier proposal is where Snowflake is able to intelligently determine the type and console of ROM through advanced heuristics. ROMs can be determined by their headers, or if lacking should fall back to MD5. Snowflake must be aware of which types of ROMs have headers, what to look for in what format, and what checksum is returned. The SmartIdentifer should return a ROMInfo object noting human-friendly name, the filename, and the checksum of the ROM. SmartIdentifier should integrate with awagame databases or OpenVGDB to find information not available in the ROM.
List of platforms with comprehensible ROM headers
- NINTENDO_GB/NINTENDO_GBC
- NINTENDO_SNES
- SONY_PSX
- SONY_PS2
- SONY_PSP goto offset 0x8373 to find ROM ID
- NINTENDO_WII look for 0x5D1C9EA3 at 0x018
- NINTENDO_NDS
- NINTENDO_GCN look for 0xC2339F3D at 0x01C
- SEGA_GEN
- SEGA_CD
- SEGA_32X
- SEGA_GG